2014-04-15 3 views
1

I는 I 전화 두 버텍스 및 픽셀 셰이더에 프레임 당 정수 버퍼를 공유하는 경우 :cbuffer 슬롯

VSSetConstantBuffers(0,1,&frameBuffer); 
PSSetContantBuffers(0,1,%frameBuffer); 

모두 HLSL에서 cbuffer 선언 :

cbuffer PerFrame: register(b0) 
{ 
    float1 g_time; 
    ... 
} 

이 특별한 경우에는 두 쉐이더 모두에 슬롯 0을 사용합니다. 내 질문은,이 슬롯은 쉐이더 스테이지와 독립적인가, 아니면 공유되는 것입니까?

다른 말로하면 VertexShader에서 슬롯 0,1,2,3으로 cbuffers를 할당하면 PixelShader에서 다른 cbuffers를 바인딩하기 위해 슬롯 0,1,2,3을 사용할 수 있습니까? 아니면 동일한 cbuffers 여야합니다. VertexShader에서?

+0

나는 * know * (따라서 대답이 아니라 주석이다.)하지만 슬롯이 "... 장치의 0부터 시작하는 배열 ..."로 설명되어 있기 때문에 일반적인 것으로 생각됩니다. –

답변

1

다른 상수 버퍼 일 수 있으므로 별도의 VSSetConstantBuffersPSSetConstantBuffers (등) 메소드가 될 수 있습니다.