KR20150039493A - 레이 트레이싱 처리 장치 및 방법 - Google Patents

레이 트레이싱 처리 장치 및 방법 Download PDF

Info

Publication number
KR20150039493A
KR20150039493A KR20130118129A KR20130118129A KR20150039493A KR 20150039493 A KR20150039493 A KR 20150039493A KR 20130118129 A KR20130118129 A KR 20130118129A KR 20130118129 A KR20130118129 A KR 20130118129A KR 20150039493 A KR20150039493 A KR 20150039493A
Authority
KR
South Korea
Prior art keywords
unit
primitive
ray
ist
trv
Prior art date
Application number
KR20130118129A
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
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR20130118129A priority Critical patent/KR20150039493A/ko
Priority to US14/261,538 priority patent/US20150091904A1/en
Publication of KR20150039493A publication Critical patent/KR20150039493A/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
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/52Parallel processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

본 발명은 레이 트레이싱 처리장치 및 방법에 관한 것이다. 본 발명의 일 실시예에 따른 레이 트레이싱 처리방법은, 입력된 광선(ray)에 대한, 광선-노드 교차 검사를 수행하여, 상기 광선이 교차하는 리프 노드(leaf node)를 검출하는 단계 및 상기 리프 노드가 검출되면, TRV 유닛의 상태와 IST 유닛의 상태를 비교하여, 상기 광선을 상기 TRV 유닛으로 피드백할 것인지 상기 IST 유닛으로 전송할 것인지를 결정하는 단계를 포함하는 것을 특징으로 한다.

Description

