如何將資源綁定到D3D12中的不同着色器階段?DirectX 12資源綁定
我寫了兩個着色器,一個vertexshader和一個pixelshader:
這裏是頂點着色器:
//VertexShader.vs
float4 main(float3 posL : POSITION, uniform float4x4 gWVP) : SV_POSITION
{
return mul(float4(posL, 1.0f), gWVP);
}
這裏是Pixelshader:
//PixelShader.ps
float4 main(float4 PosH : SV_POSITION, uniform float4 Color) : SV_Target
{
return Color;
}
如果我編譯這兩個着色器與D3DCompile
功能並反映它與D3DReflect
並檢查着色器描述中的BoundResorces成員,他們都有名爲$ Params的常量緩衝區分別包含統一變量。問題是這兩個緩衝區都綁定到了0號插槽。綁定資源時,我必須使用ID3D12RootSignature接口,它可以將資源綁定到資源插槽。如何將頂點着色器的$ Params緩衝區僅綁定到像素着色器的頂點着色器和Pixel着色器的$ Params緩衝區?
由於提前,
Philinator