KR20220139880A - 배터리 전력공급형 컴퓨팅 디바이스들을 위한 실시간, 소프트웨어 기반 하이브리드 광선 트레이싱 - Google Patents

배터리 전력공급형 컴퓨팅 디바이스들을 위한 실시간, 소프트웨어 기반 하이브리드 광선 트레이싱 Download PDF

Info

Publication number
KR20220139880A
KR20220139880A KR1020227027051A KR20227027051A KR20220139880A KR 20220139880 A KR20220139880 A KR 20220139880A KR 1020227027051 A KR1020227027051 A KR 1020227027051A KR 20227027051 A KR20227027051 A KR 20227027051A KR 20220139880 A KR20220139880 A KR 20220139880A
Authority
KR
South Korea
Prior art keywords
rays
secondary rays
tests
acceleration structure
computer
Prior art date
Application number
KR1020227027051A
Other languages
English (en)
Inventor
레우벤 바칼라쉬
론 웨이츠만
Original Assignee
스냅 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/844,681 external-priority patent/US11017581B1/en
Application filed by 스냅 인코포레이티드 filed Critical 스냅 인코포레이티드
Publication of KR20220139880A publication Critical patent/KR20220139880A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/30Clipping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Abstract

하이브리드 광선 트레이싱 또는 감소된 계산 복잡도. 1차 광선들은 래스터화 기법에 의해 이미지를 구축하는데 사용된다. 독립적으로, 반사들 및 다른 포토리얼리스틱 특징들에 대해 트레이스된 2차 광선들이 장면의 오브젝트 공간에서 생성되고 트레이스된다. 동적 가속 구조(DAS) 및 순회 툴들은 높은 오브젝트 로컬성, 감소된 교차 테스트들 및 저비용 업데이트들을 특징으로 한다. 코히어런스는 집합적 발신지 및 집합적 목적지들을 갖는 2차 광선들을 핸들링함으로써 달성된다. 그 결과 감소된 계산 복잡도가 하드웨어 가속기들 없이 소프트웨어 단독 구현을 가능하게 한다.

Description

