顶点着色器和像素着色器的数据处理流程
2016-11-29 17:05
537 查看
顶点着色程序从GPU前端模块(寄存器)中提取图元信息(顶点位置、法向量、纹理坐标等),并完成顶点坐标空间转换、法向量空间转换、光照计算等操作,最后将计算好的数据传送到指定寄存器中;然后片断着色程序从中获取需要的数据,通常为“纹理坐标、光照信息等”,并根据这些信息以及从应用程序传递的纹理信息(如果有的话)进行每个片断的颜色计算,最后将处理后的数据送光栅操作模块。
在应用程序中设定的图元信息(顶点位置坐标、颜色、纹理坐标等)传递到vertex buffer中;纹理信息传递到texture buffer中。其中虚线表示目前还没有实现的数据传递。当前的顶点程序还不能处理纹理信息,纹理信息只能在片断程序中读入。顶点着色程序与片断着色程序通常是同时存在,相互配合,前者的输出作为者的输入。不过,也可以只有顶点着色程序。如果只有顶点着色程序,那么只40对输入的顶点进行操作,而顶点内部的点则按照硬件默认的方式自动插值。例如,输入一个三角面片,顶点着色程序对其进行phong光照计算,只计算三个顶点的光照颜色,而三角面片内部点的颜色按照硬件默认的算法(Gourand明暗处理或
者快速phong明暗处理)进行插值,如果图形硬件比较先进,默认的处理算法较好(快速phong明暗理),则效果也会较好;如果图形硬件使用Gourand明暗处理算法,则会出现马赫带效应(条带化)。而片断着色程序是对每个片断进行独立的颜色计算,并且算法由自己编写,不但可控性好,而且可以达到更好的效果。由于GPU对数据进行并行处理,所以每个数据都会执行一次shader程序程序。即,每个顶点数据都会执行一次顶点程序;每个片段都会执行一次片段程序.
来自《GPU编程与cg语言》
相关文章推荐
- 采购处理二级数据流程
- libnids-1.21 中 IP 分片重组分析之数据结构与处理流程
- 磁共振实验数据SPM8处理流程(完结)
- 机房收费系统可行性研究----处理流程和数据流程
- 数据处理流程
- libnids-1.21 中 IP 分片重组分析 之数据结构与处理流程
- 【手机网络游戏 编程】C#异步socketAPI调用 处理数据的流程
- 基于命令行的mahout软件0.8版本Canopy算法分析的数据处理流程
- 磁共振实验数据SPM8处理流程(继续)
- 银联卡QPBOC处理流程及数据分析
- libnids-1.21 中 IP 分片重组分析 之数据结构与处理流程
- RTSP连接服务器和从服务器接收数据的处理流程
- 面向MapReduce 的数据处理流程开发方法 ------------重点内容摘要
- BLOB类型插入数据的设计思路和处理流程
- Hadoop和Hive的数据处理流程
- 会计处理二级数据流程
- 套接字的内核实现原理以及对数据的处理流程简述
- JavaScript(1)——数据类型、运算符、流程处理、函数
- EST数据处理流程
- Linux icmp 学习笔记 之二 icmp数据处理流程