2012-05-09 4 views
0

CUDA에서 레이 - 캐스팅을 사용하여 볼륨 렌더링을 구현했습니다. 이제 장면에 3D 지형과 같은 다른 3D 객체를 추가 한 다음 볼륨 렌더링 결과와 상호 작용해야합니다. 예를 들어, 지형과 겹치는 볼륨 렌더링 결과를 이동할 때 볼륨 렌더링 결과에서 겹치는 부분을 잘라내는 것과 같이 볼륨 렌더링 결과를 변조하고 싶습니다.다음은 Volume Render 결과입니다. 다른 3D 오브젝트와 상호 작용하는 방법

그러나 볼륨 렌더링 결과는 광선을 축적하는 광선에서 유래하므로 깊이가없는 2D 그림입니다. 따라서 상호 작용을 구현하는 방법은 매우 혼란 스럽습니다. 누군가 나에게 힌트를 줄 수 있니?

답변

0

실제로 레이 - 캐스팅의 결과는 2D 이미지라고 생각합니다. 평소처럼 다른 3D 개체와 상호 작용할 수 없습니다. 그래서 제 솔루션은 ray-casting 2D 이미지를 텍스처로 가져 와서 3D 장면에서 혼합하는 것입니다. 뷰 위치와 방향을 제어 할 수 있다면 레이싱 결과를 3D 장면의 정확한 위치에 매핑 할 수 있습니다. 나는 여전히이 솔루션을 구현하려고 시도하고 있지만이 아이디어는 괜찮다고 생각합니다!

2

먼저 3D 래스터 렌더링 된 객체를 렌더링합니다. 그런 다음 깊이 버퍼를 가져 와서 통합 레이션에 대한 추가 제한 사항으로 볼륨 레이 캐스터의 추가 데이터 소스로 사용합니다.

+0

귀하의 조언에 감사드립니다, datenwolf. 그러나 솔직히 말하면, 나는 당신의 단서를 따라 가지 않았습니다. 통합 한계에 대한 추가 제약 조건으로 깊이 버퍼 (다른 3D 객체의 오른쪽 버퍼)를 사용하는 방법 ??? 데모가 있습니까 ?? – TonyLic

관련 문제