DirectX/[개인] DirectX11 Volume Rendering

3. 연조직과 뼈 구분하여 Volume Rendering

헛둘이 2025. 2. 25. 00:22

연조직과 뼈를 구분하기 위해 첫번째로 LUT Texture를 만들었습니다.

LUT Texture는 Texture1D 형태로 구현되며 초기값으로 Look-up table이 들어가게 됩니다.

Look-up table을 SRV로 만들어 볼륨이 렌더링될 때 픽셀 셰이더로 넘기면, 픽셀 셰이더에서 볼륨을 렌더링할 때 

밀도값을 이용하여 Look-up table을 샘플링하고, 그 값은 최종 색상에 반영됩니다.

LUT Texture 및 SRV 생성

 - On / Off 기능 구현을 위해 상수버퍼의 구성을 조금 수정하였습니다.

- 16바이트 패딩에 의해 기존에 float fDummy[2]가 있었던 자리에, int형식의 플래그 2개를 만들었습니다.

- Raycast Shader는 이 버퍼를 들고 있다가, 사용자가 G키나 H키를 누르면 이 값을 업데이트하고 다시 GPU로 넘겨줍니다.

RaycastShader의 멤버변수로 ConstantBuffer의 복사본을 소유
InputManager를 통해 키 입력 감지 후, RaycastShader의 위 멤버변수의 속성을 변경 후 GPU로 전달