레이 트레이싱 처리 장치 및 방법{Apparatus and method for processing ray tracing}
본 발명은 레이 트레이싱 처리 장치 및 그 처리 방법에 관한 것으로, 더욱 구체적으로는 하드웨어 유닛들 간의 부하를 균등하게 유지할 수 있는 레이 트레이싱(ray tracing) 처리 장치 및 그 처리 방법에 관한 것이다.
일반적으로 3D 렌더링(3-Dimensional Rendering)은 3차원 객체 데이터를 주어진 카메라 시점(view point)에서 보이는 영상으로 합성(synthesis)해주는 영상 처리를 말한다.
렌더링 방법은 3차원 객체를 화면에 투영(projection)하면서 영상을 생성하는 래스터화(rasterization) 방법과 카메라 시점에서 영상의 각 픽셀을 향한 광선을 따라 입사하는 빛의 경로를 추적하여 영상을 생성하는 레이 트레이싱(ray tracing)등이 있다.
이 중 레이 트레이싱은 빛의 물리적 성질(반사, 굴절, 투과 등)을 렌더링 결과에 반영하므로 고품질 영상을 생성할 수 있다는 장점이 있으나, 상대적으로 연산량이 방대하여 고속으로 렌더링 하는데 어려움이 있다.
레이 트레이싱 성능에 있어서 연산량이 많이 요구되는 요소는 렌더링 대상이 되는 신 오브젝트(scene object)들을 공간적으로 분할한 가속 구조(Acceleration Structure, 이하에서는 ‘AS’라고 한다.)의 생성 및 탐색(Traversal, 이하에서는 ‘TRV’라고 한다)과, 광선과 프리미티브 사이의 교차 검사(Intersection Test, 이하에서는 ‘IST’라고 한다)이다.
TRV 유닛과 IST 유닛으로 구성되는 하드웨어 유닛들의 부하를 적응적으로 조절하여, 하드웨어 유닛들의 유휴(idle)상태를 최소화함으로써, 처리 능력이 향상된 레이 트레이싱 처리 장치 및 그 처리 방법을 제공하는 데 있다.
본 발명의 일 실시예에 따른 레이 트레이싱 처리방법은, 입력된 광선(ray)에 대한, 광선-노드 교차 검사를 수행하여, 상기 광선이 교차하는 리프 노드(leaf node)를 검출하는 단계, 상기 리프 노드가 검출되면, TRV 유닛의 상태와 IST 유닛의 상태를 비교하여, 상기 광선을 상기 TRV 유닛으로 피드백할 것인지 상기 IST 유닛으로 전송할 것인지를 결정하는 단계, 상기 광선이 TRV 유닛으로 피드백되는 경우, 상기 검출된 리프 노드에 포함되는 프리미티브 바운딩 박스(primitive bounding box)와 상기 광선의 교차 검사를 수행하여, 상기 광선이 교차하는 프리미티브 바운딩 박스를 검출하는 단계, 상기 검출된 프리미티브 바운딩 박스에 포함되는 프리미티브(primitive)와 상기 광선의 교차 검사를 수행하여, 상기 광선이 상기 프리미티브에 교차하는지 여부를 판단하는 단계 및 상기 광선이 상기 프리미티브와 교차하는 경우, 교차점을 연산하는 단계를 포함하고, 상기 프리미티브 바운딩 박스는 하나의 프리미티브를 포함하는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 상기 광선을 상기 TRV 유닛으로 피드백할 것인지 상기 IST 유닛으로 전송할 것인지를 결정하는 단계는, 상기 TRV 유닛이 유휴상태로 판단되는 경우, 상기 광선을 상기 TRV 유닛으로 피드백하고, 상기 IST 유닛이 유휴상태로 판단되는 경우, 상기 광선을 상기 IST 유닛으로 전송하는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 상기 광선을 상기 TRV 유닛으로 피드백할 것인지 상기 IST 유닛으로 전송할 것인지를 결정하는 단계는, 상기 TRV 유닛의 입력 버퍼의 잔여 데이터량과 상기 IST 유닛의 입력 버퍼의 잔여 데이터량을 비교하여, 그 비교결과에 따라 상기 광선을 상기 TRV 유닛으로 피드백할 것인지 여부를 결정하는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 상기 광선을 상기 TRV 유닛으로 피드백할 것인지 상기 IST 유닛으로 전송할 것인지를 결정하는 단계는, 상기 TRV 유닛의 입력 버퍼의 잔여 데이터량이 상기 IST 유닛의 입력 버퍼의 잔여 데이터량보다 작은 경우, 상기 광선을 상기 TRV 유닛으로 피드백하고, 상기 IST 유닛의 입력 버퍼의 잔여 데이터량이 상기 TRV 유닛의 입력 버퍼의 잔여 데이터량보다 작은 경우, 상기 광선을 상기 IST 유닛으로 전송하는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 레이 트레이싱 처리 방법은, 상기 광선이 상기 IST 유닛으로 전송되는 경우, 상기 검출된 리프 노드에 포함되는 상기 프리미티브와 상기 광선의 교차 검사를 수행하여, 상기 광선이 상기 프리미티브에 교차하는지 여부를 판단하는 단계 및 상기 광선이 상기 프리미티브와 교차하는 경우, 교차점을 연산하는 단계를 더 포함하는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 레이 트레이싱 처리 방법은, 상기 프리미티브와 상기 광선의 교차 검사 수행한 후, 상기 TRV 유닛의 상태와 상기 IST 유닛의 상태를 비교하여, 상기 광선을 상기 IST 유닛으로 피드백할 것인지 상기 TRV 유닛으로 전송할 것인지를 결정하는 단계, 상기 광선이 TRV 유닛으로 전송되는 경우, 상기 검출된 리프 노드에 포함되는 프리미티브 바운딩 박스(primitive bounding box)와 상기 광선의 교차 검사를 수행하여, 상기 광선이 교차하는 제2 프리미티브 바운딩 박스를 검출하는 단계, 상기 검출된 제2 프리미티브 바운딩 박스에 포함되는 제2 프리미티브(primitive)와 상기 광선의 교차 검사를 수행하여, 상기 광선이 상기 제2 프리미티브에 교차하는지 여부를 판단하는 단계 및 상기 광선이 상기 제2 프리미티브와 교차하는 경우, 제2 교차점을 연산하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 레이 트레이싱 처리 방법은, 상기 광선이 상기 IST 유닛으로 피드백되는 경우, 상기 검출된 리프 노드에 포함되는 제2 프리미티브와 상기 광선의 교차 검사를 수행하여, 상기 광선이 상기 제2 프리미티브에 교차하는지 여부를 판단하는 단계 및 상기 광선이 상기 제2 프리미티브와 교차하는 경우, 상기 제2 교차점을 연산하는 단계를 더 포함하는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 상기 리프 노드를 검출하는 단계는, 상기 리프 노드를 검출할 때까지, 가속 구조에 포함된 노드에 대하여, 광선-노드 교차 검사를 반복 수행하는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 상기 가속 구조는 상기 프리미티브 바운딩 박스를 포함하는 BVH 구조인 것을 특징으로 한다.
본 발명의 일 실시예에 따른 상기 노드 및 상기 프리미티브 바운딩 박스는 직사각 형태인 것을 특징으로 한다.
본 발명의 일 실시예에 따른 레이 트레이싱 처리 장치는 입력된 광선(ray)에 대한, 광선-노드 교차 검사를 수행하여, 상기 광선이 교차하는 리프 노드(leaf node)를 검출하고, 상기 광선이 TRV 유닛으로 피드백되는 경우, 상기 검출된 리프 노드에 포함되는 프리미티브 바운딩 박스(primitive bounding box)와 상기 광선의 교차 검사를 수행하여, 상기 광선이 교차하는 프리미티브 바운딩 박스를 검출하는 제1 연산부, 상기 리프 노드가 검출되면, TRV 유닛의 상태와 IST 유닛의 상태를 비교하여, 상기 광선을 상기 TRV 유닛으로 피드백할 것인지 상기 IST 유닛으로 전송할 것인지를 결정하는 제1 판단부, 상기 검출된 프리미티브 바운딩 박스에 포함되는 프리미티브(primitive)와 상기 광선의 교차 검사를 수행하여, 상기 광선이 상기 프리미티브에 교차하는지 여부를 판단하고, 상기 광선이 상기 프리미티브와 교차하는 경우, 교차점을 연산하는 제2 연산부를 포함하고, 상기 프리미티브 바운딩 박스는 하나의 프리미티브를 포함하는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 제1 판단부는, 상기 TRV 유닛이 유휴상태로 판단되는 경우, 상기 광선을 상기 TRV 유닛으로 피드백하고, 상기 IST 유닛이 유휴상태로 판단되는 경우, 상기 광선을 상기 IST 유닛으로 전송하는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 제1 판단부는, 상기 TRV 유닛의 입력 버퍼의 잔여 데이터량과 상기 IST 유닛의 입력 버퍼의 잔여 데이터량을 비교하여, 그 비교결과에 따라 상기 광선을 상기 TRV 유닛으로 피드백할 것인지 여부를 결정하는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 제1 판단부는, 상기 TRV 유닛의 입력 버퍼의 잔여 데이터량이 상기 IST 유닛의 입력 버퍼의 잔여 데이터량보다 작은 경우, 상기 광선을 상기 TRV 유닛으로 피드백하고, 상기 IST 유닛의 입력 버퍼의 잔여 데이터량이 상기 TRV 유닛의 입력 버퍼의 잔여 데이터량보다 작은 경우, 상기 광선을 상기 IST 유닛으로 전송하는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 제2 연산부는, 상기 광선이 상기 IST 유닛으로 전송되는 경우, 상기 검출된 리프 노드에 포함되는 상기 프리미티브와 상기 광선의 교차 검사를 수행하여, 상기 광선이 상기 프리미티브에 교차하는지 여부를 판단하고, 상기 광선이 상기 프리미티브와 교차하는 경우, 교차점을 연산하는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 처리장치는, 상기 프리미티브와 상기 광선의 교차 검사 수행한 후, 상기 TRV 유닛의 상태와 상기 IST 유닛의 상태를 비교하여, 상기 광선을 상기 IST 유닛으로 피드백할 것인지 상기 TRV 유닛으로 전송할 것인지를 결정하는 제2 판단부를 더 포함하고, 상기 광선이 상기 TRV 유닛으로 전송되는 경우, 상기 제1 연산부는, 상기 검출된 리프 노드에 포함되는 프리미티브 바운딩 박스(primitive bounding box)와 상기 광선의 교차 검사를 수행하여, 상기 광선이 교차하는 제2 프리미티브 바운딩 박스를 검출하고, 상기 제2 연산부는, 상기 검출된 제2 프리미티브 바운딩 박스에 포함되는 제2 프리미티브(primitive)와 상기 광선의 교차 검사를 수행하여, 상기 광선이 상기 제2 프리미티브에 교차하는지 여부를 판단하여, 상기 광선이 상기 제2 프리미티브와 교차하는 경우, 제2 교차점을 연산하는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 제2 연산부는, 상기 광선이 상기 IST 유닛으로 피드백되는 경우, 상기 검출된 리프 노드에 포함되는 제2 프리미티브와 상기 광선의 교차 검사를 수행하여, 상기 광선이 상기 제2 프리미티브에 교차하는지 여부를 판단하여, 상기 광선이 상기 제2 프리미티브와 교차하는 경우, 상기 제2 교차점을 연산하는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 제1 연산부는, 상기 리프 노드를 검출할 때까지, 가속 구조에 포함된 노드에 대하여, 광선-노드 교차 검사를 반복 수행하는 것을 특징으로 한다.
TRV 유닛과 IST 유닛의 유휴 상태를 최소화함으로써, 레이 트레이싱 장치의 처리 능력이 향상될 수 있다.
TRV 유닛과 IST 유닛의 개수에 상관없이, 하드웨어들 간의 부하 균등을 유지할 수 있다.
기존의 TRV유닛을 이용하여, 프리미티브 바운딩 박스 교차 검사를 할 수 있어, 별도의 하드웨어 유닛을 필요로 하지 않는다.
또한, 프리미티브 바운딩 박스 교차 검사를 수행함으로써, 불필요한 광선-프리미티브 교차 검사를 배제시킬 수 있어, 레이 트레이싱 처리 속도가 향상될 수 있다.
도 1은 일반적인 레이 트레이싱 방법을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 레이 트레이싱 처리 시스템을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 가속 구조를 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 레이 트레이싱 처리 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 레이 트레이싱 처리 장치를 나타내는 블록도이다.
도 6 및 7은 본 발명의 일 실시예에 따른 레이 트레이싱 처리방법을 나타내는 흐름도들이다.
이하에서는 도면을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
도 1은 레이 트레이싱 방법을 설명하기 위한 도면이다.
도 1에 도시된 바와 같이, 3차원 모델링은 광원(80), 제1 물체(31), 제2 물체(32), 제3 물체(33)를 포함할 수 있다. 도 1에서, 제1 물체(31), 제2 물체(32) 및 제3 물체(33)는 2차원 물체와 같이 표현되었지만, 이는 설명의 편의를 위한 것이며, 제1 물체(31), 제2 물체(32) 및 제3 물체(33)는 3차원 물체이다.
이때, 제1 물체(31)는 반사율 및 굴절율이 0보다 크고, 제2 물체(32) 및 제3 물체(33)는 반사율 및 굴절율이 0이라고 가정할 수 있다. 즉, 제1 물체(31)는 빛을 반사 및 굴절시키며, 제2 물체(32) 및 제3 물체(33)는 빛을 반사시키지도 굴절시키지도 않는다고 가정할 수 있다.
도 1과 같은 3차원 모델링에서, 렌더링 장치(예를 들어, 레이 트레이싱 장치)는 3차원 영상을 생성하기 위해 시점(10)을 결정하고, 결정된 시점(10)에 따라 화면(15)을 결정할 수 있다.
시점(10)과 화면(15)이 결정되면, 레이 트레이싱 장치(100)는 시점(10)으로부터 화면(15)의 각 픽셀들에 대하여 광선을 생성할 수 있다.
예를 들어, 도 1에 도시된 바와 같이, 화면(15)의 해상도가 4*3인 경우, 12개의 픽셀에 대하여 각각 광선을 생성할 수 있다.
이하에서는, 하나의 픽셀(픽셀 A)에 대한 광선만을 설명하기로 한다.
도 1을 참조하면, 시점(10)으로부터 픽셀 A에 대하여 1차 광선(primary ray, 40)이 생성된다. 1차 광선(40)은 3차원 공간을 통과하여, 제1 물체(31)에 도달한다. 여기서, 제1 물체(31)는 일정한 단위 영역(이하, 프리미티브(primitive)라 한다.)들의 집합으로 구성될 수 있으며, 예를 들어, 프리미티브(primitive)는 삼각형, 사각형 등의 다각형일 수 있다. 이하에서는, 프리미티브가 삼각형인 것을 예로 들어 설명하기로 한다.
한편, 1차 광선(40)과 제1 물체(31)의 교차점(hit point)에서는 쉐도우 광선(shadow ray, 50), 반사 광선(reflection ray, 60) 및 굴절 광선(refraction ray, 70)를 생성할 수 있다. 이때, 쉐도우 광선(50), 반사 광선(60) 및 굴절 광선(70)을 2차 광선이라고 한다.
쉐도우 광선(50)은 교차점으로부터 광원(80)의 방향으로 생성된다. 반사 광선(60)은 1차 광선(40)의 입사각에 대응되는 방향으로 생성되고, 제1 물체(31)의 반사율에 따른 가중치를 적용받는다. 굴절 광선(70)은 1차 광선(40)의 입사각 및 제1 물체(31)의 굴절율에 대응되는 방향으로 생성되고, 제1 물체(31)의 굴절율에 따른 가중치를 적용받는다.
레이 트레이싱 장치(100)는 쉐도우 광선(50)을 통해 교차점이 광원(80)에 노출되어 있는지를 판단한다. 예를 들어, 도 1에 도시된 바와 같이, 쉐도우 광선(50)이 제2 물체(32)와 만나면, 해당 쉐도우 광선(50)이 생성된 교차점에 그림자가 생성될 수 있다.
또한, 레이 트레이싱 장치(100)는 굴절 광선(70) 및 반사 광선(60)이 다른 물체에 도달하는지를 판단한다. 예를 들어, 도 1에 도시된 바와 같이, 굴절 광선(70)의 진행방향에는 어떠한 물체도 존재하지 않으며, 반사 광선(60)은 제3 물체(33)에 도달한다. 이에 따라, 레이 트레이싱 장치(100)는 제3 물체(33)의 교차점의 좌표 및 색상 정보를 확인하고, 다시 제3 물체(33)의 교차점으로부터 쉐도우 광선(90)을 생성한다. 이때, 레이 트레이싱 장치(100)는 쉐도우 광선(90)이 광원(80)에 노출되어 있는지 판단한다.
한편, 제3 물체(33)의 반사율 및 굴절율은 0이므로, 제3 물체(33)에 대한 반사 광선 및 굴절 광선은 생성되지 않는다.
상술한 바와 같이, 레이 트레이싱 장치(100)는 픽셀 A에 대한 1차 광선(40) 및 1차 광선(40)으로부터 파생되는 모든 광선들을 분석하고, 분석 결과에 따라 픽셀 A의 색상 값을 결정한다. 픽셀 A의 색상 값의 결정은 1차 광선(40)의 교차점의 색상, 반사 광선(60)의 교차점의 색상, 쉐도우 광선(50)이 광원(80)에 도달하는지 여부에 영향을 받는다.
레이 트레이싱 장치(100)는, 상기와 같은 과정을 화면(15)의 모든 픽셀들에 대하여 수행하여, 화면(15)을 구성할 수 있다.
도 2는 본 발명의 일 실시예에 따른 레이 트레이싱 처리 시스템을 나타내는 도면이다.
도 2를 참조하면, 레이 트레이싱 처리 시스템은 레이 트레이싱 처리 장치(100), 외부 메모리(250) 및 가속 구조 생성 장치(200)를 포함할 수 있다.
또한, 레이 트레이싱 처리 장치(100)는 광선 생성 유닛(110), TRV 유닛(Traversal unit, 120), IST 유닛(Intersection unit, 130) 및 쉐이딩 유닛(shading unit, 140)을 포함할 수 있다.
광선 생성 유닛(110)은 1차 광선 및 1차 광선에 의해 파생되는 광선들을 생성할 수 있다. 광선 생성 유닛(110)은 도 1에서 설명한 바와 같이, 시점(10)으로부터 1차 광선을 생성하고, 1차 광선과 오브젝트의 교차점에서 2차 광선을 생성할 수 있다. 이때, 2차 광선은 1차 광선이 오브젝트와 교차된 지점에서 생성된 반사, 굴절 또는 쉐도우 광선일 수 있다.
또한, 광선 생성 유닛(110)은 2차 광선과 오브젝트의 교차점에서 3차 광선을 생성할 수 있다. 광선 생성 유닛(110)은 광선이 오브젝트와 교차하지 않을 때까지 광선을 계속해서 생성하거나, 정해진 횟수 내에서 광선을 생성할 수 있다.
TRV 유닛(120)은 광선 생성 유닛(110)으로부터 생성된 광선에 대한 정보를 수신할 수 있다. 생성된 광선은 1차 광선 및 1차 광선에 의해 파생된 광선(2차 광선, 3차 광선 등)을 모두 포함한다.
예를 들어, 1차 광선의 경우, TRV 유닛(120)은 생성된 광선의 시점 및 방향에 대한 정보를 수신할 수 있다. 또한, 2차 광선의 경우, TRV 유닛(120)은 2차 광선의 출발점 및 방향에 대한 정보를 수신할 수 있다. 2차 광선의 출발점은 1차 광선이 오브젝트와 교차된 지점을 나타낸다. 또한, 시점 또는 출발점은 좌표로 표현될 수 있으며, 방향은 벡터로 표현될 수 있다.
TRV 유닛(120)은 외부 메모리(250)로부터 가속 구조에 대한 정보를 읽어올 수 있다.
이때, 가속 구조(AS)는 가속 구조 생성 장치(Acceleration Structure Generator, 200)에 의해 생성되며, 생성된 가속 구조(AS)는 외부 메모리(250)에 저장된다.
가속 구조 생성 장치(200)는 3차원 공간상의 오브젝트들의 위치 정보를 포함하는 가속 구조를 생성할 수 있다. 가속 구조 생성 장치(200)는 3차원 공간을 계층적 트리 형태로 분할한다. 가속 구조 생성 장치(200)는 여러 가지 형태의 가속 구조를 생성할 수 있다. 예를 들어, 가속 구조 생성 장치(200)는 KD-tree(K-dimensional tree), BVH(Bounding Volume Hirearchy)를 적용하여, 3차원 공간상의 오브젝트들의 관계를 나타내는 가속 구조를 생성할 수 있다. 이에 대해서는 도 3을 참조하여, 자세히 설명하기로 한다.
도 3은 본 발명의 실시예에 따른 가속 구조를 설명하기 위한 도면이다.
도 3의 (a)는 KD-tree를 나타내고, 도 3의 (b)는 BVH 구조를 나타내는 도면이다.
이하에서, 설명의 편의를 위하여, 가속 구조(AS)의 노드에 기재된 숫자로, 각 노드를 지칭하기로 한다. 예를 들어, 숫자 1이 기재되고 원형으로 도시된 노드(351)는 제1 노드(351)로, 숫자 2가 기재되고 사각형으로 도시된 노드(352)는 제2 노드(352)로, 숫자 5가 기재되고, 점선으로 된 사각형으로 도시된 노드(355)는 제5 노드(355)로 지칭할 수 있다.
도 3의 (a)를 참조하면, KD-tree는 탑 노드(top node), 내부 노드(inner node) 리프 노드(leaf node) 및 프리미티브(primitive)를 포함할 수 있다.
도 3의 (a)에서, 제1 노드(351)는 탑 노드를 나타낸다. 탑 노드는 상위 노드는 가지지 않고, 하위 노드만 가지는 최상위 노드이다. 예를 들어, 제1 노드(351)의 하위 노드는 제2 노드(352) 및 제3 노드(353)이며, 상위 노드는 존재하지 않는다.
또한, 제2 노드(352)는 내부 노드일 수 있다. 내부 노드는 상위 노드 및 하위 노드를 모두 가지는 노드이다. 예를 들어, 제2 노드(351)의 상위 노드는 제1 노드(351)이며, 제2 노드(352)의 하위 노드는 제4 노드(354) 및 제5 노드(355)이다.
또한, 제8 노드(358)는 리프 노드일 수 있다. 리프 노드는 하위 노드는 가지지 않고, 상위 노드만 가지는 최하위 노드이다. 예를 들어, 제8 노드(358)의 상위 노드는 제7 노드(357)이며, 하위 노드는 존재하지 않는다.
한편, 리프 노드는 리프 노드에 존재하는 프리미티브들을 포함할 수 있다. 예를 들어, 도 3의 (a)에 도시된 바와 같이, 리프 노드인 제6 노드(356)는 1개의 프리미티브를, 리프 노드인 제8 노드(358)는 3개의 프리미티브를, 리프 노드인 제9 노드(359)는 2개의 프리미티브를 포함한다.
한편, BVH 구조는 탑 노드(top node), 내부 노드(inner node) 리프 노드(leaf node), 프리미티브 바운딩 박스(primitive bounding box) 및 프리미티브(primitive)를 포함할 수 있다.
탑 노드, 내부 노드, 리프 노드 및 프리미티브는 도 3의 (a)의 KD-tree구조와 동일하므로, 이에 대한 설명은 생략하기로 한다.
도 3의 (b)를 참조하면, 리프 노드는 프리미티브 바운딩 박스를 포함한다. 예를 들어, 도 3의 (b)에 도시된 바와 같이, 리프 노드인 제8 노드(358)은 3개의 프리미티브 바운딩 박스(T0, T1, T2)를 포함한다.
또한, 프리미티브 바운딩 박스는 하나의 프리미티브를 포함한다. 예를 들어, 도 3의 (b)에 도시된 바와 같이, 프리미티브 바운딩 박스들(T0, T1, T2, T3, T4)은 각각 하나의 프리미티브를 포함한다.
다시 도 2를 참조하면, TRV 유닛(120)은 읽어온 가속 구조에 대한 정보를 탐색하여, 광선이 교차하는 리프 노드를 검출할 수 있다. 또한, 본 발명의 실시예와 관련하여, TRV유닛(120)은 광선이 교차하는 프리미티브 바운딩 박스를 검출할 수 있다.
이때, 노드 및 프리미티브 바운딩 박스는 직사각 형태일 수 있으며, 이에 따라, 광선-노드 교차 검사 및 광선-프리미티브 바운딩 박스 교차 검사는 동일한 방법으로 수행될 수 있다.
IST 유닛(130)은 TRV 유닛(120)으로부터 광선이 교차하는 리프 노드 또는 프리미티브 바운딩 박스를 수신할 수 있다.
IST 유닛(130)은 수신한 리프 노드에 포함된 프리미티브들 또는 프리미티브 바운딩 박스에 포함되는 프리미티브에 대한 정보(기하 데이터)를 외부 메모리(250)로부터 읽어올 수 있다.
IST 유닛(130)은 읽어온 프리미티브에 대한 정보를 이용하여, 광선과 프리미티브들 간의 교차 검사를 수행할 수 있다.
예를 들어, IST 유닛(130)은 TRV 유닛(120)으로부터 수신한 리프 노드 또는 프리미티브 바운딩 박스에 포함된 복수의 프리미티브 중에서 어느 프리미티브에 광선이 교차되었는지를 검사할 수 있다.
이에 따라, 광선이 교차되는 프리미티브들을 검출하고, 검출된 프리미티브와 광선이 교차된 지점(hit point)을 계산할 수 있다.
계산된 교차점(hit point)은 좌표 형태로 쉐이딩 유닛(140)으로 출력될 수 있다.
쉐이딩 유닛(140)은 교차점에 대한 정보 및 교차점의 물질의 특성에 기초하여 픽셀의 색상 값을 결정할 수 있다. 또한, 쉐이딩 유닛(140)은 교차점의 물질의 기본 색상 및 광원에 의한 효과 등을 고려하여, 픽셀의 색상 값을 결정할 수 있다.
예를 들어, 도 1의 픽셀 A의 경우, 쉐이딩 유닛(140)은 1차 광선(40) 및 2차 광선인 굴절 광선(70), 반사 광선(60), 쉐도우 광선(50)에 의한 효과를 모두 고려하여, 픽셀 A의 색상 값을 결정할 수 있다.
한편, 레이 트레이싱 장치(100)는 외부 메모리(250)로부터 레이 트레이싱에 필요한 데이터를 수신할 수 있다. 외부 메모리(250)는 가속 구조(AS) 또는 기하 데이터(geometry data)를 저장할 수 있다. 가속 구조는 가속 구조 생성 장치(200)에 의해 생성되고, 외부 메모리(250)에 저장된다. 기하 데이터는 프리미티브들에 대한 정보를 나타낸다. 프리미티브는 삼각형, 사각형 등의 다각형일 수 있으며, 기하 데이터는 오브젝트에 포함되는 프리미티브들의 정점 및 위치에 대한 정보를 나타낼 수 있다. 예를 들어, 프리미티브가 삼각형인 경우, 기하 데이터는 삼각형들의 세 점에 대한 정점 좌표, 법선 벡터 또는 텍스처 좌표를 포함할 수 있다.
도 4는 도 2에 도시된 레이 트레이싱 장치(100)의 레이 트레이싱 처리 방법을 설명하기 위한 도면이다. 따라서, 도 2에서 설명한 내용은 도 4의 레이 트레이싱 처리 방법에도 동일하게 적용될 수 있다.
도 4을 참조하면, 레이 트레이싱 장치(100)는 광선을 생성한다(S310). 이때, 광선은 시점으로부터 생성된 1차 광선 및 1차 광선에 의해 파생된 광선들을 포함할 수 있다.
레이 트레이싱 장치(100)는 외부 메모리(250)로부터 가속 구조를 읽어 오고, 생성된 광선에 기초하여, 가속 구조를 탐색한다(S320). 이에 따라, 레이 트레이싱 장치(100)는 광선이 교차되는 리프 노드 또는 프리미티브 바운딩 박스를 검출할 수 있다. 레이 트레이싱 장치(100)는 광선이 교차되는 리프 노드 또는 프리미티브 바운딩 박스를 검출할 때까지 가속 구조(AS)를 계속해서 탐색할 수 있다.
예를 들어, 레이 트레이싱 장치(100)는 광선-노드 교차 검사를 수행하여, 리프 노드를 검출할 수 있다.
레이 트레이싱 장치(100)는 어느 하나의 경로를 따라 가속 구조를 탐색하고, 탐색된 경로 상의 리프 노드에 광선이 교차되지 않았으면, 다른 경로로 가속 구조를 탐색할 수 있다.
예를 들어, 도 3의 (a)를 참조하면, 레이 트레이싱 장치(100)는 제1 노드(351)의 하위 노드인 제2 노드(352) 또는 제3 노드(353)부터 탐색을 시작할 수 있다. 만약, 제2 노드(352)부터 탐색을 시작하는 경우, 레이 트레이싱 장치(100)는 제3 노드(353)에 대한 정보를 별도의 메모리에 저장해 놓을 수 있다.
레이 트레이싱 장치(100)는 광선이 제2 노드(352)에 교차하는지 여부를 판단하여, 제2 노드(352)와 광선이 교차하는 경우, 제2 노드(352)의 하위 노드인 제4 노드(354) 및 제5 노드(355) 중 어느 하나에 대하여 탐색을 수행할 수 있다.
제4 노드(354)와 광선이 교차하는지 여부를 탐색하는 경우, 레이 트레이싱 장치(100)는 나머지 노드인 제5 노드(355)에 대한 정보를 상기 별도의 메모리에 저장해 놓을 수 있다.
제4 노드(354)와 광선이 교차하는 경우, 레이 트레이싱 장치(100)는 제4 노드(354)의 하위 노드인 제6 노드(356) 및 제7 노드(357) 중 어느 하나에 대하여 탐색을 수행할 수 있다.
제6 노드(356)와 광선이 교차하는지 여부를 탐색하는 경우, 레이 트레이싱 장치(100)는 나머지 노드인 제7 노드(357)에 대한 정보를 상기 별도의 메모리에 저장해 놓을 수 있다.
제6 노드(356)와 광선이 교차하는 경우, 레이 트레이싱 장치(100)는 제6 노드(356)를 리프 노드로써, 검출할 수 있다.
이와 같이, 레이 트레이싱 장치(100)는 어느 하나의 경로를 따라 탐색을 수행하여, 리프 노드를 검출할 수 있으며, 다른 경로의 노드에 대한 정보는 별도의 메모리에 저장해 두었다가 하나의 경로 탐색을 마친 경우에, 가장 최근에 저장해둔 노드부터 다시 탐색을 수행할 수 있다.
예를 들어, 제6 노드(356)를 리프 노드로 검출한 이후에, 가장 최근에 저장해둔 제7 노드(357)부터 다시 탐색을 수행할 수 있다.
이에 따라, 레이 트레이싱 장치(100)는 하나의 경로 탐색을 마치고, 다시 탑 노드부터 경로 탐색을 수행하지 않고, 경로 탐색이 끝난 경로와 가장 인접한 경로를 탐색함으로써, 연산량을 감소시킬 수 있다.
한편, 레이 트레이싱 장치(100)는 리프 노드가 검출되면, 리프 노드를 검출한 TRV 유닛의 상태와 IST 유닛의 상태를 비교하여, 검출된 리프 노드 정보를 다시 TRV 유닛으로 피드백하거나 IST 유닛으로 전송할 수 있다.
레이 트레이싱 장치(100)는 TRV 유닛과 IST 유닛 중 어느 유닛이 더 유휴상태에 있는지를 판단할 수 있다.
예를 들어, 레이 트레이싱 장치(100)는 TRV 유닛의 입력 버퍼의 잔여 데이터량과 IST 유닛의 입력 버퍼의 잔여 데이터량를 비교하여, TRV 유닛의 입력 버퍼의 잔여 데이터량이 더 작은 경우, TRV 유닛이 유휴상태에 있는 것으로 판단하고, 검출된 리프 노드에 대한 정보를 다시 TRV 유닛으로 피드백할 수 있다.
또한, 레이 트레이싱 장치(100)는 TRV 유닛 및 IST 유닛에서 처리중인 데이터의 수명(오래된 정도)에 기초하여, TRV 유닛과 IST 유닛 중 어느 유닛이 유휴상태에 있는지를 판단할 수 있다. 이때, TRV 유닛에서 처리중인 데이터의 수명이 IST 유닛에서 처리중인 데이터의 수명보다 오래된 경우, TRV 유닛이 유휴상태에 있는 것으로 판단할 수 있다. 또한, 데이터의 수명은 TRV 유닛에 의해 반복적으로 탐색이 수행된 횟수에 기초하여 결정될 수 있다.
레이 트레이싱 장치(100)는 피드백된 리프 노드에 대하여, 리프 노드 검출시 사용한 탐색 방법을 동일하게 적용하여, 프리미티브 바운딩 박스를 검출할 수 있다.
예를 들어, 레이 트레이싱 장치(100)는 광선-프리미티브 바운딩 박스 교차 검사를 수행하여, 광선이 교차되는 프리미티브 바운딩 박스를 검출할 수 있다.
한편, 레이 트레이싱 장치(100)는 검출된 프리미티브 바운딩 박스 정보를 IST 유닛으로 전송할 수 있다.
반면에, 레이 트레이싱 장치(100)는 TRV 유닛의 입력 버퍼의 잔여 데이터량과 IST 유닛의 입력의 버퍼 잔여 데이터량을 비교하여, IST 유닛의 입력의 버퍼의 잔여 데이터량이 더 작은 경우, IST 유닛이 유휴상태에 있는 것으로 판단하고, 검출된 리프 노드를 IST 유닛으로 전송할 수 있다.
레이 트레이싱 장치(100)는 검출된 리프 노드에 포함된 프리미티브들 또는 검출된 프리미티브 바운딩 박스에 포함된 프리미티브가 광선과 교차하는지 여부를 검사할 수 있다.
이때, 레이 트레이싱 장치(100)는 외부 메모리(250)로부터 프리미티브들에 대한 정보(252)를 읽어올 수 있으며, 읽어온 프리미티브들에 대한 정보를 이용하여, 광선과 프리미티브들 간의 교차 검사를 수행할 수 있다(S330).
레이 트레이싱 장치(100)는 TRV 유닛(120)으로부터 수신한 리프 노드에 포함된 프리미티브 중에서 어느 프리미티브에 광선이 교차되었는지를 검사할 수 있다.
예를 들어, 검출된 리프 노드에 3개의 프리미티브(제1 내지 제3 프리미티브)가 포함되는 경우, 레이 트레이싱 장치는 제1 프리미티브와 광선의 교차 검사, 제2 프리미티브와 광선의 교차 검사 및 제3 프리미티브와 광선의 교차 검사를 수행하여, 광선이 교차되는 프리미티브를 검출할 수 있다.
또는 검출된 프리미티브 바운딩 박스에 포함된 프리미티브와 광선의 교차 검사를 수행하여, 광선이 프리미티브에 교차되는지를 검사할 수 있다.
이에 따라, 레이 트레이싱 장치(100)는 광선이 교차되는 프리미티브들을 검출하고, 검출된 프리미티브와 광선이 교차된 지점(hit point)을 계산할 수 있다.
레이 트레이싱 장치(100)는 교차 검사에 기초하여, 픽셀의 쉐이딩을 수행할 수 있다(S340). 즉, 교차점에 대한 정보 및 교차점의 물질의 특성에 기초하여 픽셀의 색상 값을 결정할 수 있다.
레이 트레이싱 장치(100)는 340 단계(S340)를 종료하면, 310 단계(S310)로 진행한다. 레이 트레이싱 장치(100)는 하나의 픽셀에 대한 쉐이딩 이후에, 다른 픽셀의 쉐이딩을 수행하기 위하여, 다시, 310 단계(S310) 내지 340 단계(S340)를 수행하며, 화면을 구성하는 모든 픽셀들에 대해 310 단계(S310) 내지 340 단계(S340)를 반복적으로 수행한다.
도 5는 본 발명의 일 실시예에 따른 레이 트레이싱 장치의 블록도를 나타내는 도면이다.
도 5를 참조하면, 레이 트레이싱 장치(400)는 광선 생성 유닛(410), 복수의 TRV 유닛(420) 및 복수의 IST 유닛(430), 쉐이딩 유닛(470), 제1 모니터링 부(440), 제2 모니터링 부(450), 버퍼(460)를 포함할 수 있다.
또한, 하나의 TRV 유닛(420)은 제1 입력 버퍼(421), 제1 연산부(422), 제1 캐쉬(423) 및 제1 판단부(424)를 포함할 수 있다.
또한, 하나의 IST 유닛(430)은 제2 입력 버퍼(431), 제2 연산부(432), 제2 캐쉬(433) 및 제2 판단부(434)를 포함할 수 있다.
한편, 광선 생성 유닛(410)은 도 2의 광선 생성 유닛(110)에, 외부 메모리(250)는 도 2의 외부 메모리(250)에 대응하므로, 이에 대한 설명은 도 2의 광선 생성 유닛(110) 및 외부 메모리(250)에 대한 설명으로 대체하기로 한다.
제1 모니터링부(440)는 복수의 TRV 유닛 각각의 입력 버퍼(421)의 상태를 모니터링 할 수 있다. 예를 들어, 제1 모니터링 부(440)는 TRV 유닛 각각의 입력 버퍼의 잔여 데이터량 또는 TRV 유닛의 입력 버퍼들의 평균 잔여 데이터량을 모니터링 할 수 있다.
제1 연산부(422)는 입력 버퍼(421)로부터 입력된 광선이 가속 구조(AS) 내의 어느 리프 노드에 연관되는지를 탐색할 수 있다(광선-노드 교차 검사). 또는 입력된 광선이 가속 구조 내의 어느 프리미티브 바운딩 박스에 연관되는지를 탐색할 수 있다(광선-프리미티브 바운딩 박스 교차 검사).
이때, 가속 구조(AS)에 대한 데이터는 외부 메모리(250)로부터 제1 캐시(423)에 저장될 수 있으며, 제1 연산부(422)는 제1 캐시(423)에 저장된 데이터를 이용하여, 가속 구조를 빠르게 탐색할 수 있다.
또한, 제1 연산부(422)는 광선-노드 교차 검사 및 광선-프리미티브 바운딩 박스 교차 검사를 수행하기 위하여, 곱셈기들로 구성될 수 있다.
제2 모니터링부(450)는 복수의 IST 유닛 각각의 입력 버퍼(431)의 상태를 모니터링 할 수 있다. 예를 들어, 제2 모니터링 부(450)는 IST 유닛 각각의 입력 버퍼의 잔여 데이터량 또는 IST 유닛의 입력 버퍼들의 평균 잔여 데이터량을 모니터링 할 수 있다.
제2 연산부(432)는 입력된 광선이 TRV 유닛에서 검출된 리프 노드에 포함되는 프리미티브들 또는 검출된 프리미티브 바운딩 박스에 포함되는 프리미티브에 교차되는지 여부를 검사하고, 그 교차점(hit-point)를 계산할 수 있다(광선-프리미티브 교차 검사).
이때, 프리미티브들에 대한 기하 데이터는 외부 메모리로부터 제2 캐시(프리미티브 캐시, 433)에 저장될 수 있으며, 제2 연산부(432)는 제2 캐시(433)에 저장된 데이터를 이용하여, 프리미티브 데이터들을 빠르게 읽어올 수 있다.
또한, 제2 연산부(432)는 광선-프리미티브 교차 검사를 수행하기 위하여, 곱셈기들 및 나눗셈기들로 구성될 수 있다.
한편, IST 유닛의 제2 연산부(432)는 상술한 바와 같이, 곱셈기들 및 나눗셈기들을 모두 포함하고, 나눗셈기의 경우 곱셈기에 비해 면적이 커서, 회로 제작 비용 중 상대적으로 큰 비율을 차지하게 된다.
이에 따라, 레이 트레이싱 처리 장치(100)는 TRV 유닛(420)의 수를 IST 유닛(430)의 수보다 많아지도록 구성하고, IST 유닛(430)에서 광선-프리미티브 교차 검사를 수행하기 전에, TRV 유닛(420)에서 광선-프리미티브 바운딩 박스 교차 검사를 수행하여, 상대적으로 TRV 유닛(420)의 연산량을 증가시키고, IST 유닛(430)의 연산량을 감소시킬 수 있다.
그러나, TRV 유닛(420)에서 무조건적으로 광선-프리미티브 바운딩 박스 교차 검사를 수행하는 경우, IST 유닛(430)이 유휴상태가 되고, TRV 유닛(420)에서만 과도하게 연산량이 증가할 수 있다.
이러한 문제점을 해결하기 위해, 제1 판단부(424) 및 제2 판단부(434)는 TRV 유닛(420)과 IST 유닛(430)의 상태를 모니터링한 결과에 따라, 광선을 TRV 유닛(420) 또는 IST 유닛(430)으로 적절하게 분배할 수 있다.
즉, 제1 판단부(424)는 제1 연산부(422)가 광선에 교차되는 리프 노드를 검출하면, 제1 입력 버퍼(421)의 상태와 IST 유닛(430)의 입력 버퍼들의 상태를 모니터링한 결과에 따라 광선을 다시 제1 입력 버퍼(421)로 피드백하거나 IST 유닛(430)으로 전송할 수 있다.
또한, 제2 판단부(434)는 제2 연산부(432)가 광선에 교차되는 프리미티브를 검출하여, 그 교차점(hit point)을 계산하면, 제2 입력 버퍼(431)의 상태와 TRV 유닛의 입력 버퍼들의 상태를 모니터링한 결과에 따라 광선을 다시 제2 입력 버퍼(431)로 피드백하거나 TRV 유닛으로 전송할 수 있다.
이에 대해서는 도 6 및 도 7을 참조하여, 자세히 후술하기로 한다.
한편, 버퍼(460)는 제2 연산부(432)에서 계산된 교차점(hit point) 정보를 임시 저장할 수 있다. 예를 들어, 하나의 픽셀에 대한 모든 교차점(hit point)이 계산될 때까지, 계산된 교차점(hit point) 정보를 저장할 수 있다.
쉐이딩 유닛(470)은 버퍼(460)에 임시 저장한 교차점 정보 및 교차점의 물질의 특성에 기초하여 픽셀의 색상 값을 결정할 수 있다.
도 6 및 도 7은 본 발명의 실시예에 따른 레이 트레이싱 처리 방법을 나타내는 흐름도이다.
도 6을 참조하면, 레이 트레이싱 장치(400)는 광선을 생성한다(S510). 레이 트레이싱 처리 장치(400)는 가속 구조(AS)에 기초하여, 광선-노드 검사를 수행하여, 광선이 교차되는 노드를 탐색한다(S520).
이에 따라, 레이 트레이싱 장치(400)는 리프 노드를 검출한다(S530).
리프 노드가 검출되면, 레이 트레이싱 장치(400)는 TRV 유닛의 상태와 IST 유닛의 상태를 비교하여(S540), 비교결과에 따라, 광선을 TRV 유닛으로 피드백하거나(S550) IST 유닛으로 전송할 수 있다(S570).
(1) 리프 노드 검출 후, TRV 유닛이 유휴상태인 경우
예를 들어, 레이 트레이싱 장치(400)는 제1 입력 버퍼의 잔여 데이터량과 IST 유닛의 입력 버퍼들의 평균 잔여 데이터량을 비교하여, 제1 입력 버퍼의 잔여 데이터량이 더 작은 경우, 다시 말해서, 제1 입력 버퍼의 상태가 IST 유닛의 입력 버퍼들의 상태보다 여유 있는 경우(TRV 유닛이 유휴상태), 레이 트레이싱 장치(400)는 광선을 다시 TRV 유닛의 제1 입력 버퍼(421)로 피드백할 수 있다(S550).
제1 연산부(422)는 피드백된 광선이 검출된 리프 노드에 포함된 프리미티브 바운딩 박스들 중 교차되는 제1 바운딩 박스를 검출할 수 있다(S560).
제1 연산부(422)가 교차되는 제1 바운딩 박스를 검출하면, 광선은 IST 유닛의 제2 입력 버퍼(431)로 입력되고(S570), 제2 연산부(432)는 제1 바운딩 박스에 포함된 제1 프리미티브에 대한 기하 데이터에 기초하여, 광선이 제1 프리미티브에 교차되는지 여부를 검사한다(S580).
이때, 제1 프리미티브에 대한 기하 데이터는 외부 메모리로부터 제2 캐시(프리미티브 캐시)에 저장될 수 있으며, 제2 연산부(432)는 제2 캐시에 저장된 데이터를 이용하여, 제1 프리미티브 데이터를 빠르게 읽어올 수 있다.
또한, 제2 연산부(432)는 광선이 제1 바운딩 박스에 포함된 제1 프리미티브에 교차되는 경우, 교차점(hit point)를 계산할 수 있다.
(2) 리프 노드 검출 후, IST 유닛이 유휴상태인 경우
반면에, IST 유닛의 입력 버퍼들의 평균 잔여 데이터량이 제1 입력 버퍼의 잔여 데이터량보다 더 작은 경우, 다시 말해서, IST 유닛의 입력 버퍼들의 상태가 제1 입력 버퍼의 상태보다 여유 있는 경우, 제1 판단부(424)는 광선을 IST 유닛의 입력 버퍼로 전송할 수 있다(S570).
제2 연산부(432)는 제1 연산부(422)에서 검출된 리프 노드에 포함된 프리미티브들에 대한 기하 데이터에 기초하여, 광선이 리프 노드에 포함된 프리미티브들 중 제1 프리미티브에 교차되는지 여부를 검사한다(S580).
이때, 프리미티브들에 대한 기하 데이터는 외부 메모리로부터 제2 캐시(프리미티브 캐시)에 저장될 수 있으며, 제2 연산부(432)는 제2 캐시에 저장된 데이터를 이용하여, 프리미티브 데이터를 빠르게 읽어올 수 있다.
제2 연산부(432)는 광선이 제1 프리미티브에 교차되는 경우, 교차점(hit point)을 계산할 수 있다.
한편, 상술한 바와 같이, 제2 연산부(432)가 광선이 제1 프리미티브에 교차되는지 여부 및 교차점 계산을 종료하면(S610), 제2 판단부(434)는 제2 입력 버퍼(431)의 상태와 TRV 유닛의 입력 버퍼들의 상태를 모니터링한 결과에 따라 제2 프리미티브(리프 노드에 포함된 다른 프리미티브)에 대한 연산을 하기 위해, 광선을 다시 IST 유닛(430)으로 피드백하거나 TRV 유닛(420)으로 전송할 수 있다.
(3)광선-제1 프리미티브 교차 검사 후, IST 유닛이 유휴상태인 경우
예를 들어, 제2 입력 버퍼(431)의 잔여 데이터량과 TRV 유닛의 입력 버퍼들의 평균 잔여 데이터량을 비교하여, 제2 입력 버퍼(431)의 잔여 데이터량이 더 작은 경우, 다시 말해서, 제2 입력 버퍼의 상태가 TRV 유닛의 입력 버퍼들의 상태보다 여유 있는 경우, 제2 판단부(434)는 광선을 다시 IST 유닛의 제2 입력버퍼(431)로 피드백할 수 있다(S650).
제2 연산부(432)는 리프 노드에 포함된 제2 프리미티브에 대한 기하 데이터에 기초하여, 광선이 제2 프리미티브에 교차되는지 여부를 검사한다(S660). 또한, 제2 연산부(432)는 광선이 제2 프리미티브에 교차되는 경우, 교차점을 계산할 수 있다.
(4)광선-제1 프리미티브 교차 검사 후, TRV 유닛이 유휴상태인 경우
반면에, TRV 유닛의 입력 버퍼들의 평균 잔여 데이터량이 제2 입력 버퍼의 잔여 데이터량보다 더 작은 경우, 다시 말해서, TRV 유닛의 입력 버퍼들의 상태가 제2 입? 버퍼의 상태보다 여유 있는 경우, 제2 판단부(434)는 광선을 다시 TRV 유닛으로 전송할 수 있다(S630).
제1 연산부(422)는 광선이 검출된 리프 노드에 포함된 프리미티브 바운딩 박스들 중 교차되는 제2 바운딩 박스를 검출할 수 있다(S640).
제1 연산부(422)가 교차되는 제2 바운딩 박스를 검출하면, 광선은 IST 유닛의 제2 입력 버퍼(431)로 입력되고(S650), 제2 연산부(432)는 제1 연산부(422)에서 검출된 제2 바운딩 박스에 포함된 제2 프리미티브에 대한 기하 데이터에 기초하여, 광선이 제2 바운딩 박스에 포함된 제2 프리미티브에 교차되는지 여부를 검사한다(S660).
한편, 상술한 바와 같이, 제2 연산부(432)가 광선이 제2 프리미티브에 교차되는지 여부 및 교차점 계산을 종료하면, 제2 판단부(434)는 리프 노드에 포함된 바운딩 박스들 또는 프리미티브들에 대한 검사를 수행할 때까지 제2 입력 버퍼(431)의 상태와 TRV 유닛의 입력 버퍼들의 상태를 모니터링한 결과에 따라 광선을 다시 IST 유닛(430)으로 피드백하거나 TRV 유닛(420)으로 전송할 수 있다.
한편, 상술한 방법을 반복적으로 적용하여, 제1 리프 노드에 포함되는 프리미티브들 중 광선에 교차되는 프리미티브들을 모두 검출한 경우, 제2 판단부(434)는 광선에 교차되는 제2 리프 노드를 검출하기 위해, 광선을 TRV 유닛으로 전송할 수 있다.
상술한 바와 같이, TRV 유닛에서 광선-노드 교차 검사를 수행하여, 리프 노드가 검출되면, TRV 유닛 및 IST 유닛의 상태에 따라, 광선-프리미티브 바운딩 박스 교차 검사를 수행할 것인지, 광선-프리미티브 교차 검사를 수행할 것인지를 결정함으로써, TRV 유닛 및 IST 유닛에서의 연산량을 조절할 수 있다.
또한, 광선-프리미티브 교차 검사를 종료한 후에도 TRV 유닛 및 IST 유닛의 상태에 따라, 다음 프리미티브에 대하여, 광선-프리미티브 바운딩 박스 교차 검사 를 수행할 것인지, 광선-프리미티브 교차 검사를 수행할 것인지를 결정함으로써, TRV 유닛 및 IST 유닛에서의 연산량을 조절할 수 있다.
이에 따라, TRV 유닛 및 IST 유닛을 적절하게 이용하여, 레이 트레이싱 처리 능력 및 처리 속도를 향상시킬 수 있다.
한편, 본 발명의 캐시 메모리 시스템 및 그 동작방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM. CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
또한, 이상에서는 본 발명의 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (25)

  1. 입력된 광선(ray)에 대한, 광선-노드 교차 검사를 수행하여, 상기 광선이 교차하는 리프 노드(leaf node)를 검출하는 단계; 및
    상기 리프 노드가 검출되면, TRV 유닛의 상태와 IST 유닛의 상태를 비교하여, 상기 광선을 상기 TRV 유닛으로 피드백할 것인지 상기IST 유닛으로 전송할 것인지를 결정하는 단계를 포함하는 레이 트레이싱 처리 방법.
  2. 제1항에 있어서,
    상기 광선을 상기 TRV 유닛으로 피드백할 것인지 상기 IST 유닛으로 전송할 것인지를 결정하는 단계는,
    상기 TRV 유닛이 유휴상태로 판단되는 경우, 상기 광선을 상기 TRV 유닛으로 피드백하고,
    상기 IST 유닛이 유휴상태로 판단되는 경우, 상기 광선을 상기 IST 유닛으로 전송하는 것을 특징으로 하는 레이 트레이싱 처리 방법.
  3. 제1항에 있어서,
    상기 광선을 상기 TRV 유닛으로 피드백할 것인지 상기 IST 유닛으로 전송할 것인지를 결정하는 단계는,
    상기 TRV 유닛의 입력 버퍼의 잔여 데이터량과 상기 IST 유닛의 입력 버퍼의 잔여 데이터량을 비교하여, 그 비교결과에 따라 상기 광선을 상기 TRV 유닛으로 피드백할 것인지 여부를 결정하는 것을 특징으로 하는 레이 트레이싱 처리 방법.
  4. 제3항에 있어서,
    상기 광선을 상기 TRV 유닛으로 피드백할 것인지 상기 IST 유닛으로 전송할 것인지를 결정하는 단계는,
    상기 TRV 유닛의 입력 버퍼의 잔여 데이터량이 상기 IST 유닛의 입력 버퍼의 잔여 데이터량보다 작은 경우, 상기 광선을 상기 TRV 유닛으로 피드백하고,
    상기 IST 유닛의 입력 버퍼의 잔여 데이터량이 상기 TRV 유닛의 입력 버퍼의 잔여 데이터량보다 작은 경우, 상기 광선을 상기 IST 유닛으로 전송하는 것을 특징으로 하는 레이 트레이싱 처리 방법.
  5. 제1항에 있어서,
    상기 처리 방법은,
    상기 광선이 상기 TRV 유닛으로 피드백되는 경우, 상기 검출된 리프 노드에 포함되는 프리미티브 바운딩 박스(primitive bounding box)와 상기 광선의 교차 검사를 수행하여, 상기 광선이 교차하는 프리미티브 바운딩 박스를 검출하는 단계;
    상기 검출된 프리미티브 바운딩 박스에 포함되는 프리미티브(primitive)와 상기 광선의 교차 검사를 수행하여, 상기 광선이 상기 프리미티브에 교차하는지 여부를 판단하는 단계; 및
    상기 광선이 상기 프리미티브와 교차하는 경우, 교차점을 연산하는 단계를 포함하는 것을 특징으로 하는 레이 트레이싱 처리 방법.
  6. 제5항에 있어서,
    상기 프리미티브 바운딩 박스는 하나의 프리미티브를 포함하는 것을 특징으로 하는 레이 트레이싱 처리 방법.
  7. 제1항에 있어서,
    상기 처리방법은,
    상기 광선이 상기 IST 유닛으로 전송되는 경우,
    상기 검출된 리프 노드에 포함되는 상기 프리미티브와 상기 광선의 교차 검사를 수행하여, 상기 광선이 상기 프리미티브에 교차하는지 여부를 판단하는 단계; 및
    상기 광선이 상기 프리미티브와 교차하는 경우, 교차점을 연산하는 단계를 더 포함하는 레이 트레이싱 처리 방법.
  8. 제5항 또는 제7항에 있어서,
    상기 처리방법은,
    상기 프리미티브와 상기 광선의 교차 검사 수행한 후,
    상기 TRV 유닛의 상태와 상기 IST 유닛의 상태를 비교하여, 상기 광선을 상기 IST 유닛으로 피드백할 것인지 상기 TRV 유닛으로 전송할 것인지를 결정하는 단계;
    상기 광선이 TRV 유닛으로 전송되는 경우, 상기 검출된 리프 노드에 포함되는 프리미티브 바운딩 박스(primitive bounding box)와 상기 광선의 교차 검사를 수행하여, 상기 광선이 교차하는 제2 프리미티브 바운딩 박스를 검출하는 단계;
    상기 검출된 제2 프리미티브 바운딩 박스에 포함되는 제2 프리미티브(primitive)와 상기 광선의 교차 검사를 수행하여, 상기 광선이 상기 제2 프리미티브에 교차하는지 여부를 판단하는 단계; 및
    상기 광선이 상기 제2 프리미티브와 교차하는 경우, 제2 교차점을 연산하는 단계를 포함하는 레이 트레이싱 처리 방법.
  9. 제8항에 있어서,
    상기 처리방법은,
    상기 광선이 상기 IST 유닛으로 피드백되는 경우, 상기 검출된 리프 노드에 포함되는 제2 프리미티브와 상기 광선의 교차 검사를 수행하여, 상기 광선이 상기 제2 프리미티브에 교차하는지 여부를 판단하는 단계; 및
    상기 광선이 상기 제2 프리미티브와 교차하는 경우, 상기 제2 교차점을 연산하는 단계를 더 포함하는 레이 트레이싱 처리 방법.
  10. 제1항에 있어서,
    상기 리프 노드를 검출하는 단계는,
    상기 리프 노드를 검출할 때까지, 가속 구조에 포함된 노드에 대하여, 광선-노드 교차 검사를 반복수행하는 것을 특징으로 하는 레이 트레이싱 처리 방법.
  11. 제10항에 있어서,
    상기 가속 구조는 상기 프리미티브 바운딩 박스를 포함하는 BVH 구조인 것을 특징으로 하는 레이 트레이싱 처리 방법.
  12. 제1항에 있어서,
    상기 노드 및 상기 프리미티브 바운딩 박스는 직사각 형태인 것을 특징으로 하는 레이 트레이싱 처리 방법.
  13. 입력된 광선(ray)에 대한, 광선-노드 교차 검사를 수행하여, 상기 광선이 교차하는 리프 노드(leaf node)를 검출하는 제1 연산부; 및
    상기 리프 노드가 검출되면, TRV 유닛의 상태와 IST 유닛의 상태를 비교하여, 상기 광선을 상기 TRV 유닛으로 피드백할 것인지 상기 IST 유닛으로 전송할 것인지를 결정하는 제1 판단부를 포함하는 레이 트레이싱 처리 장치.
  14. 제13항에 있어서,
    상기 제1 판단부는,
    상기 TRV 유닛이 유휴상태로 판단되는 경우, 상기 광선을 상기 TRV 유닛으로 피드백하고,
    상기 IST 유닛이 유휴상태로 판단되는 경우, 상기 광선을 상기 IST 유닛으로 전송하는 것을 특징으로 하는 레이 트레이싱 처리 장치.
  15. 제13항에 있어서,
    상기 제1 판단부는,
    상기 TRV 유닛의 입력 버퍼의 잔여 데이터량과 상기 IST 유닛의 입력 버퍼의 잔여 데이터량을 비교하여, 그 비교결과에 따라 상기 광선을 상기 TRV 유닛으로 피드백할 것인지 여부를 결정하는 것을 특징으로 하는 레이 트레이싱 처리 장치.
  16. 제15항에 있어서,
    상기 제1 판단부는,
    상기 TRV 유닛의 입력 버퍼의 잔여 데이터량이 상기 IST 유닛의 입력 버퍼의 잔여 데이터량보다 작은 경우, 상기 광선을 상기 TRV 유닛으로 피드백하고,
    상기 IST 유닛의 입력 버퍼의 잔여 데이터량이 상기 TRV 유닛의 입력 버퍼의 잔여 데이터량보다 작은 경우, 상기 광선을 상기 IST 유닛으로 전송하는 것을 특징으로 하는 레이 트레이싱 처리 장치.
  17. 제13항에 있어서,
    상기 제1 연산부는,
    상기 광선이 TRV 유닛으로 피드백되는 경우, 상기 검출된 리프 노드에 포함되는 프리미티브 바운딩 박스(primitive bounding box)와 상기 광선의 교차 검사를 수행하여, 상기 광선이 교차하는 프리미티브 바운딩 박스를 검출하는 것을 특징으로 하고,
    상기 처리 장치는,
    상기 검출된 프리미티브 바운딩 박스에 포함되는 프리미티브(primitive)와 상기 광선의 교차 검사를 수행하여, 상기 광선이 상기 프리미티브에 교차하는지 여부를 판단하고, 상기 광선이 상기 프리미티브와 교차하는 경우, 교차점을 연산하는 제2 연산부를 더 포함하는 것을 특징으로 하는 레이 트레이싱 처리 장치.
  18. 제17항에 있어서,
    상기 프리미티브 바운딩 박스는 하나의 프리미티브를 포함하는 것을 특징으로 하는 레이 트레이싱 처리 장치.
  19. 제13항에 있어서,
    상기 처리 장치는,
    상기 광선이 상기 IST 유닛으로 전송되는 경우,상기 검출된 리프 노드에 포함되는 상기 프리미티브와 상기 광선의 교차 검사를 수행하여, 상기 광선이 상기 프리미티브에 교차하는지 여부를 판단하고, 상기 광선이 상기 프리미티브와 교차하는 경우, 교차점을 연산하는 제2 연산부를 더 포함하는 것을 특징으로 하는 레이 트레이싱 처리 장치.
  20. 제17항 또는 제19항에 있어서,
    상기 처리장치는,
    상기 프리미티브와 상기 광선의 교차 검사 수행한 후,
    상기 TRV 유닛의 상태와 상기 IST 유닛의 상태를 비교하여, 상기 광선을 상기 IST 유닛으로 피드백할 것인지 상기 TRV 유닛으로 전송할 것인지를 결정하는 제2 판단부를 더 포함하고,
    상기 광선이 상기 TRV 유닛으로 전송되는 경우,
    상기 제1 연산부는, 상기 검출된 리프 노드에 포함되는 프리미티브 바운딩 박스(primitive bounding box)와 상기 광선의 교차 검사를 수행하여, 상기 광선이 교차하는 제2 프리미티브 바운딩 박스를 검출하고,
    상기 제2 연산부는, 상기 검출된 제2 프리미티브 바운딩 박스에 포함되는 제2 프리미티브(primitive)와 상기 광선의 교차 검사를 수행하여, 상기 광선이 상기 제2 프리미티브에 교차하는지 여부를 판단하여, 상기 광선이 상기 제2 프리미티브와 교차하는 경우, 제2 교차점을 연산하는 것을 특징으로 하는 레이 트레이싱 처리 장치.
  21. 제20항에 있어서,
    상기 광선이 상기 IST 유닛으로 피드백되는 경우,
    상기 제2 연산부는,
    상기 검출된 리프 노드에 포함되는 제2 프리미티브와 상기 광선의 교차 검사를 수행하여, 상기 광선이 상기 제2 프리미티브에 교차하는지 여부를 판단하여, 상기 광선이 상기 제2 프리미티브와 교차하는 경우, 상기 제2 교차점을 연산하는 것을 특징으로 하는 레이 트레이싱 처리 장치.
  22. 제13항에 있어서,
    상기 제1 연산부는,
    상기 리프 노드를 검출할 때까지, 가속 구조에 포함된 노드에 대하여, 광선-노드 교차 검사를 반복 수행하는 것을 특징으로 하는 레이 트레이싱 처리 장치.
  23. 제22항에 있어서,
    상기 가속 구조는 프리미티브 바운딩 박스를 포함하는 BVH 구조인 것을 특징으로 하는 레이 트레이싱 처리 장치.
  24. 제13항에 있어서,
    상기 노드 및 상기 프리미티브 바운딩 박스는 직사각 형태인 것을 특징으로 하는 레이 트레이싱 처리 장치.
  25. 제1항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR20130118129A 2013-10-02 2013-10-02 레이 트레이싱 처리 장치 및 방법 KR20150039493A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR20130118129A KR20150039493A (ko) 2013-10-02 2013-10-02 레이 트레이싱 처리 장치 및 방법