배터리 전력공급형 컴퓨팅 디바이스들을 위한 실시간, 소프트웨어 기반 하이브리드 광선 트레이싱
관련 사건들에 대한 상호 참조
본 출원은 "METHOD for PHOTOREALISTIC REFLECTIONS in NON-PLANAR REFLECTIVE SURFACES"라는 명칭으로, 2020년 9월 13일자로 출원된, 미국 출원 제17/019,272호에 기초한 우선권을 주장하며, 이 미국 출원은 "CREATING COHERENT SECONDARY RAYS FOR REFLECTIONS IN HYBRID RAY TRACING"라는 명칭으로, 2020년 5월 15일자로 출원된 미국 출원 제16/874,705호의 계속출원이고, 이 계속출원은 "METHOD FOR CONSTRUCTING and TRAVERSING ACCELERATING STRUCTURES"라는 명칭으로, 2020년 4월 9일자로 출원된 미국 출원 제16/844,681호의 계속출원이며, 이 계속출원은 2020년 1월 4일자로 출원된 미국 가출원 제62/957,157호 및 2020년 8월 20일자로 출원된 미국 가출원 제63/067,881호로부터 우선권을 주장하고, 이 출원들은 모두 본 명세서에 참조로 포함된다.
본 출원은 비평면 경면(specular) 반사들을 위한 실시간 하이브리드 광선 트레이싱 방법을 교시하는, US 2020/0058155로서 2020년 2월 20일자로 공개된, "Method for Non-Planar Specular Reflections in Hybrid Ray Tracing"라는 명칭으로, 2019년 10월 24일자로 출원된 미국 출원 제16/662,657호를 참조한다. 비평면 표면의 높은 복잡도는 다중의 작은 평면 표면들의 낮은 복잡도로 감소된다. 비평면 표면의 빌딩 블록들을 포함하는 삼각형들의 평면 성질이 이용된다. 주어진 표면 삼각형으로부터 오브젝트 삼각형들을 향해 바운싱하는 모든 2차 광선들은 서로 근접한 방향을 유지한다. 2차 광선들의 집합적 제어는 이러한 근접성에 의해 그리고 1차 광선들로부터 2차 광선들을 디커플링함으로써 가능해진다. 그 결과가 2차 광선들의 높은 코히어런스(coherence)이다. US 2020/0058155는 본 명세서에 참조로 포함된다.
본 개시의 기술분야
본 발명은 비디오 게이밍, VR, AR 등에서 고급 시각적 품질을 위한 하이브리드 광선 트레이싱에서 비평면 표면들로부터 포토리얼리스틱(photorealistic) 실시간 반사들의 생성에 관한 것이다.
광선 트레이싱은 통상의 래스터 방법들보다 더 높은, 매우 고도의 시각적 사실성을 생성할 수 있는 컴퓨터 그래픽 기술이지만, 계산 비용이 높다. 광선 트레이싱은 광택도, 경면성, 라디오시티(radiosity), 반사 및 굴절, 산란, 소프트 섀도우들 등과 같은, 매우 다양한 광학 효과들을 시뮬레이션하는 능력에 의해 래스터 그래픽보다 우수하다. 진정한 포토리얼리즘(photorealism)은 렌더링 방정식이 거의 근사화되거나 완전히 구현될 때 발생한다. 렌더링 방정식을 구현하는 것은 광 플로우의 모든 물리적 효과를 기술하므로, 진정한 포토리얼리즘을 제공한다. 그러나, 이것은 이용가능한 컴퓨팅 리소스들에 의존한다. 몬테 카를로(Monte Carlo) 광선 트레이싱으로 또한 지칭되는, 경로 트레이싱은 물리적으로 정확한 광선 트레이싱이다. 이는 실세계 조명의 정확한 시뮬레이션을 제공한다. 전형적인 광선 트레이서들 [Kajiya, J. T. 1986. The rendering equation. In Proc. SIGGRAPH]은 각각의 픽셀을 통해 광선들을 발사하고, 교차된 오브젝트의 반사율의 프로파일에 따라 확률적으로 산란하며 광원을 타격할 때까지 재귀적으로 계속한다. 이미지 공간에서 임의의 주어진 픽셀에 대한 반복된 샘플링은 결국 샘플들의 평균이 렌더링 방정식의 정확한 솔루션으로 수렴하게 하여, 현존하는 가장 물리적으로 정밀한 3D 그래픽 렌더링 방법들 중 하나가 되게 할 것이다. 종래 기술의 광선 트레이싱은 가장 계산적으로 복잡한 애플리케이션들 중 하나이다. 이와 같이, 이미지가 스틸 이미지들과 필름 및 텔레비전 시각 효과들에서와 같이, 시간 전에 느리게 렌더링될 수 있는 애플리케이션들에 가장 적합하고, 실시간 애니메이션이 중요한 증강 현실의 실시간 애니메이팅된 애플리케이션에는 적합하지 않다.
하이브리드 광선 트레이싱(래스터 렌더링과 인터레이스된 광선 트레이싱)은 1차 광선 충돌을 계산하기 위해 래스터 렌더링에 기초한 지연된 렌더링 프로세스인 한편, 2차 광선들은 섀도우, 반사 및 굴절 효과들을 획득하기 위해 광선 트레이싱 접근법을 사용한다. 이러한 접근법은 많은 불필요한 전형적인 광선 트레이싱 태스크들이 회피될 수도 있을 뿐만 아니라, 모든 시각적 효과들의 계산들을 완료하기에 충분한 시간이 없더라도, 완전한 이미지가 요구된 시간에서 이용가능하기 때문에, 광선 트레이싱 성능을 크게 개선한다. 이러한 특징은 실시간이 중요한 비디오 게임, VR 및 AR 에서 가치가 있으므로, 성능에 대해 품질이 트레이드 오프될 수도 있다.
하이브리드 실시간 래스터 및 광선 트레이서 렌더러의 개념은 새로운 것이 아니다. Beck 등 [Beck, S., c. Bernstein, A., Danch, D., Frohlich, B.: CPU-GPU hybrid real-time ray tracing framework(2005)]은 CPU-GPU 실시간 광선 트레이싱 프레임워크를 제안한다. Beck 제안은 GPU와 CPU에 대한 독립적인 태스크들에서 광선 트레이싱의 전형적인 단계들을 확산시켰다. 이러한 렌더링 태스크들은 3개의 GPU 렌더 패스: 섀도우 맵 생성 패스, 지오메트리 식별 패스 및 블러(blur) 패스로 요약될 수 있다.
Bikker의 [Bikker, J.: Real-time ray tracing through the eyes of a game developer. In: Proceedings of the 2007 IEEE Symposium on Interactive Ray Tracing, Washington, DC, USA, IEEE Computer Society(2007)]는 렌더링 태스크를 GPU 및 CPU 이용가능한 코어들 양자 모두에 걸쳐 끊김없이 분할하는, 브리게이드(Brigade)라는 실시간 경로 트레이서를 개발했다. 브리게이드는 경로 트레이싱을 1차 렌더링 알고리즘으로서 사용하는 개념 증명(proof-of-concept) 게임들의 제작을 목표로 한다.
Pawel Bak [Bak, P.: Real-time ray tracing. Master's thesis, IMM, DTU(2010)]는 DirectX 11 및 HLSL 을 사용하여 실시간 광선 트레이서를 구현한다. Beck의 작업과 유사하게, 그의 접근법은 또한 1차 히트들에 대한 최상의 가능한 성능을 달성하기 위해 래스터화를 사용한다.
Chen [Chen, C.C., Liu, D.S.M.: Use of hardware z-buffered rasterization to accelerate ray tracing. In: Proceedings of the 2007 ACM symposium on Applied computing. SAC '07, New York, NY, USA, ACM(2007) 1046-1050]은 GPU/CPU 광선 트레이서 렌더러를 제시했으며, 여기서 Z버퍼링된(Zbuffered) 래스터화가 1차 광선 교차들이 결정되는 동시에 가시적 삼각형들을 결정하기 위해 수행된다. CPU는 2차 광선들을 트레이스하기 위해 데이터를 다시 판독한다.
Sabino 등 [Thales Sabino, Paulo Andrade, Esteban Gonzales Clua, Anselmo Montenegro, Paulo Pagliosa, A Hybrid GPU Rasterized and Ray Traced Rendering Pipeline for Real-time Rendering of Per Pixel Effects, Univ. Federal Fluminense, Rio de Janeiro, Brazil, 2013]은 실시간 경험에 상당히 기여하지 않을 수도 있는 오브젝트들에 대한 광선들을 순회(traversing)하는 것을 회피하면서, 광선 트레이싱될 관련 오브젝트들의 서브세트를 선택하는 발견적 접근법을 제시한다.
실시간 하이브리드 광선 트레이싱에서 중요한 전략은, 성능을 개선하기 위해 래스터 기법들을 위한 GPU의 사용과 광선 트레이싱 광 효과들을 수신할 영역들 및 오브젝트들을 우선순위화하기 위한 스마트 전략이다. NVIDIA의 OptiX [Parker, S.G., Bigler, J., Dietrich, A., Friedrich, H., Hoberock, J., Luebke, D., McAllister, D., McGuire, M., Morley, K., Robison, A., Stich, M.: Optix: A general purpose ray tracing engine. ACM Transactions on Graphics(August 2010)]는 현재 버전에서 NVIDIA의 GPU 및 범용 하드웨어 양자 모두를 타겟으로 하는 범용 광선 트레이싱 엔진이다. OptiX 아키텍처는 로우-레벨 광선 트레이싱 엔진, CUDA C/C++ 기반의 셰이더 언어를 갖는 프로그래밍가능 광선 트레이싱 파이프라인, 도메인-특정 컴파일러 및 장면-그래프 기반 표현을 제공한다. OptiX는 상호작용 광선 트레이싱에 대한 결과들이 주목할만하게 양호한 GPU 전용 솔루션이다. 최근 Nvidia OptiX는 특수 목적 하드웨어를 위한 하이브리드 광선 트레이싱을 위한 개발 플랫폼인 Nvidia RTX에 의한 지원을 받았다. 이는 Nvidia Volta 및 Turing 기반 GPU들에서 실행되며, 구체적으로 광선 트레이싱 가속을 위한 아키텍처를 활용한다.
모든 하이브리드 광선 트레이싱 개발에도 불구하고, 저전력 디바이스들 상의 하이브리드 실시간 광선 트레이서들은 종래 기술에 존재하지 않는다. 노트북, 태블릿, 핸드헬드 모바일과 같은 저전력 디바이스들에 대한 이들의 적용가능성이 점점 더 관련되고 있다. 저전력 디바이스들 상에서 광선 트레이싱을 실행하는 가능성은 30년까지만 예측되었다: "By Moore's law alone by 2032 we could be running real-time ray tracing on mobile phones." Jon Peddie, TechWatch, 27 Mar 2018.
실시간 광선 트레이싱(RTRT). 역사적으로, 광선 트레이싱은 컴퓨터에 의해 생성된 포토리얼리스틱 애니메이팅된 필름들과 같은 오프라인 애플리케이션들에 예약되었다. 비디오 게임들의 실시간 애플리케이션들, 가상 및 증강 현실은 이들의 렌더링을 위해 래스터화에 의존해야 했다. RTRT는 이미지에서 각각의 픽셀이 별도로 계산되어야 하기 때문 뿐만 아니라, 단일 픽셀의 최종 컬러가 하나보다 많은 재귀적 광선에 의해 영향을 받을 수 있기 때문에, 어려운 계산 태스크이다. 또 다른 고려사항은 광선 트레이싱 알고리즘들이 광선들과 오브젝트들 사이의 교차 지점들을 계산하는 실행 시간의 75% 에서 95%까지 낭비한다는 것이다. RTRT는 2018년 Nvidia의 RTX(Alwani, Rishi. "Microsoft and Nvidia Tech to Bring Photorealistic Games with Ray Tracing". Gadgets 360 https://gadgets.ndtv.com/iaptops/news/microsoft-dxr-nvidia-rtx-ray-tracing-volta-gpu-metro-exodus-1826988. Retrieved March 21, 2018)에 의해 가능해졌으며, 이는 특수 목적 하드웨어에 의한 조명, 섀도우, 반사에 반응하는 상호작용 이미지를 생성하는 컴퓨터 그래픽의 새로운 개발을 용이하게 한다. Nvidia의 RTX는 거의 5000개의 코어의 온칩 수퍼컴퓨팅 하드웨어에 의해 가속화된 전형적인 광선 트레이싱 알고리즘에 기초한다. 이는 4352개 코어를 갖는 GPU, 544개 코어를 활용하는 Al denoiser, 및 68개 코어의 교차 테스트 가속기로 구성된다. 단일 RTX2080 GPU의 전력 요건은 250W이며, 가격은 €418 에서 시작한다. 이는 RTX의 높은 비용과 높은 전력으로 인해 하이 엔드 비디오 게임들을 타겟으로 한다.
비디오 게임들, 가상 현실 및 증강 현실에 대해, 반사들, 구체적으로 래스터 기술 또는 워크 어라운드(work-around)에 의해 달성될 수 없는 비평면 표면들로부터의 반사들과 같은, 광선 트레이싱 기술에 의해서만 전달될 수 있는 특징들을 가능하게 하는 필요성이 크다. 반사는 실시간으로 생성되어야 한다. 따라서, 게임 산업에 대해 급진적인 알고리즘 개선들에 기초한, 새로운 하이브리드 실시간 광선 트레이싱 기술에 대한 필요성이 크다.
반사들. 종래 기술의 하이브리드 광선 트레이싱에서, 반사들은 G-버퍼(Luis Sabino et al., A Hybrid GPU Rasterized and Ray Traced Rendering Pipeline for Real-time Rendering of Per Pixel Effects, 2013)에 기초하여 생성된다. G-버퍼는 제1 스테이지 동안 "차이가 있는 셰이딩(differed shading)" 스테이지인 래스터 렌더링에 의해 생성된다. 지연된 셰이딩 뒤의 기본 아이디어는 임의의 조명 계산들을 수행하기 전에 모든 가시성 테스트들을 수행하는 것이다. 따라서, 처음에는 가시성 테스트들이 래스터 렌더링에 의해 수행되는 한편, 세이딩은 광선 트레이싱과 결합된 나중의 스테이지와 차이가 있다. 지연된 셰이딩 스테이지에 의해 생성된 G-버퍼는 각각의 픽셀의 기본적인 재료의 광학 특성들에 관한 정보를 포함한다. 그 내용은 반사/굴절 광선들을 트레이싱하기 위한 필요성을 결정하는데 사용된다. 이는 반사율, 굴절률, 경면 지수 및 불투명도로 각각 구성된다. 광선들은 단지 장면을 통해서만 표면들로부터 트레이싱될 필요가 있다. 이러한 방식은 재료가 굴절성이나 반사성이 아닌 장소들에서 불필요한 광선들의 트레이스를 회피하는 것을 가능하게 한다. 차이가 있는 셰이딩이 수행된 후, 광선 트레이싱 알고리즘은 2차 광선들로 시작하고 그 자신의 경로를 따를 수 있다. 생성된 임의의 2차 광선은 반사 및 굴절과 같은 글로벌 조명 효과를 생성하기 위해 장면에 대해 트레이싱될 것이다. 이 스테이지의 결과는 광선 트레이스 효과 층의 생성으로서 이해될 수 있다. 이 효과 층은 글로벌 조명 효과로 시각적 품질을 개선하기 위해, 이미 생성된 이미지에 블렌딩될 것이다.
G-버퍼 방법에 따르면, 2차 광선들은 1차 광선들의 자연적 확장이다. 선정된 2차 광선들에 의해 수행되는 광선 트레이싱은 종래 광선 트레이싱의 동일한 어려움들: 2차 광선들의 코히어런스의 결여 및 확률적 노이즈를 갖는 이미지들을 겪는다.
빠른 반사를 생성하는 것은 미국 특허 제10,565,776호: Method for Fast Generation of Path Traced Reflections on a Semi-Reflecting Surface 에서 Reuven Bakalash에 의해 기술되었다. 그의 개시는 증강 현실 및 가상 현실에 적용되는 새로운 글로벌 조명 광선 트레이싱을 설명한다. 종래 기술의 가속 구조는 2차 광선들과 장면 지오메트리 사이의 교차를 광선들의 큰 그룹에서 수행하기 위한 새롭고 신규한 디바이스에 의해 대체되어, 높은 속도를 얻고 계산 복잡도를 낮춘다. 감소된 전력 소비는 소비자 레벨 컴퓨팅 디바이스들에 적합하다.
가속 구조들. 광선 트레이싱에서 가장 시간 소모적인 태스크들은 수백만개의 광선과 수백만 개의 다각형 사이의 교차 테스트이다. 이들은 부분적으로 장면 공간을 위해 특별히 구성된, 거대한 이진 트리인 가속 구조(AS)의 사용에 의해 완화된다. 모든 단일 광선은 교차를 위한 다각형을 찾는 가속 구조(예를 들어, K-트리 또는 BVH 트리)를 가로질러 순회된다. 이러한 순회들은 주요 시간 소모적인 작업이 되며 - 이들은 통상적으로 이미지 생성 시간의 70% 이상을 차지한다.
이진 트리(예를 들어, BVH)에 기반한 종래 기술의 AS는 기본적으로 정적이다. 이들의 재구성은 통상적으로 렌더링보다 더 시간 소모적이다. 구성 시간은 장면 사이즈 및 다각형 해상도에 의존한다. 예를 들어, 매우 복잡한 지오메트리의 가속 데이터 구조를 구축하는 것은 지오메트리가 어떻게 모델링되어야 하는지에 대해 엄청나게 비용이 들거나 제한들을 부과한다. Hanika 등은 미국 특허 제8,570,322호, Method, system, and computer program product for efficient ray tracing of micropolygon geometry에서 이러한 어려움을 해결한다. 이들은 어느 것이 잠재적으로 교차되는지를 식별하기 위해 광선 트레이스되는 표면 패치들의 제1 계층을 교시한다. 그 후 잠재적으로 교차된 패치들은 요구시 미세다각형들의 서브오브젝트들의 세트로 분해되고, 광선 트레이싱을 가속화하기 위해 제2 계층이 확립된다. 미세다각형들의 이러한 제2 계층에서 동작하는 셰이더들은 SIMD 방식으로 그들의 전체 그리드를 한번에 프로세싱할 수 있다.
작은 장면 변경들은 AS의 업데이트만을 필요로 할 수도 있지만, 장면의 주요 수정은 가속 구조들의 재구성을 필요로 한다. 큰 장면들은 매우 긴 재구성 시간으로 인해 특별한 어려움을 제기하고 있다. Reuven Bakalash 등은 이 문제를 Path Tracing Method Employing Distributed Acceleration Structures, by distributing the acceleration structure라는 명칭의 미국 특허 제10,380,785호에서 해결한다. 경로 트레이싱 시스템에서의 순회 태스크는, 시스템에서 중심적인 하나의 글로벌 가속 구조와, 높은 로컬성 및 자율적 프로세싱의 셀들 사이에서 분산된, 다중 로컬 가속 구조들 사이에 분산된다. 후속하여, 이러한 중요한 리소스의 중심성이 감소되어, 병목현상을 줄이는 한편, 그 병렬성이 개선된다.
정적 가속 구조들의 사용과 연관된 2가지 주요 단점들이 있다; (i) 이들 구조들의 순회들은 시간 소모적이어서, 실시간 요건들에 도전적이며,(ii) 이들은 장면 변경시 반복적으로 재구성되어야 하며, 이는 실시간 스킨화된 애니메이션과 상반된다. 정적 가속 구조를 재구성하는 것은 실시간 애니메이션을 방지하는 계산 집약적인 태스크이다.
따라서, 종래 기술의 가속 구조들과 연관된 이들 및/또는 다른 쟁점들을 해결할 필요가 있다.
2차 광선들의 광선 코히어런스의 결여. 광선의 코히어런스는 광선 트레이싱의 효율적인 병렬화를 위한 핵심이다. 종래 기술의 광선 트레이싱에서 1차 및 섀도우 광선들은 코히어런트하다. 이 코히어런스는 효율적인 병렬 프로세싱: 코히어런트 광선들의 패킷들에 의한 순회, 교차, 및 셰이딩을 위해 이용된다. 이러한 광선들은 종종 가속 데이터 구조의 유사한 부분들을 순회하기 때문에, 근방의 1차 광선들에 대해 잘 작동한다. 이러한 접근법을 사용하면, 다중 광선들에 대한 GPU들 및 CPU들의 종래 SIMD 메커니즘들을 병렬로 사용하여 계산 시간을 감소시킬 수 있으므로, 패킷당 한번만 데이터를 요청함으로써 메모리 대역폭을 감소시키며, 동시에 캐시 활용을 증가시킬 수 있다. 이 작업들은 카메라에서 발신하는 1차 광선들에 우수하다. 불행히도, 고급 차수(2차, 3차 등)의 광선들로는 광선 패킷들을 효과적으로 사용하는 것이 불가능하다. 주요 이유는 고급 차수 광선들이 상이한 방향으로 바운스하여 코히어런스를 잃기 때문이다. 더욱이, 확산 반사들에 대한 광선들의 의도적인 랜덤화가 있다. 종래 기술에 의해, 더 높은 코히어런스 비율을 갖는 번들을 형성하기 위해 2차 광선의 재조직화가 실시된다. 그러나, 이러한 종류의 재그룹화는, 재순서화가 적용될 때 단지 약간의 프레임 레이트 개선을 초래할 수도 있는, 산란/수집 단계를 수반하기 때문에 상당히 비용이 높은 동작이다.
Sadegi 등 [Iman Sadeghi, Bin Chen, and Henrik Wann, Coherent Path Tracing, Jensen University of California, San Diego, 2009]은 2차 광선들의 코히어런시를 개선하기 위한 기법들을 개발하였다. 이 기법은 각각의 샘플에서 모든 픽셀들에 대한 2차 광선들을 생성하기 위해 동일한 시퀀스의 난수들을 사용한다. 이는 패킷 트레이싱 알고리즘의 효율을 개선하지만 이미지에서 구조화된 노이즈 패턴들을 생성한다.
광선 트레이싱에서의 코히어런시를 개선하는 것은 Reuven Bakalash 등의 명칭이 Spawning Secondary Rays in Ray Tracing from Non-Primary Rays인 미국 특허 제10,410,401호에 의해 해결된다: 그는 글로벌 조명 광선 트레이싱을 위해 코히어런트 2차 광선들을 생성하는 새로운 방식을 설명한다. 종래 기술의 가속 구조는 2차 광선들과 장면 지오메트리 사이의 교차를 광선들의 큰 그룹에서 수행하는 새롭고 신규한 디바이스에 의해 대체되어, 높은 속도를 얻고 계산 복잡도를 낮춘다.
따라서, 종래 기술의 광선 트레이싱에서 코히어런시의 결여와 연관된 이들 및/또는 다른 쟁점들을 해결할 필요가 있다.
노이지 이미지들. 경로 트레이서는 스크린 공간의 픽셀들을 연속적으로 샘플링한다. 이미지는 픽셀당 다중 샘플들 이후에만 인식가능하게 되는 것으로 시작한다. 광선들은 스크린 공간에서 각각의 픽셀 내에 랜덤으로 분포되고 장면에서 오브젝트와의 각각의 교차에서 랜덤 방향을 가리키는 새로운 반사 광선이 생성된다. 몇 번의 바운스 후에, 각각의 광선은 결국 장면을 빠져나가거나 흡수된다. 광선이 장면에서 바운싱을 마치면 광선이 바운싱되는 오브젝트들에 기초하여 샘플 값이 계산된다. 샘플 값은 소스 픽셀에 대한 평균에 가산된다.
광선 트레이싱에서의 랜덤 컴포넌트들은 렌더링된 이미지가 노이즈로 나타나게 한다. 노이즈는 점점 더 많은 샘플들이 계산됨에 따라 시간에 걸쳐 감소한다. 렌더 품질에 대해 정의하는 팩터는 픽셀당 샘플들의 수(SPP)이다. 렌더링된 이미지에서 더 높은 SPP를 가질수록 주목할만한 노이즈는 더 적게 될 것이다. 그러나, 샘플당 부가된 품질은 이미 가지고 있는 샘플들이 더 많을수록 감소한다(각각의 샘플이 모든 샘플들에 걸쳐 평균에만 기여하기 때문).
많은 후속 프레임들의 수렴만이 최종 이미지 노이즈를 감소시킨다. 노이즈를 수용가능한 레벨들로 수렴하고 감소시키는 이미지는 일반적으로 대부분의 경로 트레이스된 이미지들에 대해 약 5000개의 샘플을 취하며, 병리학적 경우들에 대해 더 많이 취한다. 노이즈는 특히 애니메이션들에 대해 문제이므로, 일반적으로 원하지 않는 "필름-그레인" 품질의 랜덤 스펙클링을 제공한다.
본 개시의 실시예들 중 적어도 하나의 목적은 비디오 게임들, VR 및 AR 에서 실시간 포토리얼리스틱 반사의 사용을 가능하게 하고, 종래 기술에서 관련 기술의 결여를 해결하는 것이다.
본 개시의 실시예들은 하이브리드 광선 트레이싱에 있어서 비평면 반사 표면들에서 반사되는 포토리얼리스틱 반사들을 생성한다. 1차 광선들은 래스터화 기법에 의해 이미지를 구축하는데 사용되어, 스크린의 뷰포트에서 이미지를 바운딩한다. 독립적으로, 반사들 및 다른 포토리얼리스틱 특징들에 대해 트레이스된 2차 광선들은, 장면의 오브젝트 공간에서 생성되고 트레이스되어, 뷰포트에서 떨어지지만 미러들과 같은 이미지에서의 반사 표면들에서 보여질 수 있는 오브젝트들의 시각화를 가능하게 한다. 실시간 스킨화된 애니메이션을 수용하기 위해 진성 동적 가속 구조(DAS)가 채용된다. 이것은 오브젝트들 및 서브 오브젝트들의 높은 로컬성(locality)을 특징으로 하며, 장면 변경들은 이웃 오브젝트들에 대한 최소의 효과들로 업데이트된다. DAS에서 각각의 장면 오브젝트는 다른 오브젝트들과 독립적으로 이동할 수 있어서, 이웃 계층들에 영향을 주지 않으면서, 그 자신의 계층에서 자율적 업데이트들을 허용한다. 따라서, 종래 기술의 전체 가속 구조들에 대한 빠른 재구성들은 저비용의 업데이트들로 대체된다.
DAS 순회들의 효율은, 먼저, 네거티브 교차 테스트들을 제거하기 위해 기하학적 볼륨, 예를 들어 삼각형 피라미드로, 그 후 리프(leaf) 계층의 효율적이고 정확한 교차 테스트들을 위한 2차 광선들로인, 이중 단계 순회에 의해 개선된다.
광선 트레이싱에서 오랫 동안의 요구인 2차 광선들의 코히어런스는, 집합적 발신지 및 집합적 목적지를 갖는 2차 광선들을 핸들링으로써 달성된다. 코히어런스는 2차 광선들의 공간적 로컬성, 가속 구조 순회들의 데이터 베이스 로컬성, 감소된 순회들 및 감소된 교차 테스트들을 가능하게 하여, 전체적으로 하이브리드 광선 트레이싱의 감소된 계산 복잡도를 초래한다.
본 발명은 하드웨어 가속기들 없이, 소프트웨어만으로 구현될 수 있다. 이는 모바일 디바이스들의 통합된 GPU들을 포함하는 종래의 GPU들 상에서 구현될 수 있고, GPU의 높은 병렬성 및 높은 활용은 2차 광선들의 광선 코히어런스에 의해 달성된다.
본 명세서에서 본 개시는 첨부 도들 및 도면들을 참조하여, 비제한적인 예들에 의해서만 설명되며, 유사한 지정들은 유사한 요소들을 표기한다. 이들 도면들은 본 개시의 통상적인 실시예들에 관한 정보만을 제공하며, 따라서 범위를 제한하는 것으로 간주되지 않는다는 것을 이해한다:
도 1. 비평면 반사 표면 및 기하학적 오브젝트들의 예시적인 셋업.
도 2. 기하학적 오브젝트들에 관련된 비평면 반사 표면의 삼각형.
도 3. 비평면 반사 표면의 삼각형 상으로 투영된 오브젝트의 삼각형.
도 4. 비평면 반사 표면의 삼각형과 관련된 오브젝트의 삼각형. 투영 없음
도 5. 4개의 기하학적 오브젝트의 동적 가속 구조.
도 6. 미리 애니메이팅된 장면.
도 7. 스킨 애니메이팅된 장면.
도 8. 미리 애니메이팅된 장면의 DAS.
도 9. 스킨 애니메이팅된 장면의 DAS.
도 10. 수신기 삼각형으로부터의 절두체(frustum).
도 11. 시각화 순회의 단계.
도 12. 2차 광선 순회의 단계.
도 13. 분석적 실시예의 흐름도.
도 14. 다른 실시예의 흐름도.
도 15. 종래 기술 실시예들에 따른 컴퓨팅 시스템.
본 개시의 실시예들 중 적어도 하나의 목적은 종래 기술에서 관련 기술의 결여를 해결함으로써 비디오 게임들에서 포토리얼리스틱 반사들의 사용을 가능하게 하는 것이다. 평면 및 비평면, 반사 및 광택 표면들로부터의 실시간 반사들은 실시간 하이브리드 광선 트레이싱 기술을 통해 가능해진다.
하이브리드 광선 트레이싱에 대한 본 발명은 이미지 공간에서 보다는, 오브 젝트 공간에서 전부 2차 광선들을 프로세싱하는 것에 기초한다. 1차 광선들은 이미지 뷰포트에서 바운딩된, 래스터화에 의해 이미지를 구축하는데 사용된다. 독립적으로, 반사들 및 다른 포토리얼리스틱 특징들에 대해 트레이스된 2차 광선들은, 스크린의 이미지 픽셀들에서 떨어진, 장면의 오브젝트 공간에서 생성되고 트레이스된다. 이들은 스크린 공간 밖에서도, 장면 어디에서나 트레이스가능하다. 이는 이미지 뷰포트 외부에 있는 오브젝트들을 반사하고 이미지에 포함하는 것을 가능하게 한다.
비평면 표면들로부터의 미러 반사들. 비평면 표면은 평면 표면과 달리, 균일한 방향이 결여되어 있다. 이는 평면 요소들인 삼각형들로 구성된다. 각각의 삼각형은 법선 방향에 따라 장면을 반사한다. 본 개시의 방법은 비평면 표면에서 오브젝트들의 물리적으로 정확한 반사를 생성하려는 것이다. 예시적인 셋업은 도 1에 나타나 있다. 2개의 타겟 오브젝트(11, 12)는 다중 수신기 삼각형들로 이루어진 비평면 표면(10)에서 반사할 것이다.
일 실시예에 따르면, 각각의 수신기의 삼각형은 그 자신의 물리적으로 정확한 반사를 생성하기 위해 별도로 핸들링된다. 부분 반사들의 최종 수집은 집성 비평면 표면 반사를 초래한다.
도 2는 다양한 배향들을 갖는 다중 삼각형들을 포함하는 비평면 표면(30)을 도시하는 한편, 삼각형(20)은 반사-수신 삼각형이라 불리는 단일 삼각형에서 반사들을 생성하는 프로세스를 예시하기 위해 구체적으로 강조된다. 2개의 타겟 오브젝트(26, 27)는 수신기에 반사될 삼각형들을 방출하는 메시들로 구성된다. 수신 삼각형에서 정확한 반사를 계산하기 위해, 먼저 삼각형의 법선이 계산되어야 한다. 삼각형은 평면 엔티티이기 때문에, 본 명세서에서 더 설명될 바와 같이, 모두가 코히어런트 방식으로 삼각형을 바운스 오프할 2차 광선들의 패키지를 생성하는 것이 가능하다. 그 후 2차 광선들은 방출 오브젝트들을 향하여 삼각형의 법선에 따라 발사된다.
수신기 삼각형의 법선은 그의 3개의 정점의 법선들에 기초하여 평가된다. 각각의 이러한 정점은 이웃 삼각형들과 공유된다. 따라서, 비평면성으로 인해, 각각의 정점은 그 자신의 법선 방향을 갖는다. 삼각형의 법선 방향 N은 그 3개의 정점의 법선 방향들을 평균하여 계산된다.
일단 삼각형의 법선이 알려지면, 삼각형의 중간 지점을 통하는 미러 표면(21)이 획득되고, 그 후 미러 표면에서의 카메라(28) 반사인 미러 아이(25)가 정의된다. 미러 아이는 절두체 투영의 발신지로서 작용한다. 절두체는 수신기의 삼각형(20)에 의해 형상화되고 장면, 예를 들어 오브젝트들(26 및 27)을 향해 지향된다. 절두체는 삼각형으로부터 보여지는 바와 같이 장면의 가시성을 정의한다.
도 2의 예에서, 오브젝트(26)는 전부 가시적인 한편, 오브젝트(27)는 부분적으로만 가시적이다. 따라서, 27의 삼각형 메시의 부분은 절두체 외부에 남아 있다.
반사를 생성하는 분석적 실시예가 도 3에 도시되어 있다. 수신기에서 수신 삼각형(30), 방출 삼각형(33), 및 최종 방출체의 반사(34)가 나타나 있다. 수신 삼각형 상으로 방출 삼각형을 반사하는 태스크는 오브젝트 메시의 가시적 삼각형들에만 적용된다. 절두체 가시성 테스트는 반사를 위한 방출 후보들을 식별한다. 이하 상세된 가시성 테스트가 설명된다.
방출체 삼각형(33)이 가시성 테스트를 통과하면, 이는 반사를 위해 핸들링된다. 이는 컬러, 광, 재료, 텍스처 등에 대해 샘플링되고 그의 3개의 정점(35, 36, 37)에 의해 수신기의 표면 상으로 투영된다. 부분적으로 수신기 외부에 있는 방출체 삼각형들은 수신기의 바운더리들에 클리핑된다. 그 후 투영은 샘플링된 광 값들에 따라 셰도잉된다. 그 후 이러한 2차 광 값들은 최종 반사된 광을 재구성하기 위해, 수신기 삼각형 상의 그들 개개의 1차 히트 지점들과 병합된다. 최종적으로, 다른 수신기 삼각형들과 함께, 결과들이 스크린 상의 이미지 픽셀들에 전달된다.
도 4의 2차 광선들을 활용하는 다른 실시예들은 2차 광선들의 완전한 사용에 의해 수신하는 것에서 방출 삼각형을 반사한다. 수신 삼각형(30) 및 방출 삼각형(33)이 나타나 있다. 반사 태스크는 가시성 테스트를 통과했고 반사를 위한 후보들로서 식별된 타겟 오브젝트 메시의 그러한 삼각형들에만 적용된다.
도 2에 다시 나타낸 바와 같이, 2차 광선들은 수신기(20)로부터 그리고 파선들(29)을 따라 절두체 영역을 커버한다. 2차 광선들은 가시적 메시, 삼각형 바이 삼각형의 정확한 검사를 하려는 것이다. 각각의 2차 광선은 방출체 삼각형들과의 교차 테스트들을 수행하고, 교차된 삼각형들은 컬러, 광, 재료, 텍스처 등에 대해 샘플링된다. 샘플링된 데이터는 반사의 완전한 재구성을 위해, 1차 및 2차 광선들의 샘플링된 광 값들을 병합하기 위해 개개의 1차 히트 지점들과 병합된다. 최종적으로, 다른 수신기 삼각형들과 함께, 결과들이 스크린 상의 이미지 픽셀들에 전달된다.
반사를 위한 2차 광선들의 생성은 1차 광선들로부터 그리고 1차 광선들에 의해 래스터화된 이미지로부터 분리된다. 따라서, 이들은 2개의 독립적인 프로세스이고, 2차 광선들에 의해 반사들을 생성하는 것은 1차 광선들에 의해 이미지를 생성하는 것과 독립적으로 그리고 동시에 수행될 수 있다.
동적 가속 구조. 광선 트레이싱에서의 가속 구조들(AS)은 빠른 구성 및 빠른 순회들을 필요로 한다. 불행히도, 이들 2개의 요건은 서로 상반된다. BVH 가속 구조들은 종래 광선 트레이싱에서 가장 널리 퍼져 있다. 계층 레벨들이 높을수록 순회는 빨라지지만, 구성은 시간이 더 많이 소요된다. 실시간 광선 트레이싱, 구체적으로는 실시간 스킨화된 애니메이션에 대해 빠른 구성 및 빠른 순회들이 필수적이다.
실시간 스킨화된 애니메이션을 수용하기 위해, 본 개시는 높은 로컬성을 갖는 진성 동적 가속 구조(DAS)를 채용하며, 여기서 오브젝트의 스킨화된 애니메이션과 같은 장면의 변경들은, 다른 위치들에 영향을 미치지 않으면서, DAS 계층 내의 특정 위치에서 로컬로 업데이트된다. DAS는 단 한 번만 구성된 후, 필요한 프레임당 업데이트들만이 수행된다. 따라서, 빠른 구성에 대한 필요성이 저비용 업데이트들로 대체된다.
DAS는 각각의 장면-오브젝트마다 별도의 계층으로 확립되어 각각의 후속 계층 레벨이 선행 레벨의 서브 메시들을 포함하며, 여기서 모든 서브 메시들은 바운딩 박스들에 의해 바운딩된다. 각각의 계층의 하단에는 삼각형들의 리프 레벨이 있다.
빠른 순회들을 위해, 실시예는 중복 교차 테스트들을 제거한 후, 교차 테스트들만을 제거하는 조기 가시성 테스트에 기초한다.
가속 구조의 모든 순회는 비평면 반사 표면의 특정 삼각형에서 개시되어 그 삼각형에서 반사된 오브젝트들을 검색한다. 순회에 참여하는 모든 2차 광선들은 하나의 공통 발신지 및 모든 타겟 근접 목적지들로부터 발사되어, 코히어런시를 유지한다. 반사된 오브젝트들의 작은 영역에 포커싱하는 목적지들의 그러한 근접성은 애니메이션과 같은 장면 변경들의 경우에, DAS의 빠른 로컬 업데이트들을 돕는다. DAS의 빠른 순회들은 광선 트레이싱에서 가장 거대한 작업인 교차 태스크들의 감소된 양에 기인한다. 감소는 개별 2차 광선들에 의해 결과적으로 감소된 DAS를 순회하기 전에, 2차 광선들의 코히어런트 패킷들에 기초하는 가시성 테스트들에 의해 검색가능한 가속 구조를 감소시키는 것을 가능하게 한다.
DAS 순회는 기본적으로 2개의 페이즈로 수행된다. 제1 페이즈에서 코히어런트 광선 패킷들은 바운딩 박스들의 상위 계층 레벨들을 순회하는 한편, 제2 페이즈에서 삼각형들의 리프 계층들은 개별 광선들에 의해 또는 코히어런트 광선들의 작은 패킷들에 의해 순회된다. 제1 페이즈에서 2차 광선들은 코히어런트 패킷들에 수집되고 방출 오브젝트들의 가시적이지 않은 부분들을 위치시키기 위해 DAS의 바운딩 박스 레벨들을 통해 순회되며, 따라서 네거티브 교차 테스트들을 방지하여, 교차 테스트들의 전체 효율을 개선한다.
광선 패킷은 삼각형 단면의 피라미드 절두체를 포함한다. 절두체는 수신 삼각형으로부터 오브젝트들을 방출하는 예비 가시성 테스트들을 수행하는데 사용된다. 테스트된 수신기 삼각형으로부터 비가시적인, 방출 오브젝트의 메시 또는 그 일부는, 제2 페이즈의 연속적인 교차 테스트들로부터 시프트 오프된다. 예비 가시성 테스트들은 가시성 절두체로서 형성되는, 2차 광선들의 코히어런시에 의해 가능해진다.
제2 페이즈 동안, 개별 2차 광선들은 DAS의 나머지 부분들을 순회하여, 삼각형들의 하부 리프 계층들에서 교차 테스트들을 수행한다.
제1 페이즈에서, 타겟 오브젝트들의 가시성 테스트는 기하학적 볼륨, 예를 들어 피라미드를 갖는 메시 및 서브 메시 계층들을 순회함으로써 수행된다. 비가시적인 오브젝트들 또는 그 일부가 줄어들어서, 중복 교차 테스트들을 절약한다. 제2 페이즈 동안, 삼각형들의 리프 계층만이 2차 광선들에 의해 순회된다. 즉, DAS 순회들의 효율은 먼저, 네거티브 교차 테스트들을 제거하기 위해 기하학적 볼륨, 예를 들어 삼각형 피라미드로, 그 후 리프 계층의 효율적이고 정확한 교차 테스트들을 위한 2차 광선들로인, 이중 단계 순회에 의해 개선된다.
예시의 DAS 구조가 도 5에 나타나 있다. DAS는 계층적으로 구조화되며, 먼저 최상위 계층(50)에서는, 기하학적 오브젝트들의 바운딩 박스들을 포함한다. 이 예는 4개의 타겟 오브젝트(52 내지 55)의 메시들을 포함한다. 다음 계층은 서브 메시들(51)로 형성된다. 동일한 방식으로 임의적인 수의 부가 계층들이 형성될 수 있으며, 각각의 연속적인 계층은 이전 계층의 서브 메시들을 포함한다. 리프 계층(59)은 삼각형들로 형성된다. 리프 계층은 다중 레벨들로 구성될 수 있다. DAS는 렌더링 프레임들을 시작하기 전에 프리프로세싱 스테이지에서, 또는 런 타임에서 구축될 수도 있다.
DAS는 종래 기술의 바운딩 볼륨 계층(Bounding Volume Hierarchy)(BVH)과는 상이하게 구조화된다. 상단 계층은 트리의 상단에서 단일 바운딩 볼륨이 없는, 기하학적 오브젝트들로 직접 시작한다. 각각의 기하학적 오브젝트는 다른 오브젝트들과 독립적어서, 이웃 오브젝트들에 영향을 미치지 않으면서, 그 자신의 계층에서 자율적 업데이트들을 허용한다.
애니메이션 기술에서, 스킨화된 애니메이션은 통상적으로 2개의 부분: 캐릭터를 그리는데 사용되는 표면 표현(스킨 또는 메시라고 함) 및 메시를 애니메이팅하는데 사용되는 상호연결된 본(bone)들의 계층적 세트(스켈톤 또는 링이라고 함)로 표현된다. 의도는 첫번째 부분인 메시 데이터의 그래픽 변형만을 제어하기 위한 것이다. 오브젝트의 이러한 변형이 발생할 때, 이에 따라서 그의 표면 표현이 이웃 오브젝트들 또는 전체 구조의 계층에 영향을 미치지 않으면서, 그의 메인 메시, 서브 메시들 및 이들의 바운딩 박스들 내에서 업데이트되어, 로컬성 및 자율성을 유지한다. 각각의 기하학적 오브젝트의 이러한 자율성은 DAS 동적 특성을 제공하여, 동적 장면들의 효율적이고 빠른 업데이트를 허용한다.
동적 가속 구조에서 스킨화 애니메이팅된 업데이트들의 로컬성의 원리는 도 6 내지 도 9에서 입증된다. 도 6에서, 3개의 오브젝트는 60, 61, 및 62로 나타나 있다. 중간 오브젝트(62)는 그의 원래 포지션에서의 인간 소상(figurine)이다. 그 후, 이것은 도 7 에서, 전송 및 변형될 때, 스킨화 애니메이팅된 것으로 나타나 있다. 이 소상(72)은 다른 장소로 이동했고 손을 들어 올렸다. 도 8은, 도 6을 참조하여, 원래 미리 애니메이팅된 DAS를 나타낸다. 소상은 중간 컬럼(column)으로 표현된다. 그의 상단 계층은 그의 모든 부분들(80 내지 85)의 바운딩 박스(86)를 포함한다. 제2 계층은 부분들의 바운딩된 서브 메시들(80' 내지 85')을 포함하는 한편, 하단 계층은 삼각형들을 포함한다. 2개의 다른 컬럼은 정적 상태를 유지하는, 2개의 다른 오브젝트의 계층들을 표현한다.
절두체 교차 테스트. 수백만 개의 광선과 수백만 개의 다각형 사이의 교차 테스트는 광선 트레이싱에서 가장 시간 소모적인 태스크이다. 종래 기술의 광선 트레이싱에서, 모든 단일 광선은 교차들을 찾는 가속 구조의 계층들을 가로질러 순회해야 한다. 결국 네거티브 결과들이 되는 교차 테스트들을 행함으로써 효율이 감소된다. 일 실시예에 따르면, 효율은 네거티브 테스트들의 대부분을 제거함으로써 개선된다. 예비 가시성 테스트는 비가시적인 메시들 및 그 일부를 컬링(culling)하기 위해 도입된다. 가시성 테스트는 절두체의 삼각형 피라미드를 갖는 가속 구조의 메시 계층들을 순회함으로써 수행된다. 절두체 외부에 있는 부분들은 교차 테스트들과 관련이 없는 것으로 분류된다.
도 9는, 도 7을 참조하여, 포스트 애니메이팅된 DAS를 입증한다. 바운딩 박스(96)는 서브 부분들(91, 92)의 변위에 따라 업데이트되었다. 제2 계층에서, 서브 메시들(91' 및 92') 및 이들의 바운딩 박스들이 업데이트된다. 모든 업데이트들은 동일한 오브젝트 또는 다른 오브젝트 계층들의 다른 서브 메시들에 영향을 미치지 않으면서, 로컬로 진행되었다. 이러한 업데이트들의 로컬성은 DAS를 동적 데이터 구조로 만들어, 실시간 스킨화된 애니메이션을 가능하게 한다. 이러한 실시간 애니메이션은 비디오 게임들, 가상 현실 및 증강 현실에 높은 시각적 품질을 전달하는데 중요하다.
일 실시예에 따르면, 비가시적인 오브젝트들 또는 그 일부들의 네거티브 교차 테스트들을 제거하도록 예비 가시성 테스트를 도입함으로써 교차 테스트들의 효율이 개선된다. 나타낸 바와 같이, 도 10의 절두체는 이들의 근단부(103)(수신기 삼각형) 및 이들의 원단부(100)에 의해 절단된, 3개의 측면(104, 105 및 106)으로 이루어진 삼각형 피라미드의 형상을 갖는다. 절두체 정점들은 수신기 삼각형의 법선들(107, 108, 109)에 의해 안내된다. 이전에 언급된 바와 같이, 수신기 삼각형의 법선들은 서로 상이할 수도 있으며, 여기서 각각의 정점은 비평면 표면의 이웃하는 수신기 삼각형들과 그의 법선을 공유한다. 절두체는 수신기 삼각형에 기초한 삼각형 피라미드의 형상을 갖는다. 수신 삼각형(103) 및 3개의 방출 오브젝트(100, 101 및 102)는 이러한 예시적인 셋업으로 나타낸다. 오브젝트(101)는 완전히 가시적이므로, 모든 교차 테스트들에 대상이 된다. 제2 오브젝트(102)는 부분적으로 절두체 외부에 있으며, 전부 외부에 있는 그 서브 메시들은 제거될 것이다. 절두체 외부에 있는 제3 오브젝트(110)는 교차들에 대해 테스트되지 않을 것이다.
도 11은 전부 절두체 외부에 놓여 있는 DAS(111)에서 오브젝트들 및 이들의 서브 메시들을 분류하는 프로세스를 도시한다. 다각형들(104, 105, 106)은 3개의 절두체의 측면을 나타낸다. 이들 벽들의 각각은 DAS 바운딩 박스들의 메시 및 서브 메시 계층 레벨들을 순회하여, 절두체에서 벗어난 오브젝트들 및 그 일부들을 잘라내도록 로우(row)에서 사용된다. 이러한 순회는 상위 레벨로부터 마지막 서브 메시 레벨까지, 삼각형 레벨 바로 위의, DAS의 메시 레벨들로만 발생한다. 제1 벽의 순회(104)의 출력은 다음 벽의 순회(105)에 대한 입력으로서 사용된 후, 벽의 순회(106)에 대한 입력으로서 사용된다. 각각의 순회는 전부 절두체의 반대 측 상에 있는 오브젝트 메시들 또는 서브 메시들의 바운딩 박스들을 분류한다. 절두체 테스트 동안 삼각형 레벨(59)(도 5)은 순회에 관여하지 않는다. 절두체 테스트의 결과는 교차 테스트들을 위한 후보들로서, 삼각형 레벨 위의 마지막 메시 계층의 관련 서브 메시들의 리스트(110)이다.
일 실시예에 따르면, 정확성 및 효율성을 위해, 하단 계층 레벨들(삼각형들의 하나 이상의 리프 레벨)만이 개별 2차 광선들에 의해 순회된다. 그 레벨들은 절두체 순회에 후속하여, 별도로 순회된다. 절두체 순회 단계가 완료되면, 후속 광선 순회 단계가 발생한다. 이는 수신기 삼각형으로부터 방출 오브젝트들을 향해 2차 광선들을 트레이싱하는 것에 기초한다. 이러한 순회 단계에서, 가시성 테스트에서 존립하는 서브 메시들만이 활성으로 유지된다. 이들의 삼각형들은 교차에 대해 2차 광선들에 의해 테스트된다.
이러한 제2 단계는 도 12에 나타나 있다. DAS 구조(121)는 희박하여, 시각화 테스트에서 존립하는 후보 메시들, 서브 메시들 및 삼각형들만을 포함한다. 삼각형 레벨 바로 위의 최하위 서브 메시 계층만이 122로 나타나 있다. DAS의 하단 레벨에 나타낸 후보 삼각형들(123)은 교차 테스트들을 위한 후보들이다. 분석적 실시예에 따르면, 각각의 방출 삼각형에 대한 단일 교차 테스트는 삼각형을 선정하는데 충분하다. 삼각형에 대한 부가 교차 테스트들은 필요하지 않다. 방출체 삼각형은 수신 삼각형 상의 분석적 투영 및 셰이딩을 위해 취해진다. 수신 삼각형의 각각의 2차 광선은 후보 방출 삼각형들을 통해 순회할 것이다. 광선에 의해 히트된 방출 삼각형이 처음 발견되고, 삼각형은 후보 삼각형들의 리스트로부터 제거되며 수신 삼각형 상에 투영된다. 리스트는 교차 테스트들 전체에 걸쳐 축소되어 교차 프로세스 속도가 빨라진다.
분석적 교차 테스트들의 실시예는 도 13의 흐름도에 나타나 있다. 스테이지 1에서 기하학적 오브젝트들 또는 그 일부는 절두체 테스트에 의해 클리핑되어, 절두체 외부에서 발생하게 될 교차 테스트들을 제거한다. 스테이지 2에서, 나머지 방출 삼각형들은 2차 광선들에 의한 교차 테스트를 겪고, 한 번 교차되면, 수신 삼각형 상의 그 방출 삼각형의 분석적 투영이 수행되어, 후속 교차 테스트들을 절약한다.
처음(131) DAS 구조의 최상위 계층 바운딩 박스들(도 11의 111)은 3개의 클리핑된 절두체 측면(104 내지 106) 각각과 교차된다. 각각의 교차에서 전부 절두체 외부에 있는 기하학적 오브젝트들은 후보로부터 드롭된다. 적어도 부분적으로 절두체 내부에 남아있는 오브젝트들에 대해, 다음 계층의 이들의 서브 메시들이 절두체 측면들과의 교차를 위해 취해진다. 다시, 각각의 교차에 대해, 전부 절두체 외부에 있는 이러한 서브 메시들은 드롭된다(132). 절두체 교차 테스트는 서브 메시 계층을 따라 하강하고 있으며(133), 마지막 교차는 삼각형 레벨 바로 위에서 수행된다. 적어도 부분적으로 가시성 테스트를 통과한 서브 메시들에 속하는 삼각형들만이 활성 서브 메시들의 리스트(110)에 유지된다. 제2 스테이지는 블록(134)에서 시작한다. 2차 광선들은 활성 삼각형들에서 수신기의 삼각형으로부터 발사된다. 각각의 2차 광선은 모든 후보 삼각형들과의 교차 테스트들을 행한다. 2차 광선에 의해 히트되는 각각의 삼각형마다, 후보 리스트로부터 삼각형을 제거하고 이를 수신기 삼각형 상으로 분석적으로 투영한다. 그 후(135), 2차 광선이 삼각형을 히트하면, 삼각형은 재료, 컬러, 광 등에 대해 샘플링되고, 수신기의 삼각형 상으로의 삼각형의 분석적 투영이 수행된다(도 3 참조). 2차 광선들과 교차된 삼각형 사이의 부가적인 교차 테스트들은 수행되지 않는다. 중복 교차 테스트들이 절약되어, 효율성을 개선한다.
다른 실시예에 따르면, 수신 삼각형의 모든 2차 광선들은 모든 후보 삼각형들(110)을 순회하여, 교차를 찾을 것이다. 후보 리스트의 길이는 안정적으로 유지된다. 교차된 삼각형들은 교차 지점에서 광 값들에 대해 샘플링된다. 이 실시예는 도 14에서 플로우챠팅된다. 절두체 외부에 상주하는 오브젝트들 또는 그 일부를 제거하는 제1 스테이지는 분석적 실시예(141 내지 143)와 동일하다. 스테이지 2 에서, 나머지 방출 삼각형들은 모든 관련된 2차 광선들과 교차 테스트를 겪는다.
처음(141) DAS 구조의 최상위 계층 바운딩 박스들(도 11의 111)은 3개의 클리핑된 절두체 측면(104-106) 각각과 교차된다. 각각의 교차에서, 절두체 외부에서 전부, 가시적이지 않은 기하학적 오브젝트들은 드롭된다. 적어도 부분적으로 절두체 내부에 남아있는 오브젝트들에 대해, 다음 계층의 이들의 서브 메시들이 절두체 측면들과의 교차를 위해 취해진다. 다시, 각각의 교차에 대해, 전부 절두체 외부에 있는 서브 메시들은 드롭된다(102). 절두체 교차 테스트는 서브 메시 계층 아래에서 수행되며(143), 마지막 교차는 삼각형 레벨 바로 위의 계층 레벨에서 수행된다. 적어도 부분적으로 내부 절두체 테스트를 통과한 서브 메시들에 속하는 삼각형들만이 후보 리스트(110)에 유지된다. 제2 스테이지는 블록(144)에서 시작한다. 2차 광선들은 수신기의 삼각형으로부터 활성 삼각형들(123)에서 발사된다. 각각의 2차 광선은 모든 활성 삼각형들과의 교차 테스트들을 행한다. 2차 광선이 삼각형을 히트하면, 그의 가장 근접한 히트로부터, 재료, 컬러, 광 등의 샘플(다중 교차들이 단일 광선에 대해 발생할 수도 있음)을 수신기의 삼각형에 가져온다(145).
양자의 실시예들에서, 방출 삼각형들에서 샘플링된 광 값들은 수신 삼각형에서의 오브젝트의 반사를 재구성하기 위해 그들 개개의 1차 히트 지점들과 병합된다. 마지막으로, 병합된 결과들은 다른 수신기 삼각형들과 함께, 스크린 상의 이미지 픽셀들에 전달된다.
2차 광선들의 코히어런스 . 2차 광선들의 코히어런스는 이들이 생성되고 프로세싱되는 집합적 방식으로 인해 본 개시에서 달성된다. 종래 기술에서 2차 광선들은 1차 광선들의 직접적인 연속에서 생성되고, 이들은 1차 광선들이 히트하는 곳에서 바운스한다. 일 실시예에 따르면, 2차 광선들은 1차 광선들로부터 디커플링된다. 이들은 1차 광선들의 독립적으로(예를 들어, 반사, 컬러 블리딩, 주변 폐색, 섀도우 등을 위해) 생성되고 프로세싱된다. 그러나, 완료될 때, 2차 광선에 의해 생성된 데이터는 상대 1차 광선의 데이터와 병합되고 대응하는 이미지 픽셀로 전송된다. 즉, 1차 및 2차 광선들은 서로 비동기적으로 작동하지만, 수집된 데이터는 최종적으로 병합된다. 3차 광선과 2차 광선 사이의 관계에도 동일하게 적용되며, 고차의 광선들에도 또한 동일하게 적용된다.
1차 광선과 2차 광선 사이의 디커플링은 도 10에서 광선들(104 내지 106)의 절두체 투영과 같은, 패키지에서 2차 광선들의 핸들링을 허용한다. 이들 모두는 수신기 삼각형(103)과 같은 조인트 발신지로부터 발사되어, 종종 유사한 장면 오브젝트들, 예를 들어 101 및 102를 히트하고, 가속 데이터 구조의 유사한 부분들, 예를 들어 도 12의 123을 순회한다. 반사 표면의 삼각형으로부터 발사되고 가속 구조를 순회하는 2차 광선들은, 하나의 공통 발신지 및 상호 근접한 목적지들을 갖고 있으며, 따라서 이들은 코히어런트이다.
2차 광선들의 결합된 경로들의 결과는 높은 코히어런스이며, 이는 광선 트레이싱에서 오랫 동안의 필요성이다. 본 개시의 2차 광선들은, 이들이 모두 동일한 절두체에 속하기 때문에, 즉 이들 모두가 동일한 삼각형에서 시작하여 대략 동일한 방향을 취하기 때문에 코히어런트이다. 2차 광선들의 코히어런트 핸들링은 높은 병렬성 및 GPU의 높은 활용을 달성한다.
실시간 스킨 애니메이션. 애니메이션 기술에서, 스킨화된 애니메이션은 통상적으로 2개의 부분: 캐릭터를 그리는데 사용되는 표면 표현(스킨 또는 메시라고 함) 및 메시를 애니메이팅하는데 사용되는 상호연결된 본(bone)들의 계층적 세트(스켈톤 또는 링이라고 함)로 표현된다. 본 발명의 의도는 첫번째 부분인, 메시 데이터의 그래픽 변형만을 제어하는 것이다. 오브젝트의 이러한 변형이 발생할 때, 이에 따라서 그의 표면 표현이 이웃 오브젝트들 또는 전체 구조의 계층에 영향을 미치지 않으면서, 실시간으로 수행하여, 그의 메인 메시, 서브 메시들 및 이들의 바운딩 박스들 내에서 업데이트되어, 로컬성 및 자율성을 유지한다. 각각의 기하학적 오브젝트의 이러한 자율성은 DAS의 동적 특성들을 제공하여, 동적 장면들의 효율적이고 빠른 스킨 애니메이션 및 업데이트를 허용한다.
하기 본 명세서에서 상세히 설명되는 바와 같이, 스킨 애니메이션의 실시간 성능은 2차 광선들의 공간적 로컬성 및 광선 코히어런스뿐만 아니라 DAS의 동적 특징들 및 로컬성으로부터 도출된다.
2차 광선들의 공간적 로컬성은 단지 작은 영역들에만 영향을 미치는 패키지들에서 광선들을 바운딩함으로써 달성된다. 광선 패키지들은 비평면 수신 표면의 작은 영역들로부터 발사되고 목적지의 작은 영역들에 타겟팅된다. 목적지 영역이 작을수록 다양한 오브젝트들과 재료들 측면에서 더 균질해지므로, 계산 복잡도와 필요한 메모리 및 캐시 메모리를 감소시킨다. 감소된 복잡도는 반사 및 반사된 측면들 양자 모두에서, 애니메이팅된 오브젝트들을 빠르게 프로세싱하는 것을 보조한다. 광선 패키지들을 생성하는 능력은 2차 광선들의 코히어런스에 의해 용이하게 된다.
로컬화된 DAS 검색. 목적지(반사된) 측에서, 비평면 표면에서 반사를 위해 검색된 오브젝트들은 DAS 계층들에서 가시성을 위해 조기에 검색된다. DAS에서의 상이한 오브젝트 계층들이 서로 분리되기 때문에, 이러한 분리는 검색에서 비-애니메이팅된 오브젝트들 또는 그 일부들의 관여를 최소화하는 것을 보조한다.
감소된 순회들. DAS를 순회하는데 있어서 부가적인 효율성은 절두체 기반 조기 가시성 테스트들에 의해 광선 순회들에 대한 DAS의 검색가능한 계층들을 감소시킴으로써 얻어진다. 절두체에 의한 조기 가시성 테스트는 은닉된 DAS 계층들을 멀리 시프트시켜, 교차 테스트들에 대해 개별 2차 광선들에 의해 순회될 DAS 구조의 일부만을 남겨서, 순회들을 감소시키고 이들의 속도를 높인다.
감소된 교차 테스트들. 최종적으로, 광선-삼각형 교차 테스트들의 양은 DAS 구조의 단지 나머지 부분들만을 순회할 필요성에 의해 감소되는 한편, 은닉된 부분들은 초기에 가시성 테스트들에 의해 시프트 오프되어, 네거티브 교차 테스트들을 제거하였다. 사실상 교차 테스트들은 포지티브 교차 테스트들로 구성된다. 포지티브 교차 테스트들은 삼각형들의 리프 계층들에만 집중되며, 리프 계층들을 순회할 때 작은 패키지들에서 몇몇 코히어런트 2차 광선을 수집함으로써 이들의 효율성이 부가적으로 개선될 수 있다.
요약하면, 2차 광선들의 공간적 로컬성 및 코히어런스의 위에 언급된 이유들, 로컬화된 DAS 검색, 감소된 순회들, 및 감소된 교차 테스트들은, 가속 구조들의 순회 속도를 높이기 위해 하드웨어 가속기들을 도입하지 않으면서, 소프트웨어만으로 실시간 광선 트레이싱 및 실시간 스킨 애니메이션을 가능하게 한다.
클라우드 . 클라우드 스트리밍은 복잡한 또는 하이 엔드 콘텐츠를 배포하기 위한 솔루션으로서 정기적으로 포지셔닝되지만, 그 확장성은 이용가능한 대역폭과 클라우드 컴퓨팅 리소스들에 의존한다. 한편, 클라이언트 디바이스들은 구축된 능력들에 따라 계속 수행되며, 소프트웨어 호환성의 윈도우는 유한하다. 클라우드 스트리밍은 이용가능한 충분한 대역폭과 컴퓨팅 리소스들을 가짐으로써 사용자 기반의 요구를 충족해야 한다. 이러한 과잉 필요성은 디바이스/애플리케이션의 더 많은 자급자족에 의해 충족될 것이다. 하이브리드 광선 트레이싱의 더 낮은 계산 복잡도를 교시하는 본 발명은, 인터넷 접속성이 쉽게 이용가능하지 않을 때, 클라우드로부터 클라우드 클라이언트 디바이스들의 독립적인 동작에 적합하다. 적용가능한 경우, 클라이언트 디바이스들은 누락된 마력 및/또는 사용자 경험에 대해 전달하는 능력을 보상하는데 도움이 되는 프로세싱 능력 및 책임의 밸런싱된 워크로드를 통해 클라우드에 의해 보충되어야 한다. 클라우드 서버 측에서 감소된 복잡도는 클라우드 렌더링을 통해 효율적이고 효과적이며 경제적인 실시간 광선 트레이싱 솔루션을 가능하게 한다. 임의의 특수 목적 하드웨어 없이 서버 측 상에서 종래 GPU들을 사용함으로써, 많은 동시 온라인 스트림들, 전력 효율 및 빠른 쓰루풋의 지원이 가능해진다. 하드웨어 가속기들 없이, 소프트웨어-전용 솔루션이 기존 인프라의 사용을 허용한다.
제공된 방법들은 범용 컴퓨터, 프로세서, 또는 프로세서 코어 상에서 구현될 수 있다. 적합한 프로세서들은, 예로서, 범용 프로세서, 특수 목적 프로세서, 그래픽 프로세서, 종래의 프로세서, 디지털 신호 프로세서(DSP), 복수의 마이크로프로세서, DSP 코어와 연관된 하나 이상의 마이크로프로세서, 제어기, 마이크로제어기, 주문형 집적 회로(ASIC), 필드 프로그래밍가능 게이트 어레이(FPGA) 회로, 임의의 다른 타입의 집적 회로(IC), 및/또는 상태 머신을 포함한다. 이러한 프로세서들은 프로세싱된 하드웨어 기술 언어(HDL) 명령들의 결과들 및 넷리스트들을 포함하는 다른 중간 데이터(이러한 명령들은 컴퓨터 판독가능 매체들 상에 저장될 수 있음)를 사용하여 제조 프로세스를 구성함으로써 제조될 수 있다. 이러한 프로세싱의 결과들은 본 개시의 특징들을 구현하는 프로세서를 제조하기 위해 이후 반도체 제조 프로세스에서 사용되는 마스크워크들일 수 있다.
컴퓨팅 시스템. 도 15는 본 개시의 실시예들에 따른 효율적인 광선 트레이싱을 위한 컴퓨팅 시스템(156)을 나타낸다. 이전의 실시예들의 다양한 아키텍처 및 기능성이 구현될 수 있다. 나타낸 바와 같이, 통신 버스(155)에 연결되는 적어도 하나의 호스트 프로세서(150)를 포함하는 시스템이 제공된다. 시스템은 또한 호스트 메모리(151)를 포함한다. 소프트웨어 및 데이터는 RAM의 형태를 취할 수도 있는 메인 메모리에 저장된다. 시스템은 또한 그래픽 프로세서(GPU)(152) 및 디스플레이(153)를 갖는 그래픽 시스템을 포함한다. GPU는 복수의 셰이더, 래스터화 모듈 등을 갖는다. 실시예들은 GPU에 가장 적합하다. 본 개시에서 달성되는 2차 광선들의 코히어런스는 GPU의 높은 활용을 달성한다.
일 실시예에서 그래픽 프로세서는 그 자신의 비디오 메모리를 갖고 CPU에 의해 호스팅되는 이산 GPU이다. 다른 실시예에서, GPU는 메모리를 공유하는 CPU 코어들과 단일 칩에 통합될 수도 있다. 유사하게, 일 실시예에서, 전술한 모듈들은 FPGA 및/또는 다른 재구성가능한 디바이스와 같은 반도체 플랫폼에 위치될 수도 있다. 옵션으로서, 이러한 디바이스들은 소켓 내 디바이스들일 수도 있다. 시스템(156)은 또한 2차 스토리지(154)를 포함할 수도 있다. 또한, 나타내지는 않았지만, 시스템(156)은 통신 목적들을 위해 네트워크(예를 들어, 인터넷, LAN, WAN)에 및/또는 클라우드 스트리밍에 커플링될 수도 있다.
다양한 실시예들이 위에서 설명되었지만, 그것들은 제한들이 아닌 예시로서만 제시되었다는 것이 이해되어야 한다. 따라서, 바람직한 실시예의 영향력 및 범위는 오직 후속하는 청구항들 및 그 균등물들에 따라서만 정의되어야 한다.

Claims (102)

  1. 코히어런트 2차 광선들에 의해 비평면 반사들을 생성하기 위한 하이브리드 광선 트레이싱 방법으로서,
    a) 비평면 표면의 각각의 삼각형에서
    공통 발신지 및 상호 근접한 목적지들을 갖는 2차 광선들의 패키지를 생성하는 단계;
    장면의 오브젝트들 상에 2차 광선들의 패키지를 발사하는 단계; 및
    상기 장면의 오브젝트들과의 교차 테스트들에 대한 가속 구조를 순회하는 단계
    를 포함하는, 하이브리드 광선 트레이싱 방법.
  2. 제1항에 있어서,
    상기 2차 광선들은 이미지로부터 떨어진, 장면의 오브젝트 공간에서 생성되는, 하이브리드 광선 트레이싱 방법.
  3. 제1항에 있어서,
    상기 2차 광선들은 이미지로부터 떨어진, 장면의 오브젝트 공간에서 프로세싱되는, 하이브리드 광선 트레이싱 방법.
  4. 제3항에 있어서,
    오브젝트 공간에서 2차 광선들을 프로세싱하는 것은 이미지의 뷰포트에서 벗어나는 오브젝트들의 반사들을 보여주는 것을 가능하게 하는, 하이브리드 광선 트레이싱 방법.
  5. 제1항에 있어서,
    상기 2차 광선들은 1차 광선들과 독립적으로 생성되는, 하이브리드 광선 트레이싱 방법.
  6. 제5항에 있어서,
    상기 2차 광선들의 결과 데이터가 1차 광선들의 데이터와 병합되는, 하이브리드 광선 트레이싱 방법.
  7. 제1항에 있어서,
    상기 2차 광선들의 패킷들은 상기 2차 광선들의 코히어런스에 의해 인에이블되는, 하이브리드 광선 트레이싱 방법.
  8. 장면의 기하학적 오브젝트들에서 발사된 코히어런트 2차 광선들에 의해 생성된, 비평면 반사들의 하이브리드 광선 트레이싱을 위한 컴퓨터 기반 방법으로서,
    2차 광선들은 1차 광선들로부터 디커플링되고,
    a) 1차 광선들과 독립적으로, 복수의 기하학적 오브젝트를 반사하기 위해 장면에서 비평면 반사 표면을 식별하는 단계;
    b) 상기 장면에서 상기 복수의 기하학적 오브젝트를 식별하는 단계; 및
    c) 상기 반사 표면의 각각의 삼각형에서
    상기 기하학적 오브젝트들에서 지향된 절두체를 생성하는 단계;
    상기 절두체에 의해 바운딩되고 상기 삼각형으로부터 상기 기하학적 오브젝트들을 향해 발사된 2차 광선들의 패킷을 생성하는 단계; 및
    코히어런트 광선들의 패킷들로서 가속 구조에서 상기 2차 광선들을 순회하는 단계
    를 포함하는, 컴퓨터 기반 방법.
  9. 제8항에 있어서,
    상기 2차 광선들은 광선들의 코히어런트 패킷을 포함하는, 컴퓨터 기반 방법.
  10. 제8항에 있어서,
    상기 절두체는 이미지와 별도로, 반사 표면의 상기 장면의 기하학적 오브젝트에 기초한 삼각형 피라미드의 형상을 갖는, 컴퓨터 기반 방법.
  11. 제8항에 있어서,
    상기 절두체는 반사 표면의 상기 장면의 기하학적 오브젝트로부터 가시성을 탐색하기 위해 기하학적 오브젝트들을 방출하는 메시들을 향해 발사되는, 컴퓨터 기반 방법.
  12. 제8항에 있어서,
    가속 구조의 순회들이 상기 비평면 반사 표면의 삼각형들로부터 수행된 예비 가시성 테스트들로 인해 개선된 효율을 갖는, 컴퓨터 기반 방법.
  13. 제8항에 있어서,
    상기 가속 구조를 순회하는 상기 반사 표면의 각각의 삼각형으로부터 발사된 모든 2차 광선들은 하나의 공통 발신지 및 상호 근접한 목적지들을 갖는, 컴퓨터 기반 방법.
  14. 제13항에 있어서,
    비평면 표면들에서 발사되는 2차 광선들의 공통 발신지들 및 그들의 상호 근접한 목적지들은 광선들을 코히어런트하게 만드는, 컴퓨터 기반 방법.
  15. 제14항에 있어서,
    상기 2차 광선들의 코히어런스는 이들이 생성되는 집합적 방식으로 인해 획득되어, 이들을 패킷들로 프로세싱할 수 있도록 하는, 컴퓨터 기반 방법.
  16. 제8항에 있어서,
    상기 2차 광선들의 발사는 1차 광선들에 의해 생성된 이미지와 독립적으로 수행되는, 컴퓨터 기반 방법.
  17. 제8항에 있어서,
    상기 2차 광선들은 래스터화된 이미지와 독립적으로 생성 및 프로세싱되는 한편, 이들의 결과 데이터는 이미지와 병합되는, 컴퓨터 기반 방법.
  18. 제17항에 있어서,
    상기 래스터화된 이미지와 독립적으로 2차 광선들을 프로세싱하는 방식은 또한 더 높은 차수의 광선들에 적용되는, 컴퓨터 기반 방법.
  19. 제8항에 있어서,
    코히어런트 광선들에 의한 상기 가속 구조의 순회들은 상기 가속 구조의 재구성들을 제거하는 것을 가능하게 하여, 이들을 동적 가속 구조를 위한 로컬 업데이트들로 대체하는, 컴퓨터 기반 방법.
  20. 제19항에 있어서,
    상기 가속 구조의 로컬 업데이트들은 상기 장면에서의 각각의 오브젝트 또는 그 일부의 빠른 애니메이션을 가능하게 하는, 컴퓨터 기반 방법.
  21. 제8항에 있어서,
    상기 2차 광선들의 코히어런스는 동적 가속 구조의 계층들을 통한 순회들의 높은 병렬성을 가능하게 하는, 컴퓨터 기반 방법.
  22. 제21항에 있어서,
    상기 2차 광선들의 코히어런스는 GPU의 높은 활용을 가능하게 하는, 컴퓨터 기반 방법.
  23. 제8항에 있어서,
    동적 가속 구조에서의 교차 테스트들의 효율은 네거티브 테스트들의 대부분을 비평면 반사 표면으로 사전 제거함으로써 개선되는, 컴퓨터 기반 방법.
  24. 제8항에 있어서,
    동적 가속 구조에서의 교차 테스트들의 효율은 네거티브 테스트들의 대부분을 제거하는 예비 가시성 테스트들에 의해 개선되는, 컴퓨터 기반 방법.
  25. 제8항에 있어서,
    상기 가속 구조는 상기 비평면 반사 표면에 영향을 미치는 삼각형들의 메시에 대해 구체적으로 검색되는, 컴퓨터 기반 방법.
  26. 제8항에 있어서,
    교차 테스트들은 타겟팅된 방출체 오브젝트들의 가시적 부분들에 대해서만 수행되는, 컴퓨터 기반 방법.
  27. 하이브리드 광선 트레이싱을 위해, 각각의 오브젝트마다 분리된 계층들의 동적 가속 구조를 구성하고 순회하기 위한 컴퓨터 기반 방법으로서,
    a) 장면에서의 복수의 기하학적 오브젝트를 식별하는 단계;
    b) 각각의 메시 계층에서의 후속 레벨이 선행 레벨의 메시의 서브 메시들을 포함하도록, 상기 동적 가속 구조에서의 각각의 기하학적 오브젝트마다 별도의 메시 계층을 확립하는 단계 - 메시들 및 서브 메시들은 바운딩 박스들에 의해 바운딩됨 -;
    c) 각각의 별도의 메시 계층의 하단에 삼각형들의 적어도 하나의 레벨을 확립하는 단계;
    d) 각각의 별도의 메시 계층의 레벨들을 그들의 바운딩 박스들과의 교차 테스트들을 위해 기하학적 볼륨으로 순회하는 단계; 및
    e) 삼각형들과의 교차 테스트들을 위해 2차 광선들로 각각의 별도의 메시 계층의 삼각형들의 적어도 하나의 레벨을 순회하는 단계
    를 포함하는, 컴퓨터 기반 방법.
  28. 제27항에 있어서,
    오브젝트 메시 계층들 사이의 분리는 각각의 오브젝트의 로컬 핸들링을 허용하는, 컴퓨터 기반 방법.
  29. 제27항에 있어서,
    상기 기하학적 볼륨에 의한 순회들에 대한 별도의 메시 계층들의 사용은 교차 테스트들의 양을 감소시키는, 컴퓨터 기반 방법.
  30. 제27항에 있어서,
    빠른 로컬 업데이트들을 위해 각각의 장면 오브젝트를 별도의 메시 계층으로서 유지하는 것이 동적 스킨 애니메이션을 가능하게 하는, 컴퓨터 기반 방법.
  31. 제27항에 있어서,
    별도의 메시 계층들의 동적 가속 구조는 비평면 표면에서 상기 기하학적 오브젝트들의 반사들을 생성하기 위해 사용되는, 컴퓨터 기반 방법.
  32. 제27항에 있어서,
    상기 2차 광선들은 비평면 표면의 삼각형으로부터 생성되는, 컴퓨터 기반 방법.
  33. 제27항에 있어서,
    상기 기하학적 볼륨들은 분리된 메시 계층들과의 교차를 위해 비평면 표면의 삼각형들로부터 투영되는, 컴퓨터 기반 방법.
  34. 제27항에 있어서,
    메시 계층들의 분리는 각각의 오브젝트 메시 계층의 로컬 및 자율적 업데이트를 허용하는, 컴퓨터 기반 방법.
  35. 제34항에 있어서,
    상기 자율적 업데이트는 각각의 오브젝트의 로컬 핸들링을, 그의 이웃 오브젝트들 또는 전체 구조의 상기 메시 계층에 영향을 미치지 않으면서 허용하는, 컴퓨터 기반 방법.
  36. 제35항에 있어서,
    각각의 오브젝트의 독립적인 이동은 실시간 스킨화된 애니메이션을 가능하게 하는, 컴퓨터 기반 방법.
  37. 제27항에 있어서,
    오브젝트 메시 계층들의 분리는 단일 오브젝트의 해상도로 업데이트들의 로컬화를 허용하는, 컴퓨터 기반 방법.
  38. 제27항에 있어서,
    상기 광선들은 2차 또는 고차일 수도 있는, 컴퓨터 기반 방법.
  39. 제27항에 있어서,
    상기 동적 가속 구조의 메시 레벨들은 가시성 테스트들을 위해 순회되는, 컴퓨터 기반 방법.
  40. 제39항에 있어서,
    상기 가시성 테스트들은 네거티브 광선-삼각형 교차 테스트들의 대부분을 제거하는, 컴퓨터 기반 방법.
  41. 제27항에 있어서,
    메시 레벨들의 순회들은 적어도 하나의 삼각형 레벨과 단일 광선들의 교차 테스트들에 대한 조기 단계인, 컴퓨터 기반 방법.
  42. 비평면 반사 표면들에서의 포토리얼리스틱 반사들을 위한 컴퓨터 기반 방법으로서,
    a) 장면에서 복수의 기하학적 오브젝트를 식별하는 단계;
    b) 각각의 기하학적 오브젝트마다 별도의 계층을 갖는 가속 구조를 구성하는 단계;
    c) 복수의 기하학적 오브젝트 또는 그 일부를 반사하기 위해 상기 장면에서 비평면 반사 표면을 식별하는 단계; 및
    d) 상기 반사 표면의 각각의 삼각형에서
    상기 기하학적 오브젝트들 또는 그 일부에서 지향된 절두체를 생성하는 단계;
    상기 가속 구조 또는 그 일부를 상기 절두체로 순회하는 단계;
    상기 절두체에 의해 바운딩되고 상기 기하학적 오브젝트들에서 발사된 2차 광선들을 생성하는 단계;
    2차 광선들로 상기 가속 구조의 부분을 순회하고 광 값들에 대해 교차된 삼각형들을 샘플링하는 단계;
    2차 광선들에 의해 샘플링된 광 값들을 1차 광선들의 그들 개개의 샘플들과 병합하여 포토리얼리스틱 반사를 재구성하는 단계; 및
    병합된 결과들을 스크린의 이미지 픽셀들에 전달하는 단계
    를 포함하는, 컴퓨터 기반 방법.
  43. 제42항에 있어서,
    상기 가속 구조는 동적 가속 구조인, 컴퓨터 기반 방법.
  44. 제43항에 있어서,
    상기 동적 가속 구조는 2개의 순회 단계에서 순회되는, 컴퓨터 기반 방법.
  45. 제44항에 있어서,
    제1 순회 단계는 삼각형 피라미드로 수행되는, 컴퓨터 기반 방법.
  46. 제44항에 있어서,
    제2 순회 단계는 2차 광선들로 수행되는, 컴퓨터 기반 방법.
  47. 제43항에 있어서,
    상기 동적 가속 구조는 메시들, 서브 메시들 및 개별 삼각형들의 계층 레벨들을 포함하는, 컴퓨터 기반 방법.
  48. 제47항에 있어서,
    각각의 후속 계층 레벨은 선행 레벨의 서브 메시들을 포함하는, 컴퓨터 기반 방법.
  49. 제47항에 있어서,
    상기 메시들 및 서브 메시들은 바운딩 박스들에 의해 바운딩되는, 컴퓨터 기반 방법.
  50. 제47항에 있어서,
    각각의 계층의 하단에는 개별 삼각형들의 리프 레벨이 있는, 컴퓨터 기반 방법.
  51. 제50항에 있어서,
    상기 동적 가속 구조의 리프 레벨들은 2차 광선들로 순회되는, 컴퓨터 기반 방법.
  52. 제50항에 있어서,
    상기 리프 레벨들은 상기 가속 구조의 순회된 부분인, 컴퓨터 기반 방법.
  53. 제42항에 있어서,
    상기 절두체는 상기 반사 표면의 상기 삼각형에 기초한 삼각형 피라미드의 형상을 갖는, 컴퓨터 기반 방법.
  54. 제53항에 있어서,
    절두체 피라미드는 3개의 측면으로 구성되는, 컴퓨터 기반 방법.
  55. 제54항에 있어서,
    각각의 측면은 동적 가속 구조의 메시 및 서브 메시 바운딩 박스들을 통해 별도로 순회되는, 컴퓨터 기반 방법.
  56. 제42항에 있어서,
    상기 2차 광선들의 발사는 1차 광선들을 발사하는 것과 독립적으로 수행되는, 컴퓨터 기반 방법.
  57. 제56항에 있어서,
    상기 1차 및 2차 광선들은 서로 비동기적으로 프로세싱되지만, 그들의 수집된 데이터는 병합되는, 컴퓨터 기반 방법.
  58. 제57항에 있어서,
    고차의 광선들 사이의 관계들에 동일하게 각각 적용되는, 컴퓨터 기반 방법.
  59. 제42항에 있어서,
    상기 삼각형으로부터 발사되고 있는 상기 2차 광선들은 상호 근접한 발신지들 및 근접한 목적지들을 가지고 있는, 컴퓨터 기반 방법.
  60. 제59항에 있어서,
    상기 2차 광선들의 공통 발신지 및 이들의 근접한 목적지들은 상기 광선들을 코히어런트하게 만드는, 컴퓨터 기반 방법.
  61. 제60항에 있어서,
    획득된 코히어런스는 2차 광선들의 패킷들에 의한 동적 가속 구조의 순회를 허용하는, 컴퓨터 기반 방법.
  62. 장면 오브젝트들의 실시간 스킨 애니메이션을 생성할 수 있는 하이브리드 광선 트레이싱을 위한 컴퓨터 기반 방법으로서,
    a) 2차 광선들의 공간적 로컬성;
    b) 가속 구조의 로컬화된 검색;
    c) 감소된 순회들; 및
    d) 감소된 교차 테스트들
    을 포함하는, 컴퓨터 기반 방법.
  63. 제62항에 있어서,
    상기 2차 광선들의 공간적 로컬성은 패키지들에서 코히어런트 광선들을 바운딩하는 것에 의해 달성되는, 컴퓨터 기반 방법.
  64. 제63항에 있어서,
    상기 2차 광선들은 비평면 수신 표면의 작은 영역들로부터 발사되는, 컴퓨터 기반 방법.
  65. 제63항에 있어서,
    상기 2차 광선들은 목적지의 작은 영역들에서 타겟팅되는, 컴퓨터 기반 방법.
  66. 제65항에 있어서,
    상기 목적지에서의 상기 공간적 로컬성은 프로세싱된 오브젝트들 및 재료들의 균질성을 증가시키는, 컴퓨터 기반 방법.
  67. 제65항에 있어서,
    상기 목적지에서의 상기 공간적 로컬성은 계산 복잡도를 감소시키는, 컴퓨터 기반 방법.
  68. 제65항에 있어서,
    상기 목적지에서의 상기 공간적 로컬성은 필요한 메모리 및 캐시 메모리를 감소시키는, 컴퓨터 기반 방법.
  69. 제62항에 있어서,
    상기 가속 구조의 로컬화된 검색은 가속 구조 계층들에서의 가시성에 대한 조기 검색에 의해 수용되는, 컴퓨터 기반 방법.
  70. 제69항에 있어서,
    상기 조기 검색은 메시들 및 서브 메시들의 오브젝트들의 계층들에서 수행되는, 컴퓨터 기반 방법.
  71. 제70항에 있어서,
    별도의 계층들에 대한 로컬화는 상기 검색에서 비-애니메이팅된 부분들을 수반하는 것을 최소화하는, 컴퓨터 기반 방법.
  72. 제62항에 있어서,
    상기 가속 구조의 순회들은 절두체 기반 조기 가시성 테스트들에 의해 감소되는, 컴퓨터 기반 방법.
  73. 제72항에 있어서,
    상기 조기 가시성 테스트는 은닉된 가속 구조 계층들을 시프트 오프하는, 컴퓨터 기반 방법.
  74. 제73항에 있어서,
    상기 시프트 오프는 교차 테스트를 위한 상기 가속 구조의 일부만을 남기는, 컴퓨터 기반 방법.
  75. 제62항에 있어서,
    사실상 교차 테스트들은 포지티브 교차 테스트들을 포함하는, 컴퓨터 기반 방법.
  76. 제75항에 있어서,
    네거티브 교차 테스트들은 조기 가시성 테스트들에 의해 제거되는, 컴퓨터 기반 방법.
  77. 제75항에 있어서,
    상기 포지티브 교차 테스트들은 상기 가속 구조의 리프 계층들에서 집중되는, 컴퓨터 기반 방법.
  78. 제62항에 있어서,
    감소된 교차 테스트들의 효율은 코히어런트 2차 광선들을 작은 패키지들로 수집함으로써 부가적으로 개선될 수 있는, 컴퓨터 기반 방법.
  79. 제62항에 있어서,
    장면 오브젝트들의 실시간 스킨 애니메이션은 하드웨어 가속기들 없이, 소프트웨어만으로 수행될 수 있는, 컴퓨터 기반 방법.
  80. 감소된 계산 복잡도로 인해 실시간 성능을 갖는, 배터리 전력공급형 컴퓨팅 디바이스들을 위한 소프트웨어-기반 하이브리드 광선 트레이싱의 컴퓨터 기반 방법으로서,
    a) 2차 광선들의 코히어런스;
    b) 2차 광선들의 공간적 로컬성;
    c) 순회 가속 구조에서의 로컬성;
    d) 감소된 순회들;
    e) 감소된 교차 테스트들; 및
    f) 감소된 전력 요건들
    을 포함하는, 컴퓨터 기반 방법.
  81. 제80항에 있어서,
    2차 광선들의 패킷들은 공통 발신지로부터 발사되고 상호 근접한 목적지들로 가는, 컴퓨터 기반 방법.
  82. 제81항에 있어서,
    상기 공통 발신지들 및 상호 근접한 목적지들은 2차 광선들의 광선 코히어런스를 초래하는, 컴퓨터 기반 방법.
  83. 제82항에 있어서,
    코히어런트 2차 광선들은 집합적 방식으로 생성 및 핸들링되는, 컴퓨터 기반 방법.
  84. 제80항에 있어서,
    상기 2차 광선들의 발사는 1차 광선들에 의해 생성된 이미지와 독립적으로 수행되는, 컴퓨터 기반 방법.
  85. 제80항에 있어서,
    상기 2차 광선들은 1차 광선들과 독립적으로 생성 및 프로세싱되는 한편, 이들의 결과 데이터는 상기 1차 광선들과 병합되는, 컴퓨터 기반 방법.
  86. 제80항에 있어서,
    상기 2차 광선들의 공간적 로컬성은 패키지들에서 코히어런트 광선들을 바운딩하는 것에 의해 달성되는, 컴퓨터 기반 방법.
  87. 제86항에 있어서,
    상기 2차 광선들은 목적지의 작은 영역들에서 타겟팅되는, 컴퓨터 기반 방법.
  88. 제86항에 있어서,
    목적지에서의 상기 공간적 로컬성은 장면 오브젝트들 및 재료들의 프로세싱 균질성을 증가시키는, 컴퓨터 기반 방법.
  89. 제86항에 있어서,
    목적지에서의 상기 공간적 로컬성은 필요한 메모리 및 캐시 메모리를 감소시키는, 컴퓨터 기반 방법.
  90. 제80항에 있어서,
    순회하는 가속 구조의 로컬성은 가속 구조 계층들에서의 가시성에 대한 조기 검색에 의해 수용되는, 컴퓨터 기반 방법.
  91. 제90항에 있어서,
    상기 조기 검색은 메시들 및 서브 메시들의 오브젝트들의 계층들에서 수행되는 한편, 오브젝트 계층들은 상기 가속 구조에서 서로 분리되는, 컴퓨터 기반 방법.
  92. 제91항에 있어서,
    별도의 계층들에서의 상기 조기 검색은 장면의 비-애니메이팅된 부분들의 관여를 최소화하는, 컴퓨터 기반 방법.
  93. 제80항에 있어서,
    상기 가속 구조의 순회들은 절두체 기반 조기 가시성 테스트들에 의해 감소되는, 컴퓨터 기반 방법.
  94. 제93항에 있어서,
    상기 조기 가시성 테스트는 은닉된 가속 구조 계층들을 시프트 오프하는, 컴퓨터 기반 방법.
  95. 제94항에 있어서,
    은닉된 부분들을 시프트 오프하는 것은 교차 테스트들을 최소화하는, 컴퓨터 기반 방법.
  96. 제80항에 있어서,
    사실상 교차 테스트들은 포지티브 교차 테스트들을 포함하는, 컴퓨터 기반 방법.
  97. 제96항에 있어서,
    네거티브 교차 테스트들은 조기 가시성 테스트들에 의해 제거되는, 컴퓨터 기반 방법.
  98. 제96항에 있어서,
    상기 포지티브 교차 테스트들은 상기 가속 구조의 리프 계층들에서 집중되는, 컴퓨터 기반 방법.
  99. 제80항에 있어서,
    감소된 교차 테스트들의 효율은 수개의 코히어런트 2차 광선들을 작은 패키지들로 수집함으로써 부가적으로 개선될 수 있는, 컴퓨터 기반 방법.
  100. 제80항에 있어서,
    상기 실시간 하이브리드 광선 트레이싱은 하드웨어 가속기들 없이, 소프트웨어만으로 구현될 수 있는, 컴퓨터 기반 방법.
  101. 제80항에 있어서,
    상기 하이브리드 광선 트레이싱의 감소된 계산 복잡도는 공간적 로컬성, 데이터 베이스 로컬성, 감소된 순회들 및 감소된 교차 테스트들로부터 기인하는, 컴퓨터 기반 방법.
  102. 제80항에 있어서,
    상기 하이브리드 광선 트레이싱의 감소된 전력 요건들은 감소된 계산 복잡도로부터 비롯되는, 컴퓨터 기반 방법.
