D3D11ShaderReflection and Constant Buffer slot

Started by
2 comments, last by Jason Z 12 years, 8 months ago
I have been building a subsystem that sets my parameters via what is generated from ID3D11ShaderReflection , however, I seem to be over looking where the ConstantBuffer register slot can be found. The most obvious thing to me would be to have it in D3D11_SHADER_BUFFER_DESC , but I don't see it in there. How can I get the ConstantBuffer's register slot so I can then set it with the Set??ConstantBuffers ?
Advertisement

I have been building a subsystem that sets my parameters via what is generated from ID3D11ShaderReflection , however, I seem to be over looking where the ConstantBuffer register slot can be found. The most obvious thing to me would be to have it in D3D11_SHADER_BUFFER_DESC , but I don't see it in there. How can I get the ConstantBuffer's register slot so I can then set it with the Set??ConstantBuffers ?


You are looking for the D3D11_SHADER_INPUT_BIND_DESC, which contains the information about where to bind the constant buffer resource. The reflection API can get a little confusing at times, but if you want to see a reference you can take a look at the RendererDX11::LoadShader() function in my engine (see link below for the project page).
Oh I see, that was certainly a bit different than what I was expecting. So the BindPoint variable is the register index, right?
Yes, that is correct.

This topic is closed to new replies.

Advertisement