0
내 셰이더에 데이터 cbuffer1, cbuffer2, cbuffer3 등으로 가득 찬 상수 버퍼가로드되어있는 경우. 런타임에 특정 상수 버퍼에 동적으로 액세스 할 수있는 방법이 hlsl에 있습니까? 이런 식으로 뭔가 ...동적으로 상수 버퍼 선택
cbuffers[1].MyValue
이 아니면 ... 그것은 늘 잘 수행하는 것 같다
if(index == 0){
return cbuffer0.MyValue;
} else if(index == 1){
return cbuffer1.MyValue;
} else if(index == 2){
return cbuffer2.MyValue;
}
이 같은 성명 경우 대규모을 수있는 유일한 방법입니다.
데이터는 동일한 레이아웃이지만 사용되는 버퍼는 다양합니다. 따라서 각 프레임에 결합 된 데이터가 포함 된 새 버퍼를 만들 필요없이 모든 데이터를 단일 버퍼에 저장할 수 없습니다. –