您的位置:首页 > 运维架构

OpenGL渲染管线

2013-09-20 21:44 267 查看
OpenGL Rendering Pipeline框图,分为顶点变换,图元装配和光栅化,像素着色以及像素运算四个阶段。



1、顶点变换

这个阶段的输入是顶点集以及顶点的属性信息,在个阶段完成这些操作:(1) 对顶点进行变换;(2)逐顶点光照;(3)纹理坐标生成以及变换,变换的顶点信息会传递到一个阶段。

2、图元装配以及光栅化

这个阶段做以下操作:(1)根据顶点的连接信息装配成图元,如线段或者三角形;(2)根据裁剪坐标进行视景体裁剪以及背面剔除;(3)透视除法操作,此时所有顶点被变换到归一化设备空间(NDC);(4)根据设定的视口进行视口变换,得到各顶点的窗口坐标;(4)光栅化:根据各顶点的窗口坐标,生成图元内部像素的窗口坐标,并对各顶点的属性如法线、纹理坐标、颜色等进行插值得到各像素的属性,像素坐标和属性会传递到下一阶段进行处理。

3、像素着色

这个阶段的输入是像素,包括像素的窗口坐标以及各像素的属性,可以通过这些属性进行像素着色,如逐像素光照、贴纹理、添加雾化效果等。这个阶段的输出通常是像素的颜色以及Z值。

4、像素操作

这个阶段根据上阶段输入的像素坐标,颜色以及Z值进行一系列的像素测试,分别为窗口裁剪测试(Scissor test),透明测试(Alpha test),模板测试(Stencil test)以及深度测试(Depth test),通过这些测试的像素就可以根据混合参数与像素位置已有的像素进行混合,得到最终的像素颜色,并更新到帧缓存。

BTW:顶点着色器(Vertex Shader)以及像素着色器(Pixel Shader)分别工作在顶点变换阶段以及像素着色阶段,它们会替代固定渲染管线的功能。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  opengl 渲染管线