US14/261,538 US20150091904A1 (en) 2013-10-02 2014-04-25 Ray tracing processing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130118129A KR20150039493A (ko) 2013-10-02 2013-10-02 레이 트레이싱 처리 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20150039493A true KR20150039493A (ko) 2015-04-10

Family

ID=52739696

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130118129A KR20150039493A (ko) 2013-10-02 2013-10-02 레이 트레이싱 처리 장치 및 방법

Country Status (2)

Country Link
US (1) US20150091904A1 (ko)
KR (1) KR20150039493A (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170048966A (ko) * 2015-10-27 2017-05-10 삼성전자주식회사 레이 트레이싱 장치 및 방법
KR20200120038A (ko) * 2019-04-11 2020-10-21 주식회사 실리콘아츠 포터블 레이 트레이싱 장치
KR102269648B1 (ko) 2020-10-13 2021-06-25 세종대학교산학협력단 성능이 개선된 레이 트레이싱 장치 및 방법
WO2022092414A1 (ko) * 2020-10-30 2022-05-05 세종대학교산학협력단 프레임 분할을 이용한 멀티칩 기반의 레이 트레이싱 장치 및 방법
KR20220085203A (ko) 2020-12-15 2022-06-22 세종대학교산학협력단 동적 장면에 대한 집중도 기반의 레이 트레이싱 방법 및 장치
KR20220085204A (ko) 2020-12-15 2022-06-22 세종대학교산학협력단 포비티드 렌더링에 관한 집중도 기반의 레이 트레이싱 방법 및 장치
KR102537317B1 (ko) 2022-08-19 2023-05-26 세종대학교산학협력단 렌더링 성능을 올리기 위한 멀티레벨 선택적 렌더링 방법 및 장치
KR20230087952A (ko) 2021-12-10 2023-06-19 세종대학교산학협력단 카메라 움직임에 따른 레이 트레이싱 화질조절방법, 이를 수행하는 화질조절장치 및 이를 저장하는 기록매체

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2526598B (en) 2014-05-29 2018-11-28 Imagination Tech Ltd Allocation of primitives to primitive blocks
US9852537B2 (en) 2015-05-01 2017-12-26 Otoy Inc. Rendering via ray-depth field intersection

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7940266B2 (en) * 2006-10-13 2011-05-10 International Business Machines Corporation Dynamic reallocation of processing cores for balanced ray tracing graphics workload
US9041713B2 (en) * 2006-11-28 2015-05-26 International Business Machines Corporation Dynamic spatial index remapping for optimal aggregate performance
KR101004110B1 (ko) * 2009-05-28 2010-12-27 주식회사 실리콘아츠 레이 트레이싱 코어 및 이를 포함하는 레이 트레이싱 칩
US8472455B2 (en) * 2010-01-08 2013-06-25 Nvidia Corporation System and method for traversing a treelet-composed hierarchical structure

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170048966A (ko) * 2015-10-27 2017-05-10 삼성전자주식회사 레이 트레이싱 장치 및 방법
KR20200120038A (ko) * 2019-04-11 2020-10-21 주식회사 실리콘아츠 포터블 레이 트레이싱 장치
KR102269648B1 (ko) 2020-10-13 2021-06-25 세종대학교산학협력단 성능이 개선된 레이 트레이싱 장치 및 방법
WO2022092414A1 (ko) * 2020-10-30 2022-05-05 세종대학교산학협력단 프레임 분할을 이용한 멀티칩 기반의 레이 트레이싱 장치 및 방법
KR20220058183A (ko) 2020-10-30 2022-05-09 세종대학교산학협력단 프레임 분할을 이용한 멀티칩 기반의 레이 트레이싱 장치 및 방법
KR20220085203A (ko) 2020-12-15 2022-06-22 세종대학교산학협력단 동적 장면에 대한 집중도 기반의 레이 트레이싱 방법 및 장치
KR20220085204A (ko) 2020-12-15 2022-06-22 세종대학교산학협력단 포비티드 렌더링에 관한 집중도 기반의 레이 트레이싱 방법 및 장치
KR20230087952A (ko) 2021-12-10 2023-06-19 세종대학교산학협력단 카메라 움직임에 따른 레이 트레이싱 화질조절방법, 이를 수행하는 화질조절장치 및 이를 저장하는 기록매체
KR102537317B1 (ko) 2022-08-19 2023-05-26 세종대학교산학협력단 렌더링 성능을 올리기 위한 멀티레벨 선택적 렌더링 방법 및 장치

Also Published As

Publication number Publication date
US20150091904A1 (en) 2015-04-02

Similar Documents

Publication Publication Date Title
KR20150039493A (ko) 레이 트레이싱 처리 장치 및 방법
KR102193684B1 (ko) 레이 트레이싱 처리 장치 및 방법
KR102164541B1 (ko) 레이 트레이싱 시스템에서의 가속 구조 생성 장치 및 그 생성 방법
KR102493461B1 (ko) 렌더링 시스템 및 방법
US8441477B2 (en) Apparatus and method of enhancing ray tracing speed
KR102161749B1 (ko) 화상의 렌더링을 위하여 광선 추적을 수행하는 방법 및 장치.
US10580195B2 (en) Ray-triangle intersection testing with tetrahedral planes
KR102370617B1 (ko) 적응적 샘플링을 수행하여 영상을 처리하는 방법 및 장치.
KR100718157B1 (ko) 충돌 감지 장치 및 방법
KR20160047317A (ko) 하이브리드 렌더링 장치 및 방법
KR101705072B1 (ko) 영상 처리 장치 및 방법
KR20150039496A (ko) 이전 렌더링의 결과를 이용하여 광선을 추적하는 방법 및 장치
EP2950275B1 (en) Apparatus and method of traversing acceleration structure in ray tracing system
KR20150136348A (ko) 레이 트레이싱 시스템에서의 가속 구조 탐색 장치 및 그 탐색 방법
KR102537529B1 (ko) 레이 트레이싱 장치 및 방법
KR20150046642A (ko) 레이 트레이싱 시스템에서의 가속 구조 탐색 장치 및 그 탐색 방법
KR20150034062A (ko) 동일한 그룹의 데이터를 라우팅하는 방법 및 장치, 렌더링 유닛을 재구성하는 방법 및 장치
KR20170048003A (ko) 가속 구조를 생성하는 방법 및 장치
KR20110099412A (ko) 반사맵 및 굴절맵을 이용한 레이 트레이싱 기법에 따른 랜더링 장치 및 방법
KR20150078003A (ko) 캐시 메모리 시스템 및 그 동작방법
KR102365112B1 (ko) 레이 트레이싱 장치 및 방법
Jaubert et al. Techniques for off-line scene exploration using a virtual camera
CN116547716A (zh) 包围体层次结构生成

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid