볼륨 레이 주물
Volume ray casting볼륨 레이 캐스팅(Volumetric Ray casting), 볼륨 레이 트레이싱(Volumetric Ray tracking) 또는 볼륨 레이 마칭(Volume Ray marching)이라고도 하는 볼륨 레이 캐스팅은 이미지 기반의 볼륨 렌더링3D 볼륨 데이터 세트(3D 스칼라 필드)에서 2D 영상을 계산한다.볼륨 데이터를 처리하는 볼륨 레이 캐스팅은 표면 데이터를 처리하는 레이 트레이싱에 사용되는 의미에서 레이 캐스팅으로 오인해서는 안 된다.체적 변종에서 연산은 표면에서 멈추지 않고 물체를 "밀어서 통과"하여 물체를 광선을 따라 표본으로 추출한다.레이 트레이싱과 달리 볼륨 레이 주물은 이차 광선을 발생시키지 않는다.[1]맥락/응용이 명확하면 일부 저자는 단순히 그것을 레이 캐스팅이라고 부른다.[1][2]레이 행진은 레이 교차점 및 충돌에 대한 정확한 해결책이 반드시 필요한 것은 아니기 때문에 레이 추적이 부적합한 많은 애플리케이션의 실시간 컴퓨팅에 적합하다.
분류
볼륨 레이 주조 기법은 렌더링 방정식에서 직접 도출할 수 있다.그것은 매우 높은 품질의 렌더링 결과를 제공한다.볼륨 레이 캐스팅은 객체 기반 기법의 경우와 마찬가지로 입력 볼륨 데이터가 아닌 출력 영상에서 연산이 나오기 때문에 이미지 기반 볼륨 렌더링 기법으로 분류된다.
기본 알고리즘
기본 형태에서 볼륨 레이 주조 알고리즘은 다음 4단계로 구성된다.
- 레이 캐스팅.최종 영상의 각 픽셀에 대해 한 줄기 광선이 볼륨을 통해 촬영("캐스트")된다.이 단계에서 시선과 볼륨을 교차시키는 데 사용되는 단순한 기하학적 물체(대개 큐보이드)인 경계된 원시적, 즉 단순한 기하학적 물체 내에서 만지고 감싸지는 볼륨을 고려하는 것이 유용하다.
- 샘플링.체적 내에 있는 가시광선 부분을 따라 등거리 표본 추출 지점 또는 표본을 선택한다.일반적으로 볼륨은 시선과 정렬되지 않으며 샘플링 포인트는 복셀 사이에 위치하게 된다.그 때문에 주위 복셀에서 시료 값을 보간할 필요가 있다(일반적으로 삼선 보간법을 사용한다).
- 음영.각 샘플링 지점에 대해 전송 함수는 RGBA 재료 색상을 검색하고 조명 값의 구배를 계산한다.그라데이션은 볼륨 내에서 국부 표면의 방향을 나타낸다.그런 다음 샘플은 표면 방향과 장면 내 광원의 위치에 따라 음영 처리된다(즉, 색상 및 조명).
- 컴포지팅.모든 샘플링 포인트가 음영 처리된 후, 가시광선을 따라 합성되어 현재 처리 중인 픽셀의 최종 색상 값이 산출된다.이 구성은 렌더링 방정식에서 직접 파생되며 오버헤드 프로젝터에 아세테이트 시트를 혼합하는 것과 유사하다.그것은 앞뒤로 작동할 수 있다. 즉, 계산은 뷰어에서 가장 멀리 떨어진 샘플로 시작하고 뷰어에서 가장 가까운 샘플로 끝난다.이 작업 흐름 방향은 볼륨의 마스크된 부분이 결과 픽셀에 영향을 미치지 않도록 한다.전면에서 후면 순서는 광선이 카메라로부터 멀리 이동하는 동안 잔여 광 에너지가 감소하므로 렌더링 적분에 대한 기여도가 감소하므로 보다 공격적인 속도/품질 절충이 적용될 수 있으므로 연산적으로 더 효율적일 수 있다(레이를 따라 표본 간 거리 증가는 그러한 속도/쿼터 중 하나임).균형.
고급 적응 알고리즘
적응형 샘플링 전략은 고품질 렌더링에 대한 렌더링 시간을 획기적으로 줄인다. 즉, 데이터 세트의 높은 품질 및/또는 크기가 정규/이른 샘플링 전략보다 더 큰 장점이다.[1]그러나 투영 평면에 대한 적응형 레이 주조와 각 개별 레이를 따르는 적응형 샘플링은 현대 GPU의 SIMD 아키텍처에 잘 매핑되지 않는다. 그러나 멀티 코어 CPU는 이 기법에 완벽히 들어맞기 때문에 대화형 초고품질 볼륨 렌더링에 적합하다.
고품질 부피 레이 주조 예
이 갤러리는 고품질 볼륨 레이 주물을 사용하여 렌더링한 이미지의 컬렉션을 나타낸다.일반적으로 볼륨 레이 캐스팅 이미지의 선명한 외관은 볼륨 레이 캐스팅 렌더링의 정확도가 높아 텍스처 매핑 VR의 출력과 구별된다.
악어 미라의 CT 스캔은 해상도가 3000×512×512(16비트), 두개골 데이터 세트는 해상도가 512×512×750(16비트)이다.
레이 마칭
광선진행렬이라는 용어는 더 광범위하며 각 광선을 효과적으로 더 작은 광선 세그먼트로 나누어 각 단계에서 일부 기능을 샘플링하는 시뮬레이션 광선을 반복적으로 가로지르는 방법을 가리킨다.이러한 방법은 삼각형과 같은 명시적 기하학적 구조를 만드는 것이 좋은 옵션이 아닌 경우에 종종 사용된다.켄 펄린의 1989년 논문 하이퍼텍스트에는[3] 광선진행법의 초기 예가 수록되어 있다.
레이 행진의 다른 예
- SDF 광선 행진 또는 구면 추적에서 교차점은 사인 거리 함수(SDF)에 의해 정의된 표면과 레이 사이의 근사치를 나타낸다.[4]SDF는 표면의 어떤 부분도 놓치지 않고 가능한 한 큰 단계를 취할 수 있도록 각 반복에 대해 평가된다.한 지점이 지표면에 충분히 가까운 지점에 도달했을 때 임계값을 사용하여 추가 반복을 취소한다.이 방법은 종종 3D 프랙탈 렌더링에 사용된다.[5]강력한 gpu 하드웨어가 보급되면서 PC 데모씬과 이노고 퀼레즈가 이 방법을 대중화했다.
- 화면 공간 반사(SSR)나 화면 공간 그림자 등 화면 공간 효과를 렌더링할 때 G-버퍼를 사용해 광선을 추적해 각 2D 픽셀당 깊이와 표면 정상 데이터가 저장된다.
참고 항목
- Amira – 레이 캐스팅 볼륨 렌더링 엔진(Open Inventor 기반)을 사용하는 상용 3D 시각화 및 분석 소프트웨어(생명과학 및 바이오의학용)
- Avizo – 레이 캐스팅 볼륨 렌더링 엔진(Open Inventor 기반)을 사용하는 상용 3D 시각화 및 분석 소프트웨어
- Shadertoy - GLSL 코드를 통해 렌더링 기법 및 절차 아트를 공유, 학습 및 실험하는 컴퓨터 그래픽 전문가, 학계 및 매니아를 위한 온라인 커뮤니티 및 플랫폼
참조
- ^ a b c Daniel Weiskopf (2006). GPU-Based Interactive Visualization Techniques. Springer Science & Business Media. p. 21. ISBN 978-3-540-33263-3.
- ^ Barton F. Branstetter (2009). Practical Imaging Informatics: Foundations and Applications for PACS Professionals. Springer Science & Business Media. p. 126. ISBN 978-1-4419-0485-0.
- ^ Perlin, Ken (July 1989), "Hypertexture" (PDF), Computer Graphics
- ^ Hart, John C. (June 1995), "Sphere Tracing: A Geometric Method for the Antialiased Ray Tracing of Implicit Surfaces" (PDF), The Visual Computer
- ^ Hart, John C.; Sandin, Daniel J.; Kauffman, Louis H. (July 1989), "Ray Tracing Deterministic 3-D Fractals" (PDF), Computer Graphics