顶点着色器和像素着色器相关

1999年在SigGraph大会上游戏程序员一致希望将算法直接写入3D显卡,于是出现了GPU编程技术.

也就是说,GPU编程技术只发展了不到十年,,但却令3D画面发生了天翻地覆的变化.

可编辑的渲染管理中,我们可以控制的就只有顶点着色器(VS)和像素着色器(PS)部分.

其中像素着色器以从顶点着色器输出的值为基准,对画面输出的像素进行运算;顶点着色器中传递的是使用者输入的值,中间不做任何变化,而像素着色器中传递的是插值.

 

顶点着色器最大的特点是激活输入和输出的顶点的比率是1:1,即同一时间仅仅有一个顶点可以被激活,输入一个顶点,激活,然后输出.在顶点着色器中,所有顶点坐标都是用Vector4来表示的,,矩阵也都是4*4的.在进行顶点与矩阵相乘前,需要通过D3DXMatrixTranspose()来将矩阵转换成转置矩阵,这是因为在顶点着色器中与矩阵的相乘是用矢量与矢量相乘的方式实现的.

通常把world*view*projection的转置矩阵通过SetVertexShaderConstantF(0,(float*)&m,4)存储在C0-C3这4个寄存器中

 

像素着色器的特点是,不对画面输出的所有顶点信息进行运算,而只对经过顶点运算后生成的多边形的像素进行运算.

 

顶点着色器与像素着色器相结合的完整的管道图示,在第406页,此图对HLSL的学习应该很重要,,在此标记备忘.

你可能感兴趣的:(游戏,编程,算法,vector,存储,float)