메시의 VertexBuffer, IndexBuffer, Texture같은 셰이더 리소스들을 바인딩하는데 성공하였다.
생각보다 엄청 까다로운 작업이었다. 셰이더 안의 TraceRay함수 파라미터를 잘 맞춰주고, LocalRootArgument와 GlobalRootSignature를 shader bind table에 제대로 바인딩 시켜주어야 해서 처음 다루는 입장에서는 엄청 까다로웠다.
하필이면 LocalRootSignature를 초기화할 때 InitAsConstants()의 파라미터를 잘못줘 실제 LocalRootArgument의 크기와 달라 제대로 바인딩 안되는 문제가 생겨 해결하기 위해 하루동안 엄청 고생했다.
InitAsConstants()는 파라미터로 Constants의 크기를 주어야한다. 당연히 sizeof(CB)처럼 사이즈를 Byte단위로 줘야 하는 줄 알았는데, 알고보니 4Byte 크기로 줘야 한다는걸 자세히보니 알게 되었다.
모두 처음 사용하는 함수를 쓸때는 설명을 잘 읽자...