Posted on 2006-11-24 19:33
繁星 阅读(893)
评论(0) 编辑 收藏 引用
Microsoft DirectX 8.1 (Visual Basic) (pixel shader versions 1.0, 1.1, 1.2, 1.3, 1.4)
Pixel Shader ALU (像素着色器逻辑运算单元)
下图显示了一个像素着色器运算逻辑单元 (ALU) 的平行管线结构。左边的是矢量管线,它操作矢量数据。矢量数据也被叫做颜色数据,包含三个数据通道( RGB )。右边的是一个标量管线,它操作单一一个 alpha 值。管线依照它所操作的数据种类而被分别称为颜色管线和 alpha 管线。
解释说明如下:
Input Registers – 像素着色器寄存器 为 像素着色器 提供 GRBA 输入数据。
Component Copy – 源寄存器选择器 把数据从一个通道复制到另一个通道,这个操作一般被叫做 交叉混合。
Modify Data - 在一个指令被执行之前,源寄存器修饰器 修饰从源寄存器读入的数据。
Execute Instruction - 指令通常用于在像素着色器上实现算术和纹理地址操作。颜色和 alpha 管线并不一定执行相同的指令或者有相同的源寄存器。对于 PS.1.4 ,目的寄存器 可能也可不同。
Modify Result - 在执行结果被写入输出寄存器之前,指令修饰器 修饰执行结果。
Masking - 目的寄存器写入掩码 能控制目的寄存器的哪个分量被指令写入。
Output Register - 在着色器的末尾,像素着色器寄存器 r0 包含最后的输出结果(也就是最后的结果要写入到 r0 中)。
////////////////////////////////////////////////////////////////////////////////////////////////////////
从今以后我会逐渐翻译出MSDN上的PS(1.0-1.4)的内容。水平有限,错误之处再所难免,望请指正。