顶点着色器输入顺序

时间:2010-12-22 18:59:05

标签: c++ directx hlsl

SM 4.0顶点着色器的输入顺序是否重要?

e.g。是

struct App2VS
{
    float3 position : POSITION;
    float4 color : COLOR0;
    float3 normal : NORMAL;
        ...
};

相当于

struct App2VS
{
    float4 color : COLOR0;
    float3 position : POSITION;
    float3 normal : NORMAL;
        ...
};

1 个答案:

答案 0 :(得分:2)

不,不应该。映射信息由输入布局执行。

基本上,输入布局将给定的struct元素映射到特定的输入“register”。然后使用这些输入寄存器加载HLSL使用的结构。 HLSL结构不是真正的内存映射,因为那些输入寄存器(即POSITION或COLOR0)不是实际的内存位置。