2011-10-09 17 views
0

這裏有兩個版本的HLSL頂點着色器輸入如何獲得質地的正確類型的座標頂點着色器輸入在DX9

結構VS_INPUTS_0 { FLOAT3排名:POSITION; float2 Tex0:TEXCOORD0; }

結構VS_INPUTS_1 { FLOAT3排名:POSITION; float3 Tex0:TEXCOORD0; }

唯一的區別是Tex0的float2和float3。是否有DX9 API來獲取正確類型的Tex0來指示Tex0的類型是float2還是float3?

回答

1

對於DX9,據我所知,DX9會自動修補着色器。也就是說,如果像素着色器預計float2,並且頂點着色器提供float3,它仍然可以工作。使用DirectX10/11,您可以使用着色器反射來查詢編譯的着色器並找出它的期望。

問題是:「正確的類型」是什麼意思?這完全取決於你的像素着色器,單靠頂點着色器還不足以決定。

+0

謝謝。這個問題與我認爲的像素着色器無關,因爲我想獲得頂點着色器輸入的正確類型信息。 – giggle

相關問題