KR102166426B1 - 렌더링 시스템 및 이의 렌더링 방법 - Google Patents

렌더링 시스템 및 이의 렌더링 방법 Download PDF

Info

Publication number
KR102166426B1
KR102166426B1 KR1020140084467A KR20140084467A KR102166426B1 KR 102166426 B1 KR102166426 B1 KR 102166426B1 KR 1020140084467 A KR1020140084467 A KR 1020140084467A KR 20140084467 A KR20140084467 A KR 20140084467A KR 102166426 B1 KR102166426 B1 KR 102166426B1
Authority
KR
South Korea
Prior art keywords
ray
rendering
screen
rendering system
area
Prior art date
Application number
KR1020140084467A
Other languages
English (en)
Other versions
KR20160005490A (ko
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 KR1020140084467A priority Critical patent/KR102166426B1/ko
Priority to PCT/KR2015/001459 priority patent/WO2016006786A1/en
Priority to US14/755,813 priority patent/US10008025B2/en
Publication of KR20160005490A publication Critical patent/KR20160005490A/ko
Application granted granted Critical
Publication of KR102166426B1 publication Critical patent/KR102166426B1/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

Landscapes

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

Abstract

렌더링 시스템 및 이의 렌더링 방법이 개시된다. 본 발명의 렌더링 시스템의 렌더링 방법에 따르면, 가속 자료 구조(Acceleration Data Structure)를 이용하여 렌더링을 수행하기 위한 적어도 하나 오브젝트에 대한 데이터를 준비하는 단계, 적어도 하나의 오브젝트를 추출하기 위해 스크린으로의 투사를 이용하여 배경 영역과 오브젝트 영역으로 분리하는 단계 및 적어도 하나의 오브젝트를 렌더링하기 위해 오브젝트 영역에 대해 레이-트레이싱을 수행하는 단계를 포함한다.

Description

렌더링 시스템 및 이의 렌더링 방법 { RENDERING SYSTEM AND RENDERING METHOD THEREOF }
본 발명은 렌더링 시스템 및 이의 렌더링 방법에 관한 것으로, 더욱 상세하게는 렌더링 시스템의 하드웨어를 싱글 칩에 구현하여, 빠르고 정확한 렌더링을 수행하기 위한 렌더링 시스템 및 이의 렌더링 방법에 관한 것이다.
레이-트레이싱(Ray Tracing)은 관찰자(카메라)의 시점에서 가상의 스크린의 각 픽셀을 향한 광선을 따라 빛의 경로를 역추적하여 영상을 생성하는 방법이다. 특히 레이-트레이싱은 3D 화면을 렌더링한 알고리즘으로 사용된다.
일반적으로 사용되는 레이-트레이싱의 알고리즘은 계산량이 많다는 문제점이 있다. 화면을 렌더링하기 위해 소모되는 시간은 선형적으로 오브젝트의 양과 해상도에 의존한다. 즉, 화면에 존재하는 오브젝트의 양이 많을수록, 해상도가 높을수록 렌더링을 위해 많은 시간이 소요된다.
따라서, 알고리즘의 계산량을 감소시켜 하드웨어 상 싱글 칩(single chip)에서 효율적으로 렌더링을 수행하기 위한 기술에 대한 필요성이 대두되었다.
본 발명은 상술한 필요성에 따라 안출된 것으로, 본 발명의 목적은 3D 화면의 렌더링이 빠르고 정확하게 수행되며 특히, 하드웨어적으로 싱글 칩에서 수행되도록 하기 위한 렌더링 시스템 및 이의 렌더링 방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 렌더링 시스템의 렌더링 방법은 가속 자료 구조(Acceleration Data Structure)를 이용하여 렌더링을 수행하기 위한 적어도 하나 오브젝트에 대한 데이터를 준비하는 단계, 상기 적어도 하나의 오브젝트를 추출하기 위해 스크린으로의 투사를 이용하여 배경 영역과 오브젝트 영역으로 분리하는 단계 및 상기 적어도 하나의 오브젝트를 렌더링하기 위해 상기 오브젝트 영역에 대해 레이-트레이싱을 수행하는 단계를 포함할 수 있다.
한편, 상기 준비하는 단계는, 상기 적어도 하나의 오브젝트를 상기 스크린과의 거리에 따라 분류하는 단계 및 상기 분류된 적어도 하나의 오브젝트에 대해 상기 가속 자료 구조를 생성하는 단계를 포함할 수 있다.
그리고 상기 준비하는 단계는, 상기 가속 자료 구조로 BVH(Bounding Volume Hierarchy) 트리 구조를 이용하는 것을 특징으로 할 수 있다.
한편, 상기 분리하는 단계는, 상기 가속 자료 구조의 적어도 하나의 루트 노드(root node)의 기준점을 계산하는 단계, 투사 매트릭스를 이용하여 상기 스크린에 대해 투사하는 단계 및 상기 투사 결과에 따라 배경 픽셀을 마크하여 상기 배경 영역으로 분리하는 단계를 포함할 수 있다.
그리고 상기 오브젝트 영역은, 상기 적어도 하나의 오브젝트 중, 기 설정된 수의 오브젝트를 포함하도록 계산된 새로운 오브젝트가 투사된 영역인 것을 특징으로 할 수 있다.
한편, 상기 수행하는 단계는, 최초 레이를 생성하고, 상기 최초 레이가 구 또는 평면과 교차하는 점을 검출하여 렌더링을 수행하는 제1 렌더링 단계 및 상기 최초 레이로부터 적어도 하나의 참조 레이를 생성하고, 상기 적어도 하나의 참조 레이가 구 또는 평면과 교차하는 점을 검출하여 렌더링을 수행하는 제2 렌더링 단계를 포함할 수 있다.
그리고 상기 제1 및 제2 렌더링 단계는 병렬적으로 수행되는 것을 특징으로 할 수 있다.
한편, 상기 수행하는 단계는, 상기 분리된 배경 영역을 제외한 나머지 영역인 상기 오브젝트 영역에 대해 레이-트레이싱을 수행하는 것을 특징으로 할 수 있다.
한편, 본 발명의 일 실시 예에 따른 렌더링 시스템은, 가속 자료 구조(Acceleration Data Structure)를 이용하여 렌더링을 수행하기 위한 적어도 하나 오브젝트에 대한 데이터를 준비하고, 상기 적어도 하나의 오브젝트를 추출하기 위해 스크린으로의 투사를 이용하여 배경 영역과 오브젝트 영역으로 분리하는 제어부 및 상기 적어도 하나의 오브젝트를 렌더링하기 위해 상기 오브젝트 영역에 대해 레이-트레이싱(Ray Tracing)을 수행하는 레이-트레이싱부를 포함할 수 있다.
그리고 상기 제어부는, 상기 적어도 하나의 오브젝트를 상기 스크린과의 거리에 따라 분류하고, 상기 분류된 적어도 하나의 오브젝트에 대해 상기 가속 자료 구조를 생성하는 것을 특징으로 할 수 있다.
한편, 상기 제어부는, 상기 가속 자료 구조로 BVH(Bounding Volume Hierarchy) 트리 구조를 이용할 수 있다.
그리고 상기 제어부는, 상기 가속 자료 구조의 적어도 하나의 루트 노드(root node)의 기준점을 계산하고, 투사 매트릭스를 이용하여 상기 스크린에 대해 투사하며, 상기 투사 결과에 따라 배경 픽셀을 마크하여 상기 배경 영역으로 분리하는 것을 특징으로 할 수 있다.
한편, 상기 오브젝트 영역은, 상기 적어도 하나의 오브젝트 중, 기 설정된 수의 오브젝트를 포함하도록 계산된 새로운 오브젝트가 투사된 영역인 것을 특징으로 할 수 있다.
그리고 상기 레이-트레이싱부는, 최초 레이를 생성하고, 상기 최초 레이가 구 또는 평면과 교차하는 점을 검출하여 제1 렌더링을 수행하고, 상기 최초 레이로부터 적어도 하나의 참조 레이를 생성하고, 상기 적어도 하나의 참조 레이가 구 또는 평면과 교차하는 점을 검출하여 제2 렌더링을 수행하는 것을 특징으로 할 수 있다.
한편, 상기 제1 렌더링 및 제2 렌더링은 병렬적으로 수행되는 것을 특징으로 할 수 있다.
그리고 상기 레이-트레이싱부는, 상기 분리된 배경 영역을 제외한 나머지 영역인 상기 오브젝트 영역에 대해 레이-트레이싱을 수행하는 것을 특징으로 할 수 있다.
본 발명의 다양한 실시예에 따르면, 사용자는 3D 화면의 렌더링이 빠르고 정확하게 수행되며 특히, 하드웨어적으로 싱글 칩에서 수행되는 렌더링 시스템 및 이의 렌더링 방법을 이용할 수 있게 된다.
도 1은 본 발명의 일 실시 예에 따른, 렌더링 시스템의 구성을 도시한 블럭도,
도 2는 본 발명의 일 실시 예에 따른, 레이-트레이싱부의 구성을 도시한 블럭도,
도 3은 본 발명의 일 실시 예에 따른, 렌더링 시스템의 렌더링 방법을 도시한 흐름도,
도 4 및 도 5는 오브젝트, 광원, 스크린 및 관찰자의 시점을 도시한 도면,
도 6은 본 발명의 일 실시 예에 따른, 렌더링 시스템이 복수의 오브젝트를 분류하는 방법을 도시한 도면,
도 7은 BVH 트리의 구조를 도시한 도면,
도 8은 본 발명의 일 실시 예에 따른, 오브젝트 영역을 획득하는 과정을 도시한 도면,
도 9는 본 발명의 일 실시예에 따른, 관찰자의 시점에서 레이를 생성하는 모습을 도시한 도면,
도 10은 본 발명의 일 실시 예에 따라 오브젝트 간에 교차하는 경우를 도시한 도면, 그리고,
도 11은 본 발명의 일 실시 예에 따른, 렌더링 시스템의 렌더링 방법에 대해 도시한 흐름도이다.
이하에서는 첨부된 도면을 참조하여, 본 발명의 다양한 실시 예를 좀더 상세하게 설명한다. 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다. 그리고 후술 되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시예에 따른, 렌더링 시스템(100)의 구성을 도시한 도면이다. 도 1에 도시된 바와 같이, 렌더링 시스템(100)은 저장부(110), 제어부(120), 버스(130), 캐시 메모리(140), 레이-트레이싱부(150), 프레임 버퍼(160) 및 비디오 생성기(170)를 포함한다.
저장부(110)는 가속 자료 구조(Acceleration Data Structure) 및 각종 파라미터를 저장하기 위한 구성요소이다. 즉, 저장부(110)는 화면 파라미터들(scene parameters) 그리고 초기 파라미터(primitives parameters)를 저장할 수 있다.
한편, 제어부(120)는 렌터링 시스템(100)의 전반적인 동작을 제어한다. 특히, 제어부(120)는 가속 자료 구조(Acceleration Data Structure)를 이용하여 렌더링을 수행하기 위한 적어도 하나 오브젝트에 대한 데이터를 준비하고, 상기 적어도 하나의 오브젝트를 추출하기 위해 스크린으로의 투사를 이용하여 배경 영역과 오브젝트 영역으로 분리할 수 있다.
구체적으로, 제어부(120)는 적어도 하나의 오브젝트를 스크린과의 거리에 따라 분류하고, 분류된 적어도 하나의 오브젝트에 대해 가속 자료 구조를 생성할 수 있다.
특히, 제어부(120)는 가속 자료 구조로 BVH(Bounding Volume Hierarchy) 트리 구조를 이용할 수 있다. 그러나 이는 일 실시 예에 불과할 뿐, 제어부(120)는 가속 자료 구조로 KD-Trees, BSP-Trees, BIH(Bounding Interval Hierarchy) 등의 트리구조를 사용할 수 있다.
한편, 제어부(120)는 가속 자료 구조의 적어도 하나의 루트 노드(root node)의 기준점을 계산할 수 있고, 투사 매트릭스를 이용하여 루트 노드에 대해 스크린에 대해 투사하도록 제어할 수 있다. 그리고 제어부(120)는 투사 결과에 따라 배경 픽셀을 마크하여 배경 영역으로 분리하도록 제어할 수 있다.
오브젝트 영역은 적어도 하나의 오브젝트 중, 기 설정된 수의 오브젝트를 포함하도록 계산된 새로운 오브젝트가 스크린에 대해 투사된 영역을 의미한다. 즉, 기 설정된 수가 4인 경우, 제어부(120)는 서로 근접한 4개의 오브젝트를 포함하도록 새로운 오브젝트의 중심점 및 반지름을 계산할 수 있다. 그리고 제어부(120)는 새롭게 형성된 오브젝트를 스크린에 대해 투사하도록 제어할 수 있다. 따라서, 오브젝트 영역은 새롭게 형성된 오브젝트가 투사된 영역을 의미한다.
또한, 상술한 바와 같은 트리 구조가 가속 자료 구조로 사용되는 경우, 오브젝트 영역은 사각형 모양일 수 있다.
한편, 버스(130)는 렌더링 시스템(100)의 각 구성요소를 연결하기 위한 구성이다. 즉, 저장부(110), 제어부(120) 그리고 레이-트레이싱을 수행하기 위한 각종 구성요소는 버스(130)를 통해 연결될 수 있다.
캐시 메모리(140) 및 레이-트레이싱부(150)는 레이-트레이싱을 수행하기 위한 구성요소이다.
즉, 제어부(120)의 제어에 의해, 레이-트레이싱부(150)는 적어도 하나의 오브젝트에 대해 레이-트레이싱을 수행한다. 즉, 레이-트레이싱부(150)는 제어부(120)에 의해 마크된 배경 픽셀을 제외한 나머지 영역에 대해 레이-트레이싱을 수행할 수 있다.
한편, 캐시 메모리(140)는 가장 최근에 액세스 된(accessed) 초기 파라미터를 홀드(hold) 하기 위한 구성요소이다.
레이-트레이싱부(150)는 최초 레이를 생성하고 최초 레이가 구 또는 평면과 교차하는 점을 검출하며, 그림자 영역을 검출할 수 있다. 또한, 이와 같은 동작과 병렬적으로, 레이-트레이싱부(150)는 적어도 하나의 참조 레이를 생성하고, 적어도 하나의 참조 레이가 구 또는 평면과 교차하는 점을 검출하며, 참조 레이에 의한 그림자 영역을 검출할 수 있다.
상술한 레이-트레이싱을 수행하기 위해, 레이-트레이싱부(150)는 복수의 서브 구성요소를 포함할 수 있다. 이에 대한 구체적인 구성은 후술한다.
한편, 프레임 버퍼(160)는 기 설정된 수의 프레임을 저장하기 위한 FIFO 메모리이다. 즉, 프레임 버퍼(160)는 마지막 3개의 프레임을 저장할 수 있다. 그러나 이는 일 실시 예에 불과할 뿐, 프레임 버퍼(160)로 사용되는 메모리 종류는 LIFO 메모리일 수 있으며 제한이 없다. 프레임 버퍼(160)는 레이-트레이싱부(150) 및 비디오 생성기(170)를 동기화하고, 스트리밍 비디오를 출력하는데 이용될 수 있다.
비디오 생성기(170)는 비디오 신호를 생성하기 위한 구성요소이다. 즉, 비디오 생성기(170)는 제어부(120)의 제어에 의해 초기화되며, HDMI 프로토콜에 따른 비디오 신호를 생성할 수 있다.
상술한 바와 같은 렌더링 시스템(100)에 의해, 사용자는 FPGA, ASIC과 같은 싱글 칩을 이용하여, 3D모델의 사실적인 렌더링을 수행할 수 있게 된다.
한편, 도 2는 본 발명의 일 실시 예에 따른, 레이-트레이싱부(150)의 구성을 도시한 블럭도이다.
레이-트레이싱부(150)는 최초 레이 생성부(205)를 포함하는 렌더링 단계부(200) 및 반사 레이 단계부(225, 250)를 포함할 수 있다. 그러나 이는 일 실시 예에 불과할 뿐, 레이-트레이싱부(150)는 반사 레이뿐만 아니라 굴절 레이를 생성하고, 굴절 레이 및 구, 평면 간 교차를 검출하기 위한 굴절 레이 단계부를 더 포함할 수도 있다. 또한, 도 2는 반사 레이 단계부(225, 250)가 두 개 존재하는 것으로 도시되었으나, 이는 일 실시 예에 불과할 뿐, 하나의 반사 레이 단계부 및 하나의 굴절 레이 단계부를 포함하는 등 다양한 형태로 구현될 수도 있다.
렌더링 단계부(200) 최초 레이 생성부(205), 구 교차부(210), 평면 교차부(215) 및 그림자 검출부(220)를 포함할 수 있다.
구체적으로, 최초 레이 생성부(205)는 최초 레이(Initial Ray)를 생성하기 위한 구성요소이다. 최초 레이 생성부(205)는 두 가지 포맷의 좌표 벡터로 정의되는 최초 레이를 생성할 수 있다. 한가지 포맷은 정수 포맷의 단위 벡터(normalized vector)가 아닌 벡터이다. 그리고 다른 한가지 포맷은 부동 소수점(Floating point) 포맷의 단위 벡터(normalized vector)이다.
그리고 구 교차부(210)는 최초 레이 생성부(205)를 통해 생성된 최초 레이 및 구의 교차점을 찾기 위한 구성요소이다. 즉, 구 교차부(210)는 교차점의 좌표 및 구의 식별자를 정의할 수 있다.
구 교차부(210)는 오직 오브젝트 영역에 포함된 픽셀을 가로지르는 레이에 대해서만, 구와의 교차점을 검출할 수 있다. 즉, 제어부(120)의 제어에 의해 분리된 배경 픽셀이 아닌 영역에 대해서만 구와의 교차점을 검출할 수 있다.
구 교차부(210)는 광선의 교차 여부를 판단하기 위해 정수 포맷의 단위 벡터가 아닌 벡터를 이용할 수 있다. 그리고 구 교차부(210)는 교차점의 좌표를 검출하기 위해 부동 소수점 포맷의 단위 벡터를 이용할 수 있다.
또한, 평면 교차부(215)는 최초 레이 생성부(205)를 통해 생성된 최초 레이 및 평면의 교차점을 찾기 위한 구성요소이다. 즉, 평면 교차부(215)는 교차점의 좌표 및 평면의 식별자를 정의할 수 있다. 평면 교차부(215)는 부동 소수점 포맷의 레이 및 의 부동 소수점 연산을 이용할 수 있다.
그림자 검출부(220)는 최초 레이 생성부(205)를 통해 생성된 최초 레이가 그림자를 생성하는 경우, 그림자를 검출하기 위한 구성요소이다. 즉, 그림자 검출부(220)는 교차점의 색깔에 대한 광원의 기여 계수를 계산할 수 있다. 광원의 기여 계수는 빛의 효과가 최대로 존재하는 0부터 빛의 효과가 존재하지 않는 1까지의 값을 가지도록 계산될 수 있다. 광원의 기여 계수는 교차점으로부터 광원까지의 벡터 및 교차점에서의 법선 벡터(normal vector) 사이의 각도(0도에서 90도)에 선형적으로 의존한다. 교차점으로부터 광원까지의 벡터 및 교차점에서의 법선 벡터(normal vector) 사이의 각도가 90도보다 크면, 자체 그림자 효과가 발생할 수 있다. 또는 교차점으로부터 광원까지의 벡터가 다른 프리미티브(primitives)와 교차하는 경우, 그림자 효과가 발생할 수 있다.
한편, 제1 반사 레이 단계부(225)는 렌더링 단계부(200)의 동작과 병렬적으로 동작을 수행할 수 있다. 그리고 제2 반사 레이 단계부(250)는 제1 반사 레이 단계부(225)의 동작과 병렬적으로 동작을 수행할 수 있다.
예를 들어, 렌더링 단계부(200)가 i번째 픽셀의 그룹에 대해 각 동작을 수행하는 경우, 제1 반사 레이 단계부(225)는 (i-1) 번째 픽셀의 그룹에 대해 각 동작을 수행하며, 제2 반사 레이 단계부(250)는 (i-2) 번째 픽셀의 그룹에 대해 각 동작을 수행할 수 있다.
또한, 렌더링 단계부(200), 제1 반사 레이 단계부(225) 및 제2 반사 레이 단계부(250)를 통해 3D 효과의 뎁스가 정의된 프레임을 생성할 수 있다. 또한, 각 단계부에서 생성된 프레임은 저장부(110)에 저장될 수 있다.
제1 반사 레이 단계부(225)의 반사 레이 생성부(230)는 파생 레이(Reference Ray)로써, 반사 레이를 생성하기 위한 구성요소이다. 구 교차부(235)는 반사 레이 생성부(230)를 통해 생성된 반사 레이 및 구의 교차점을 찾기 위한 구성요소이다. 또한, 평면 교차부(215)는 반사 레이 생성부(230)를 통해 생성된 반사 레이 및 평면의 교차점을 찾기 위한 구성요소이다. 그림자 검출부(220)는 반사 레이 생성부(230)를 통해 생성된 반사 레이가 그림자를 생성하는 경우, 그림자를 검출하기 위한 구성요소이다.
또한, 제2 반사 레이 단계부(250)의 반사 레이 생성부(255)는 파생 레이(Reference Ray)로써, 반사 레이를 생성하기 위한 구성요소이다. 구 교차부(260)는 반사 레이 생성부(255)를 통해 생성된 반사 레이 및 구의 교차점을 찾기 위한 구성요소이다. 또한, 평면 교차부(265)는 반사 레이 생성부(255)를 통해 생성된 반사 레이 및 평면의 교차점을 찾기 위한 구성요소이다. 그림자 검출부(270)는 반사 레이 생성부(255)를 통해 생성된 반사 레이가 그림자를 생성하는 경우, 그림자를 검출하기 위한 구성요소이다.
한편, 먹스 프레임(280)은 프레임을 생성하기 위해, 각 단계부(200, 225, 250)에서 수행한 결과로부터, 필요한 3D 효과 뎁스에 따른 프레임을 선택하기 위한 구성요소이다.
한편, 도 3은 본 발명의 일 실시 예에 따른, 렌더링 시스템의 렌더링 방법을 도시한 흐름도이다. 렌더링 시스템(100)은 데이터가 입력되면(S300), 오브젝트를 분류한다(S310).
즉, 도 4에 도시된 바와 같이 오브젝트(400)는 둥근 구 형태이고, 스크린(420)은 X-Y평면에서 D만큼 떨어진 위치에 X-Y평면과 평행하게 위치하며, 관찰자의 시점(V, 410)이 Z축 상에 위치하고 광원 L(430)이 존재하는 경우를 예로 든다.
도 4는 오브젝트(400)가 한 개 도시되어 있으나, 오브젝트(400)는 적어도 하나 존재할 수 있다. 따라서, 복수개의 오브젝트가 존재하는 경우, 렌더링 시스템(100)은 모든 오브젝트에 대해 중심점의 z축 좌표에 따라 분류할 수 있다.
그리고 렌더링 시스템(100)은 가속 데이터 구조를 생성한다(S315). 즉, 모든 오브젝트에 대한 분류 후에, 렌더링 시스템(100)은 가속 데이터 구조를 형성할 수 있다. 가속 데이터 구조는 트리 구조가 사용될 수 있다. 예를 들면, KD-trees, BSP-trees, BVH, BIH등이 사용될 수 있다.
배경 영역을 분리하기 위해, 우선 렌더링 시스템(100)은 기준점(basis point)을 계산한다(S320). 그리고 렌더링 시스템(100)은 투사 매트릭스를 이용하여 투사를 생성한다(S321). 즉, 계산량을 감소시키기 위해, 렌더링 시스템(100)은 루트 노드(root node)의 기 설정된 수의 기준점 좌표만을 사용할 수 있다. 투사 결과에 의해, 렌더링 시스템(100)은 계산된 배경 픽셀을 마크한다(S322). 즉, 마크된 배경 픽셀에 대해 렌더링 시스템(100)은 더 이상 트레이싱을 수행하지 않을 수 있다. 특히, 렌더링 시스템(100)은 트리 구조의 가속 자료 구조를 사용하는 경우, 사각형 형태의 배경 영역을 마크할 수 있다.
배경 픽셀을 분리하여 마크한 뒤, 렌더링 시스템(100)은 배경 픽셀이 아닌 픽셀들에 대해 레이 트레이싱을 수행한다. 먼저, 렌더링 시스템(100)은 레이와 오브젝트가 교차하는지 확인하고(S330), 레이 및 오브젝트의 교차점을 계산한다(S331). 즉, 교차된 오브젝트가 트리의 리프 노드(leaf node)인 경우, 교차점이 계산된다. 따라서, 렌더링 시스템(100)은 트리를 가로지르는 레이가 각 노드를 교차하는지 테스트한다. 렌더링 시스템(100)은 교차된 오브젝트가 모두 발견된 경우, 스크린(420)에서 가장 가까운 오브젝트를 렌더링을 위해 선택할 수 있다.
그리고 렌더링 시스템(100)은 오브젝트 색깔에 영향을 미치는 광원을 계산한다(S332). 즉, 광원(L, 430)은 오브젝트 컬러 정보에 대해 가장 큰 기여를 한다. 광원(430)이 일 오브젝트에 의해 가려지면, 그림자 효과가 발생한다. 따라서, 그림자 효과가 발생하는 경우가 아니라면, 렌더링 시스템(100)은 오브젝트 컬러 정보를 구하기 위해, 광원의 기여 계수를 계산할 수 있다. 구체적으로, 렌더링 시스템(100)은 오브젝트의 법선 단위 벡터(normal unit vector) 및 광원(430)의 위치를 나타내는 단위 벡터(unit vector)를 이용하여 광원의 기여 계수를 계산할 수 있다.
그 후, 렌더링 시스템(100)은 참조 레이로, 반사 레이를 생성하고(S333), 생성된 반사 레이와 교차하는 오브젝트를 찾는다. 그리고 순차적으로 또는 동시에 렌더링 시스템(100)은 굴절 레이를 생성한다(S334). 그리고 렌더링 시스템(100)은 생성된 굴절 레이와 교차하는 오브젝트를 찾는다.
반사 광선 또는 굴절 광선이 임의의 오브젝트와 교차하는 경우, 교차된 오브젝트의 컬러는 각각의 계수에 따라 현재 렌더링 된 오브젝트의 컬러와 섞인다.
상술한 바와 같은 렌더링 방법에 의해, 사용자는 싱글 칩 상의 하드웨어에서 렌더링 시스템을 구현할 수 있게 된다.
이하에서는, 도 5 내지 도 10을 참조하여, 본원 발명의 일 실시 예에 대해 구체적으로 설명한다.
도 5는 3차원 공간상에 구 형태를 가지는 오브젝트(400)가 위치하는 실시 예를 나타내기 위한 도면이다. 오브젝트(400)는 컬러, 반지름(R), 중심점(C)의 좌표, 반사 계수(A) 및 각 오브젝트에 따른 식별자(ID)를 가진다.
오브젝트(400)가 투사되는 스크린(420)은 1280 x 720 픽셀의 HD해상도를 가질 수 있다. 스크린(420)은 도 5에 도시된 바와 같이 X-Y평면에 평행하고, X-Y평면으로 부터 D만큼 떨어져 있다. 즉, 스크린의 법선 단위 벡터는 (0, 0, 1) 된다. 한편, 스크린(420)이 X-Y평면으로부터 평행하며, 거리 D 만큼 떨어진 것은 일 실시 예에 불과할 뿐, X-Z 평면 등 다른 평면에 평행하도록 위치할 수 있다. 그리고 관찰자(410)의 시점(V)은 Z축 상에 위치한다. 공간상에 광원(430) 또한 포함된다.
레이-트레이싱 알고리즘을 이용하여 스크린(420)의 각 오브젝트에 대해 현실적인 이미지를 생성하기 위해, 관찰자(410)는 스크린(420)의 각 픽셀을 통해 레이(450)를 캐스트(cast)하고, 오브젝트(400)와의 교차를 검출할 수 있다.
추적되는(traced) 픽셀의 수를 감소시키기 위해, 가속 데이터 구조가 이용될 수 있다. 예를 들면, 가속 데이터 구조는 KD-trees, BSP-trees, BVH 또는 BIH와 같은 트리 구조가 사용될 수 있다.
그리고 추적되는(traced) 픽셀의 수를 더욱 감소시키기 위해, 렌더링 시스템(100)은 스크린(420)에 대한 투사를 이용하여 배경 영역과 오브젝트 영역으로 분리할 수 있다. 즉, 렌더링 시스템(100)은 배경 픽셀이 포함되는 배경 영역을 분리하여, 마크할 수 있다.
도 6 및 도 7은 가속 데이터 구조의 구체적인 예시로써, BVH 트리 구조가 이용되는 경우를 설명하기 위한 도면이다.
도 5의 관찰자(410)는 Z축의 양의 방향에 위치한다. 이때, 오브젝트는 Z축의 음의 방향에 위치하는 것으로 볼 수 있다. 렌더링 시스템(100)은 구 형태를 가지는 적어도 하나의 오브젝트를 관찰자(410)로부터 가까운 것부터 먼 것까지 분류할 수 있다.
특히, 적어도 하나의 오브젝트를 분류하는 경우, 렌더링 시스템(100)은 각 오브젝트의 중심점의 Z좌표 값만을 이용하고, 반지름은 고려하지 않을 수 있다.
예를 들면, 도 6의 반지름이 큰 오브젝트(400)의 앞면(470)은 스크린(420)에서 더 가깝다. 그러나 반지름이 큰 오브젝트(400)의 중심점부터 스크린(420)까지의 거리 d1은 반지름이 작은 오브젝트(460)의 중심점부터 스크린(420)까지의 거리 d2보다 길다.
따라서, 렌더링 시스템(100)은 비록 반지름이 큰 오브젝트(400)의 앞면(470)이 스크린(420)에서 더 가까울지라도, 중심점의 z축 좌표가 스크린(420)에서 가까운 순으로 오브젝트를 분류할 수 있다.
상술한 바와 같이 오브젝트를 분류하여, 렌더링 시스템(100)은 BVH 트리를 신속하게 생성할 수 있게 된다. 즉, 렌더링 시스템(100)은 도 7에 도시된 바와 같이 각 레벨에서 4개의 가지(children)를 가지는 BVH 트리를 생성할 수 있게 된다. BVH 트리를 생성하기 위한 구체적인 방법은 다양한 문헌에 공지된 기술이므로, 그 구체적인 방법에 대한 설명은 생략한다.
렌더링 시스템(100)은 BVH 트리를 완성한 뒤, 배경 영역 및 오브젝트 영역을 분리할 수 있다. 즉, 3D 오브젝트는 전체 화면을 채우는 경우는 거의 없다. 따라서, 렌더링 시스템(100)은 오브젝트가 존재하지 않는 단순한 화면의 배경에 대한 픽셀은 추적을 수행하지 않을 수 있다. 렌더링 시스템(100)은 투사 매트릭스를 이용하여, 배경 픽셀을 검출함으로써 배경 영역 및 오브젝트 영역을 분리할 수 있다.
렌더링 시스템(100)은 계산을 간단히 하기 위해, 4개의 기준점만을 이용하여 투사를 수행할 수 있다. 예를 들어, 도 8에 도시된 도면에서 오브젝트의 중심점이 (Xc, Yc)인 경우, 렌더링 시스템(100)은 오브젝트에 대한 투사를 수행하면서 발생하는 에러를 막기 위해 계수 1.4를 사용하여 다음 수학식에 의해 4개의 기준점((XP1, YP1), (XP2, YP2), (XP3, YP3), (XP4, YP4))을 계산할 수 있다. 그러나 계수 1.4가 사용된 것은 일 실시 예에 불과할 뿐, 관찰자(410)가 오브젝트를 바라보는 각도 등에 따라 상이해질 수 있다.
Figure 112014063660628-pat00001
Figure 112014063660628-pat00002
Figure 112014063660628-pat00003
Figure 112014063660628-pat00004
상술한 수학식 1 내지 4에 의해, 렌더링 시스템(100)은 2.8R의 모서리를 가지는 사각형 스크린 투사(480)를 오브젝트 영역으로 획득할 수 있다. 그리고 렌더링 시스템(100)은 투사된 사각형 스크린(480)의 각 픽셀에 대해 광선을 트레이스(trace) 할 수 있다.
한편, 도 9는 관찰자(410)의 시점(V)에서 레이를 생성하는 모습을 도시한 도면이다. 즉, 렌더링 시스템(100)은 관찰자(410)의 시점(V)에서 레이(VP)를 생성할 수 있다. 렌더링 시스템(100)은 오브젝트(400)와 레이(VP)의 교차를 발견할 때까지, 가속 데이터 구조인 트리를 루트(root)부터 리프(leaf)까지 그리고 왼쪽부터 오른쪽까지 가로지를 수 있다. 렌더링 시스템(100)은 리프(leaf) 오브젝트에서 교차가 발생하는 경우에만, 교차점에 대해 계산할 수 있다. 즉, 노드(node) 오브젝트에서는 교차 여부에 대해서만 판단할 수 있다.
교차가 발견된 경우, 렌더링 시스템(100)은 교차점을 계산할 수 있다. 렌더링 시스템(100)은 반사된 광선을 만들고, 현재 오브젝트(400)의 컬러를 반사된 오브젝트(400)의 컬러와 혼합할 수 있다. 그리고 오브젝트(400)의 최종 컬러를 계산하기 위해 광원 방향으로 레이를 캐스트(cast)할 수 있다.
즉, 도 9에 도시된 바와 같이, 구의 반지름 R의 제곱의 값에서 D의 제곱의 값을 뺀 값이 0보다 큰 경우, 레이는 오브젝트(400)와 교차할 수 있다.
D의 값은 피타고라스의 식에 의해, L의 제곱 값에서 T의 제곱 값을 감산함으로써 계산될 수 있다. L의 값은 관찰자(V)의 위치에 대한 좌표값 및 오브젝트(400)의 중심점의 좌표값을 이용하여 계산될 수 있다. 그리고 T는 다음 수학식 5를 이용하여 계산될 수 있다.
Figure 112014063660628-pat00005
결과적으로 레이가 오브젝트(400)와 교차하기 위해서는 수학식 6을 만족해야한다.
Figure 112014063660628-pat00006
수학식 6에 대해 양변에
Figure 112014063660628-pat00007
를 곱하면, 수학식 7이 얻어진다.
Figure 112014063660628-pat00008
교차점의 좌표를 구하기 위해, 파라미터 T1이 수학식 8에 의해 계산되어야 한다.
Figure 112014063660628-pat00009
그리고 현재 파라미터 t는 수학식 9에 의해 계산된다.
Figure 112014063660628-pat00010
따라서, 교차점의 좌표 [X, Y, Z]는 수학식 10과 같다.
Figure 112014063660628-pat00011
수학식 10의 [XV, YV, ZV]는 관찰자(V, 410)의 좌표값을 나타낸다. 그리고 [XVPnorm, YVPnorm, ZVPnorm]은 벡터 VP의 단위 벡터(normalized vector)의 좌표값을 나타낸다.
현실적인 화면 렌더링을 위해, 렌더링 시스템(100)은 각 오브젝트에 대해 적어도 하나의 반사를 이용할 수 있다. 즉, 렌더링 시스템(100)은 알고리즘을 이용하여 반사된 레이와 적어도 하나의 오브젝트의 교차를 검출할 수 있다. 그리고 반사된 레이와 교차된 오브젝트의 컬러는 현재 렌더링 된 오브젝트의 컬러와 섞일 수 있다.
한편, 도 10은 본 발명의 일 실시 예에 따라 오브젝트 간에 교차하는 경우를 도시한 도면이다. 렌더링 시스템(100)은 반사된 레이(450)의 원점이 구 형태의 오브젝트 내부에 위치한 경우, 오브젝트 간에 교차한 것으로 판단할 수 있다.
상술한 바와 같은 레이-트레이싱 방법에 의해, 사용자는 싱글 칩을 이용하여 3D모델의 빠르고 정확한, 사실적인 렌더링을 수행할 수 있게 된다.
한편, 도 11은 본 발명의 일 실시 예에 따른, 렌더링 시스템(100)의 렌더링 방법에 대해 도시한 흐름도이다.
먼저, 렌더링 시스템(100)은 가속 자료 구조를 이용하여 렌더링을 수행하기 위한 적어도 하나 오브젝트에 대한 데이터를 준비한다(S1100).
그리고 렌더링 시스템(100)은 적어도 하나의 오브젝트를 추출하기 위해 스크린으로의 투사를 이용하여 배경 영역과 오브젝트 영역으로 분리한다(S1110). 즉, 렌더링 시스템(100)은 투사 결과에 따라 배경 픽셀을 마크하여 배경 영역으로 분리할 수 있다. 오브젝트 영역은 적어도 하나의 오브젝트 중, 기 설정된 수의 오브젝트를 포함하도록 계산된 새로운 오브젝트가 스크린에 대해 투사된 영역을 의미한다.
그리고 렌더링 시스템(100)은 적어도 하나의 오브젝트를 렌더링하기 위해 오브젝트 영역에 대해 레이-트레이싱을 수행한다(S1120).
상술한 다양한 실시 예들에 따른 렌더링 시스템의 렌더링 방법은 소프트웨어로 코딩되어 비일시적 판독 가능 매체(non-transitory readable medium)에 저장될 수 있다. 이러한 비일시적 판독 가능 매체는 다양한 장치에 탑재되어 사용될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안 될 것이다.
110: 저장부 120: 제어부
130: 버스 140: 캐시 메모리
150: 레이-트레이싱부 160: 프레임 버퍼
170: 비디오 생성기

Claims (16)

  1. 렌더링 시스템의 렌더링 방법에 있어서,
    데이터가 입력되면, 상기 데이터에 대응되는 적어도 하나의 오브젝트를 획득하는 단계:
    상기 적어도 하나의 오브젝트를 스크린과의 거리에 따라 분류하는 단계;
    상기 분류된 적어도 하나의 오브젝트에 대해 가속 자료 구조(Acceleration Data Structure)를 생성하는 단계;
    상기 가속 자료 구조의 적어도 하나의 루트 노드(root node)의 기준점을 계산하는 단계;
    투사 매트릭스를 이용하여 상기 스크린에 대해 투사하는 단계;
    상기 투사 결과에 따라, 배경 픽셀을 마크하여 배경 영역으로 분리하는 단계; 및
    상기 분리된 배경 영역을 제외한 나머지 영역인 오브젝트 영역에 대해 레이 트레이싱을 수행하는 단계;를 포함하고,
    상기 획득하는 단계는,
    상기 적어도 하나의 오브젝트 중 기 설정된 개수의 서로 근접한 오브젝트를 포함하는 새로운 오브젝트를 획득하는 단계;를 포함하고,
    상기 분류하는 단계는,
    상기 적어도 하나의 오브젝트와 상기 스크린과의 거리를 바탕으로 상기 새로운 오브젝트를 포함하는 상기 적어도 하나의 오브젝트를 분류하는 단계;를 포함하는 렌더링 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 생성하는 단계는,
    상기 가속 자료 구조로 BVH(Bounding Volume Hierarchy) 트리 구조를 이용하는 것을 특징으로 하는 렌더링 방법.
  4. 삭제
  5. 삭제
  6. 제1항에 있어서,
    상기 수행하는 단계는,
    최초 레이를 생성하고, 상기 최초 레이가 구 또는 평면과 교차하는 점을 검출하여 렌더링을 수행하는 제1 렌더링 단계; 및
    상기 최초 레이로부터 적어도 하나의 참조 레이를 생성하고, 상기 적어도 하나의 참조 레이가 구 또는 평면과 교차하는 점을 검출하여 렌더링을 수행하는 제2 렌더링 단계; 를 포함하는 것을 특징으로 하는 렌더링 방법.
  7. 제6항에 있어서,
    상기 제1 및 제2 렌더링 단계는 병렬적으로 수행되는 것을 특징으로 하는 렌더링 방법.
  8. 삭제
  9. 렌더링 시스템에 있어서,
    데이터가 입력되면, 상기 데이터에 대응되는 적어도 하나의 오브젝트를 획득하고,
    상기 적어도 하나의 오브젝트를 스크린과의 거리에 따라 분류하고,
    상기 분류된 적어도 하나의 오브젝트에 대해 가속 자료 구조(Acceleration Data Structure)를 생성하고,
    상기 가속 자료 구조의 적어도 하나의 루트 노드(root node)의 기준점을 계산하고,
    투사 매트릭스를 이용하여 상기 스크린에 대해 투사하고,
    상기 투사 결과에 따라, 배경 픽셀을 마크하여 배경 영역으로 분리하고,
    상기 적어도 하나의 오브젝트 중 기 설정된 개수의 서로 근접한 오브젝트를 포함하는 새로운 오브젝트를 획득하고,
    상기 적어도 하나의 오브젝트와 상기 스크린과의 거리를 바탕으로 상기 새로운 오브젝트를 포함하는 상기 적어도 하나의 오브젝트를 분류하는 제어부; 및
    상기 분리된 배경 영역을 제외한 나머지 영역인 오브젝트 영역에 대해 레이 트레이싱(ray-tracing)을 수행하는 레이-트레이싱부; 를 포함하는 렌더링 시스템.
  10. 삭제
  11. 제9항에 있어서,
    상기 제어부는,
    상기 가속 자료 구조로 BVH(Bounding Volume Hierarchy) 트리 구조를 이용하는 것을 특징으로 하는 렌더링 시스템.
  12. 삭제
  13. 삭제
  14. 제9항에 있어서,
    상기 레이-트레이싱부는,
    최초 레이를 생성하고, 상기 최초 레이가 구 또는 평면과 교차하는 점을 검출하여 제1 렌더링을 수행하고, 상기 최초 레이로부터 적어도 하나의 참조 레이를 생성하고, 상기 적어도 하나의 참조 레이가 구 또는 평면과 교차하는 점을 검출하여 제2 렌더링을 수행하는 것을 특징으로 하는 렌더링 시스템.
  15. 제14항에 있어서,
    상기 제1 렌더링 및 제2 렌더링은 병렬적으로 수행되는 것을 특징으로 하는 렌더링 시스템.
  16. 삭제
KR1020140084467A 2014-07-07 2014-07-07 렌더링 시스템 및 이의 렌더링 방법 KR102166426B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020140084467A KR102166426B1 (ko) 2014-07-07 2014-07-07 렌더링 시스템 및 이의 렌더링 방법
PCT/KR2015/001459 WO2016006786A1 (en) 2014-07-07 2015-02-13 Rendering system and rendering method thereof
US14/755,813 US10008025B2 (en) 2014-07-07 2015-06-30 Rendering system and rendering method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140084467A KR102166426B1 (ko) 2014-07-07 2014-07-07 렌더링 시스템 및 이의 렌더링 방법

Publications (2)

Publication Number Publication Date
KR20160005490A KR20160005490A (ko) 2016-01-15
KR102166426B1 true KR102166426B1 (ko) 2020-10-16

Family

ID=55017342

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140084467A KR102166426B1 (ko) 2014-07-07 2014-07-07 렌더링 시스템 및 이의 렌더링 방법

Country Status (3)

Country Link
US (1) US10008025B2 (ko)
KR (1) KR102166426B1 (ko)
WO (1) WO2016006786A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112016007098T5 (de) * 2016-07-26 2019-04-18 Hewlett-Packard Development Company, L.P. Indexierung von voxeln für das 3d-drucken
KR101862677B1 (ko) * 2018-03-06 2018-05-31 (주)휴톰 3차원 탄성 모델 렌더링 방법, 장치 및 프로그램
WO2019132167A1 (ko) * 2017-12-28 2019-07-04 (주)휴톰 3차원 탄성 모델 렌더링 방법, 장치 및 프로그램
WO2019195774A1 (en) * 2018-04-05 2019-10-10 Nvidia Corporation Shader binding management in ray tracing
JP7058625B2 (ja) * 2019-04-22 2022-04-22 任天堂株式会社 画像処理プログラム、画像処理システム、画像処理装置、および画像処理方法
US12033274B2 (en) * 2021-08-27 2024-07-09 Transfolio, Llc Systems and methods for modeling realistic eye color

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0528280A (ja) * 1991-07-22 1993-02-05 Nippon Telegr & Teleph Corp <Ntt> 光線追跡方法
JPH06274648A (ja) * 1993-03-22 1994-09-30 N T T Data Tsushin Kk 画像生成装置
US6556200B1 (en) * 1999-09-01 2003-04-29 Mitsubishi Electric Research Laboratories, Inc. Temporal and spatial coherent ray tracing for rendering scenes with sampled and geometry data
US6597359B1 (en) 2000-05-17 2003-07-22 Raychip, Inc. Hierarchical space subdivision hardware for ray tracing
US8188997B2 (en) 2000-06-19 2012-05-29 Mental Images Gmbh Accelerated ray tracing using shallow bounding volume hierarchies
US7495664B2 (en) 2000-06-19 2009-02-24 Mental Images Gmbh Instant ray tracing
US8411088B2 (en) 2000-06-19 2013-04-02 Nvidia Corporation Accelerated ray tracing
KR100372901B1 (ko) 2000-06-20 2003-02-19 김세현 지.에프-버퍼를 이용하여 광선추적법의 속도를 개선하는방법
JP2006055213A (ja) * 2004-08-17 2006-03-02 Konica Minolta Medical & Graphic Inc 画像処理装置、及びプログラム
FR2896895B1 (fr) * 2006-02-01 2008-09-26 Redway Soc Par Actions Simplifiee Procede de synthese d'une image virtuelle par lancer de faisceaux
WO2008011391A2 (en) 2006-07-21 2008-01-24 University Of Utah Research Foundation Ray tracing a three-dimensional scene using a hierarchical data structure
US7969434B2 (en) * 2006-09-19 2011-06-28 Caustic Graphics, Inc. Method, apparatus, and computer readable medium for accelerating intersection testing in ray-tracing rendering
US8339398B2 (en) * 2006-09-28 2012-12-25 International Business Machines Corporation Integrated acceleration data structure for physics and ray tracing workload
US8018453B2 (en) * 2007-02-09 2011-09-13 International Business Machines Corporation Deferred acceleration data structure optimization for improved performance
US8102389B2 (en) * 2007-02-14 2012-01-24 International Business Machines Corporation Box casting using an integrated acceleration data structure
US7773087B2 (en) * 2007-04-19 2010-08-10 International Business Machines Corporation Dynamically configuring and selecting multiple ray tracing intersection methods
CN101542233B (zh) * 2007-08-07 2011-12-28 松下电器产业株式会社 图像处理装置以及图像处理方法
US8284195B2 (en) * 2007-09-13 2012-10-09 International Business Machines Corporation Cooperative utilization of spatial indices between application and rendering hardware
US8284188B1 (en) * 2007-10-29 2012-10-09 Nvidia Corporation Ray tracing system, method, and computer program product for simultaneously traversing a hierarchy of rays and a hierarchy of objects
US8237711B2 (en) * 2007-11-19 2012-08-07 Caustic Graphics, Inc. Tracing of shader-generated ray groups using coupled intersection testing
KR100924122B1 (ko) 2007-12-17 2009-10-29 한국전자통신연구원 픽셀 단위 처리 요소 기반의 광선 추적 장치 및 방법
JP4947376B2 (ja) * 2007-12-26 2012-06-06 アイシン・エィ・ダブリュ株式会社 3次元データ処理装置、3次元画像生成装置、ナビゲーション装置及び3次元データ処理プログラム
US8253730B1 (en) 2008-08-29 2012-08-28 Adobe Systems Incorporated System and method for construction of data structures for ray tracing using bounding hierarchies
US8350846B2 (en) * 2009-01-28 2013-01-08 International Business Machines Corporation Updating ray traced acceleration data structures between frames based on changing perspective
US8243073B2 (en) * 2009-01-28 2012-08-14 International Business Machines Corporation Tree insertion depth adjustment based on view frustum and distance culling
KR101004110B1 (ko) 2009-05-28 2010-12-27 주식회사 실리콘아츠 레이 트레이싱 코어 및 이를 포함하는 레이 트레이싱 칩
KR101076807B1 (ko) * 2009-05-29 2011-10-25 주식회사 실리콘아츠 레이 트레이싱 장치 및 방법
US20110246141A1 (en) * 2010-03-31 2011-10-06 Tokyo Electron Limited Method of optical metrology optimization using ray tracing
KR101281157B1 (ko) * 2011-02-14 2013-07-02 세종대학교산학협력단 레이 트레이싱 코어 및 레이 트레이싱 처리 방법
US8654219B2 (en) * 2011-04-26 2014-02-18 Lg Electronics Inc. Method and apparatus for restoring dead pixel using light intensity map in a time-of-flight camera
JP5822655B2 (ja) * 2011-10-28 2015-11-24 任天堂株式会社 ゲーム処理システム、ゲーム処理方法、ゲーム処理装置およびゲーム処理プログラム
KR20130092055A (ko) 2012-02-10 2013-08-20 삼성전자주식회사 영상 처리 장치 및 방법
US9013484B1 (en) * 2012-06-01 2015-04-21 Disney Enterprises, Inc. Progressive expectation-maximization for hierarchical volumetric photon mapping
JP6201359B2 (ja) * 2013-03-22 2017-09-27 カシオ計算機株式会社 投影システム、投影方法及び投影プログラム

Also Published As

Publication number Publication date
US20160005210A1 (en) 2016-01-07
WO2016006786A1 (en) 2016-01-14
KR20160005490A (ko) 2016-01-15
US10008025B2 (en) 2018-06-26

Similar Documents

Publication Publication Date Title
KR102166426B1 (ko) 렌더링 시스템 및 이의 렌더링 방법
CN116483200B (zh) 确定虚拟对象深度以及使虚拟内容翘曲的计算机实现方法
US8254667B2 (en) Method, medium, and system implementing 3D model generation based on 2D photographic images
KR102244619B1 (ko) 가속 구조를 생성 및 탐색하는 방법
KR102197067B1 (ko) 멀티 프레임들의 동일한 영역을 연속으로 렌더링하는 방법 및 장치
KR102604737B1 (ko) 가속 구조를 생성하는 방법 및 장치
KR102161749B1 (ko) 화상의 렌더링을 위하여 광선 추적을 수행하는 방법 및 장치.
US10586375B2 (en) Hybrid raytracing approach for modeling light reflection
CN114897754B (zh) 使用来自先前视角的渲染内容和非渲染内容生成新帧
US20210142575A1 (en) Methods and systems for reprojection in augmented-reality displays
US9171393B2 (en) Three-dimensional texture reprojection
KR102252374B1 (ko) 광선 추적 유닛 및 광선 데이터를 처리하는 방법
EP3309750B1 (en) Image processing apparatus and image processing method
KR101208767B1 (ko) 곡면 투사를 이용한 입체 영상 생성 방법, 장치 및 시스템, 이를 위한 기록 매체
KR20230005312A (ko) 평면도를 생성하기 위한 방법 및 장치
JP3629243B2 (ja) モデリング時の距離成分を用いてレンダリング陰影処理を行う画像処理装置とその方法
US9639975B1 (en) System and method for generating shadows
KR102537530B1 (ko) 가속 구조를 생성하는 방법 및 장치
US9230508B2 (en) Efficient feedback-based illumination and scatter culling
US11295531B1 (en) System and method for generating interactive virtual image frames in an augmented reality presentation
CN118172459A (zh) 一种倾斜摄影模型渲染方法及渲染系统
Yücel Ray-disc intersection based ray tracing for point clouds

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right