KR1020227027051A 2020-01-04 2020-12-07 배터리 전력공급형 컴퓨팅 디바이스들을 위한 실시간, 소프트웨어 기반 하이브리드 광선 트레이싱 KR20220139880A (ko)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US202062957157P 2020-01-04 2020-01-04
US62/957,157 2020-01-04
US16/844,681 2020-04-09
US16/844,681 US11017581B1 (en) 2020-01-04 2020-04-09 Method for constructing and traversing accelerating structures
US16/874,705 US10991147B1 (en) 2020-01-04 2020-05-15 Creating coherent secondary rays for reflections in hybrid ray tracing
US16/874,705 2020-05-15
US202063067881P 2020-08-20 2020-08-20
US63/067,881 2020-08-20
US17/019,272 2020-09-13
US17/019,272 US11010957B1 (en) 2020-01-04 2020-09-13 Method for photorealistic reflections in non-planar reflective surfaces
PCT/IL2020/051262 WO2021137207A2 (en) 2020-01-04 2020-12-07 Real-time, software-based hybrid ray tracing for battery-powered computing devices

Publications (1)

Publication Number Publication Date
KR20220139880A true KR20220139880A (ko) 2022-10-17

Family

ID=76686579

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227027051A KR20220139880A (ko) 2020-01-04 2020-12-07 배터리 전력공급형 컴퓨팅 디바이스들을 위한 실시간, 소프트웨어 기반 하이브리드 광선 트레이싱

