DirectX 9:顶点着色器属性源

时间:2009-07-10 17:44:13

标签: directx shader

这是关于DirectX 9的。

在使用顶点着色器渲染的典型情况下,设备中设置了一个或多个流源,并使用顶点声明定义源数据的格式。

现在,如果使用的顶点着色器需要一些属性(例如,一个具有D3DDECLUSAGE_NORMAL和UsageIndex 1或2),但提供的顶点声明不包含该属性(即,流源中提供的数据不包括那个属性),并调用DrawPrimitive,DirectX在哪里获取该属性的值?

2 个答案:

答案 0 :(得分:0)

DirectX 9规范为未声明的属性定义“默认”值,通常为(0,0,0,1)。设备驱动程序或GPU会创建它们。

答案 1 :(得分:0)

“如果顶点流中的数据包含的组件少于相应的着色器数据类型,则缺少的组件将初始化为0(w除外,它被初始化为1)。”

取自“Windows DirectX图形文档(2009年8月)”

内容> HLSL>编程指南>在Direct3D 9中编写HLSL着色器>改变着色器输入和语义