cg 可编程图形管线

GPU渲染流程图在这里插入图片描述

本图来源:Programmable_Graphics_Pipeline

上图中蓝色box为数据,灰色box为固定单元阶段,绿色box为可编程阶段。

在OpenGL ES 1.x,core OpenGL 1.x, Direct3D 7.x时期,渲染是可配置的固定单元管线(fixed-function pipelines),无法在管线中使用程序片段。到了OpenGL(ES)2.0,WebGL,Direct3D 8.0后,两阶段(vertex shader stage和fragment shader stage)管线支持编程。

Rasterization(光栅化)详见:这里
Per-Fragment Operations详见:这里

数据流

要对cg的vertex和fragment shader进行编程,对他们的输入、输出数据的理解,以及掌握图形管线不同阶段之间的数据交互是至关重要的。
在这里插入图片描述
注意:
SV_POSITION中SV指“system value”
PSIZE指点状几何体的尺寸(size of point primitives)
在Fragment shader阶段,会默认计算depth,即使不指定输出参数DEPTH
Per-Fragment Operations执行了很多操作。详见上面提供的链接。

发布了198 篇原创文章 · 获赞 23 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/iningwei/article/details/100570014