Country Status (4)

Country Link
EP (1) EP4085428A4 (ko)
KR (1) KR20220139880A (ko)
CN (1) CN115136201A (ko)
WO (1) WO2021137207A2 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11017581B1 (en) 2020-01-04 2021-05-25 Adshir Ltd. Method for constructing and traversing accelerating structures
CN117788677A (zh) * 2023-12-29 2024-03-29 摩尔线程智能科技(上海)有限责任公司 全局光照确定方法、装置及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7973790B2 (en) * 2005-08-11 2011-07-05 Realtime Technology Ag Method for hybrid rasterization and raytracing with consistent programmable shading
US7940265B2 (en) * 2006-09-27 2011-05-10 International Business Machines Corporation Multiple spacial indexes for dynamic scene management in graphics rendering
US8411087B2 (en) * 2008-02-28 2013-04-02 Microsoft Corporation Non-linear beam tracing for computer graphics
US10419737B2 (en) * 2015-04-15 2019-09-17 Google Llc Data structures and delivery methods for expediting virtual reality playback
US10438397B2 (en) * 2017-09-15 2019-10-08 Imagination Technologies Limited Reduced acceleration structures for ray tracing systems
US10699467B2 (en) * 2018-04-16 2020-06-30 Facebook Technologies, Llc Computer-graphics based on hierarchical ray casting

