@author: 白袍小道
转载表明,查看随缘
前言:
从历史上看,图形加速始于每个像素扫描线上的插值颜色重叠一个三角形,然后显示这些值。包括访问图像数据允许纹理应用于表面。添加硬件
插入和测试z深度提供了内置的可见性检查。
因为它们的频繁使用,使得这些进程被致力于专用硬件的增加的性能。
呈现管道的更多部分和更多功能每一个,都是连续几代添加的。
专用图形硬件相对于CPU的优势是速度,速度是关键。
原因:专注于一系列高度并行的任务。
一、数据并行架构
1、交换率和寄存器
在我们的简单示例中,一个纹理的内存获取延迟了可能导致一个交换变形。
关键词:寄存器,交换,Shader结构,渲染线程,SIMD(单指令多数据流)。
说明:
1.1 简单的Shader执行例子
(小道想说这也是没谁了)
说明:
a、一个三角形片段,采用线程处理,被聚集到一个变换。
b、每次变换都会以四个线程(实际上为32个)处理显示
c、shader 程式将会用5个长指令执行。
d、GPU 的shader在首次交换时执行,直到收到"txr"命令,才会中断。这些都是需要时间去获取数据。
e、第二次变化发生在交换中,shader的第一次三个显示得到处理,知道再次被中断。
f、第三次交换后,又返回继续如此执行。
g、若没有返回指针 在 'txr'命令数据中、前序执行直到找到有效数据。
每次变化都在轮询完成。
1.2 GPU管线:
说明:
绿色可以编程。
虚框的是可选
黄色的是不可编程但可以配置(根据需要)
其中(混合和测试可以在合并阶段中做)
蓝色的就被固定了(搞不了)
二、渲染管线概述
(这个可以在具体处详细说,小道来日再更,嘿嘿)
1、可编程着色阶段
2、着手API
3、顶点着色
4、曲面细分
5、几何着色
6、像素着色
7、合并阶段
8、着色计算