2020 이전/DirectX

상수버퍼 패딩

이상해C++ 2019. 2. 7. 18:19

문제: Constant Buffer create에 실패함



시간에 흐름에 따라 흐르는 셰이더를 구현하기 위해서 시간을 상수버퍼에 넘겨줄 일이 생겼다.


 


이쪽에서 계속 FAILED해서 레지스터 번호를 바꿔도 보고 고민했는데 원인은 CreateBuffer가 16바이트를 요구한다는 것이다.



실제로 필요한 값은 4byte이므로 C++코드 쪽에서 12byte를 패딩해줌. 이제 텍스처가 흐르는것을 확인할 수 있다.


HLSL 코드



상수버퍼