Also Published As

Publication number Publication date
CN115136201A (zh) 2022-09-30
EP4085428A2 (en) 2022-11-09
EP4085428A4 (en) 2024-03-06
WO2021137207A2 (en) 2021-07-08
WO2021137207A3 (en) 2021-09-23

Similar Documents

Publication Publication Date Title
CN109509138B (zh) 针对射线跟踪系统的减小的加速结构
US20230237729A1 (en) Method for continued bounding volume hierarchy raversal on intersection without shader intervention
US10950030B2 (en) Specular reflections in hybrid ray tracing
US7952583B2 (en) Quasi-monte carlo light transport simulation by efficient ray tracing
US11804002B2 (en) Techniques for traversing data employed in ray tracing
US11010957B1 (en) Method for photorealistic reflections in non-planar reflective surfaces
US11816783B2 (en) Enhanced techniques for traversing ray tracing acceleration structures
JP2009525526A (ja) ビーム放出によって仮想画像を合成するための方法
US11450057B2 (en) Hardware acceleration for ray tracing primitives that share vertices
Friedrich et al. Exploring the use of ray tracing for future games
US11854141B2 (en) Early release of resources in ray tracing hardware
Dietrich et al. Massive-model rendering techniques: a tutorial
KR20220139880A (ko) 배터리 전력공급형 컴퓨팅 디바이스들을 위한 실시간, 소프트웨어 기반 하이브리드 광선 트레이싱
Demoullin Hybrid rendering: in pursuit of real-time raytracing
van der Ploeg Interactive Ray Tracing
CN117689793A (zh) 用于光线追踪的部分加速结构的生成和遍历
Wöllert Realtime and Interactive Ray Tracing Basics and Latest Developments
Dubla Interactive global illumination on the CPU
Es Accelerated ray tracing using programmable graphics pipelines
Koçdemir Visibility grid method for efficient crowd rendering wirh shadows
Ferreira Ray Tracing in Electronic Games
Topcu Data parallelism for ray casting large scenes on a CPU-GPU cluster

Legal Events

Date Code Title Description
N231 Notification of change of applicant