首页 > 其他分享 >04 OpenGL渲染管线

04 OpenGL渲染管线

时间:2024-01-31 22:12:15浏览次数:28  
标签:04 渲染 -- 步骤 OpenGL 观察者 管线

OpenGL做了什么?

坐标系 + 物体 + 摄像机(观察者),经过渲染最后得到二位屏幕的图像。

渲染过程

第一步:首先要初始化一个三角形(定点位置、每个定点的属性),还需要初始化摄像机(观察者)。

第二步:移动三角形,移动摄像机(观察者)。

第三步:以观察者为中心,观察世界。

第四步:投影 --> 把能看到的物体留下,不能看到的删除。

 

 

第五步:把投影好的顶点投射到屏幕上。

第六步:给每个像素染色。

整个渲染过程,类似于一条流水线,每一个步骤得输入数据是上一个步骤的结果数据,当前步骤的结果又是下一个步骤的源头。所以把上面所讲的这些流程步骤叫做渲染管线

渲染管线梳理

整个渲染流程:顶点数据 --> 三维变换 --> 图元装配 --> 剪裁剔除 --> 光栅化 --> 片元着色 --> 混合与测试

 

顶点数据 ==> 位置:规定好三角形每个定点的xyz坐标;颜色:每个定点的RGB颜色;其他数据:法线、uv、切线……

三维变换

图元装配

剪裁剔除

光栅化

片元着色

混合与测试

 

标签:04,渲染,--,步骤,OpenGL,观察者,管线
From: https://www.cnblogs.com/laoyou12138/p/18000223

相关文章

  • Ubuntu22.04 & Win11 双系统hibernate热切换实现
    Ubuntu22.04&Win11双系统hibernate热切换实现目录Ubuntu22.04&Win11双系统hibernate热切换实现修改交换分区或交换文件修改交换分区获取对应硬盘的UUID修改交换文件如何使Ubuntu进入hibernate?参考文章使用命令free-m来查看当前还剩余的内存neo@NeoNeuxs:~$free-m......
  • 洛谷题单指南-暴力枚举-P1088 [NOIP2004 普及组] 火星人
    原题链接:https://www.luogu.com.cn/problem/P1088题意解读:火星人的手指可以通过全排列来表示数字,全排列由小到大的顺序即为表示的数字大小,题目可以转化为:给定按顺序全排列中的某一个排列,求往后数m个排列的内容。解题思路:此题与经典全排列问题的差异在于,需要从指定一个排列开......
  • PLSQL重命名表的方法和报错解决方法ORA-01765 ORA-14047
    重命名办法在PLSQL中重命名表,在表上点右健选重命名。 报错ORA-01765若不是本用户,会报错:ORA-01765:不允许指定表的所有者名称。 解决方法,使用RENAME命令在PLSQL执行不会报错。示例:ALTERTABLEuser1.log_tablenameRENAMETOlog_tablename_back20240131; 报错ORA-14047......
  • Kali学习笔记-04-利用SQLmap实现SQL注入
    Kali学习笔记-04-利用SQLmap实现SQL注入KaliLinux网络安防一、SQLmap简介SQLMAP是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL和SQL注入漏洞,其广泛的功能和选项包括数据库指纹,枚举,数据库提权,访问目标文件系统,并在获取操作权限时执行任意命令。SQLMAP是开......
  • OGG-00303 Problem at line 37. Expecting file, table, or record definition: TimeZ
    由于源端和目标端表结构不一致(列顺序有差异),因此使用def文件来同步。在源端配置好def文件后,启动复制进程报错,具体信息如下:2024-01-3111:24:16ERROROGG-00303OracleGoldenGateDeliveryforOracle,r_bszj.rp:Problematline37.Expectingfile,table,orrecorddefin......
  • FFmpeg和Monibuka拉取rtsp(大华摄像头)视频流时未进行URLCode编码导致提示404等报错
    场景Monibucav4(开源流媒体服务器)在Windows上搭建rtmp服务器并实现拉取rtsp视频流以及转换flv播放:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/132474126Nginx搭建RTMP服务器+FFmpeg实现海康威视摄像头预览:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/articl......
  • CF1904C Array Game
    题目传送门codeforces洛谷题目大意给你一个由\(n\)个正整数组成的数组\(a\)。在一次操作中,选取\((i,j)\),将\(|a_i-a_j|\)加到\(a\)的末尾。你的任务是在执行\(k\)操作后,最小化最后数组\(a\)的最小值。思路分三种情况:\(k\geq3\)时,我们可以取两次相同......
  • Vulkan学习苦旅04:创建设备(逻辑设备VkDevice)
    设备是对物理设备的一种抽象,使我们更加方便地使用它。更准确地说,应该称其为“逻辑设备”,但由于逻辑设备在Vulkan中极为常用,后面几乎所有的API都需要它作为第一个参数,因此在Vulkan中直接简称为设备。1.实例、物理设备与设备的关系在之前的几篇文章中,我们依次创建了实例和物理设......
  • openssh 9.6交叉编译ls1043
    准备工作zlib:官网下载:https://www.zlib.net版本:zlib-1.2.2.tar.gzopenssl:官网下载:https://www.openssl.org/source版本:openssl-1.1.1k.tar.gzopenssh:官网下载:http://www.openssh.com/portable.html阿里云镜像:https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable......
  • vs+qt中使用opengl及关键报错“无法打开包括文件: no such file or directory”与“err
    参考链接https://blog.csdn.net/qq_22533607/article/details/79792083http://t.csdnimg.cn/T8II5http://t.csdnimg.cn/JP8k7基础准备:vs中配置qt插件(略)关键步骤:创建QtWidgetApplication项目将BaseClass修改成QWidget,方框中的内容可以不勾,个人习惯ui文件中添加open......