KR101284324B1 - 레이 트레이싱 코어 및 레이 트레이싱 방법 - Google Patents

레이 트레이싱 코어 및 레이 트레이싱 방법 Download PDF

Info

Publication number
KR101284324B1
KR101284324B1 KR1020110063949A KR20110063949A KR101284324B1 KR 101284324 B1 KR101284324 B1 KR 101284324B1 KR 1020110063949 A KR1020110063949 A KR 1020110063949A KR 20110063949 A KR20110063949 A KR 20110063949A KR 101284324 B1 KR101284324 B1 KR 101284324B1
Authority
KR
South Korea
Prior art keywords
level
ray
node
node crossing
point
Prior art date
Application number
KR1020110063949A
Other languages
English (en)
Other versions
KR20130002780A (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 KR1020110063949A priority Critical patent/KR101284324B1/ko
Publication of KR20130002780A publication Critical patent/KR20130002780A/ko
Application granted granted Critical
Publication of KR101284324B1 publication Critical patent/KR101284324B1/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/36Level of detail

Landscapes

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

Abstract

개시된 기술은 레이 트레이싱 코어에 관한 것으로, 시작 레벨 결정부 및 레벨 선택부를 포함한다. 시작 레벨 결정부는 시점과 종점으로 정의된 레이를 기초로 시작 레벨을 결정한다. 레벨 선택부는 결정된 시작 레벨에 대하여 노드 크로싱을 체크하여, 만일 노드 크로싱이 발생하면 노드 크로싱 수행 후 선택적 레벨 업을 수행한다. 따라서 개시된 기술은 피라미드 변위 맵의 탐색 시간을 줄일 수 있다.

Description

레이 트레이싱 코어 및 레이 트레이싱 방법{RAY TRACING CORE AND RAY TRACING METHOD}
개시된 기술은 레이 트레이싱 기술에 관한 것으로, 보다 상세하게는, 변위 매핑을 가속할 수 있는 레이 트레이싱 코어 및 레이 트레이싱 방법에 관한 것이다.
3D 그래픽스는 현실감을 높이기 위하여 매핑(mapping) 기법을 사용하고 있다. 예를 들어, 매핑 기법은 텍스처 매핑(texture mapping), 범프 매핑(bump mapping), 변위 매핑(displacement mapping)이 있다. 범프 매핑은 범프(bump)와 주름(wrinkle)을 물체의 표면에 입히는 것으로써, 표면의 노멀 벡터(normal vector)를 변형(perturb)함으로써 구현된다[2]. 하지만 범프 매핑은 물체의 형태를 변형하지는 못한다는 한계점을 가질 수 있다. 변위 매핑은 기하학적인 구조를 고도 필드(height-field) 값만큼 실제로 이동하여 효과를 보여준다. 변위 매핑은 샘플 포인트(sample point)들을 고도(height) 맵으로부터 얻은 변위만큼 평면에 수직인 방향으로 변형하는 방식으로 구현된다[15]. 최근 GPU(Graphics Processing Unit) 성능이 비약적으로 발전하였고 이로 인하여 GPU 기반의 변위 매핑 알고리즘들이 지속적으로 발표되고 있다. 하지만, 변위 매핑은 연산량이 많아서 여전히 큰 비용이 요구된다.
변위 매핑[7]의 처리 속도를 높이기 위한 방법으로 시차 매핑(parallax mapping)[3], POM(parallax occlusion mapping)[16, 12], 릴리프 매핑(relief mapping)[11], 피라미드 변위 매핑(pyramidal displacement mapping)[9, 14, 17]과 같은 역변위 매핑(inverse displacement mapping)[7] 방식이 제안되었다. 역변위 매핑은 기하학 데이터의 변화 없이 레이(ray) 또는 뷰 벡터(view vector)를 고도 필드(height-field)에 투사함으로써 레이와 높이 필드와의 교차점를 구할 수 있다.
참조문헌 [15]에서 최첨단의 방법(State-of-the-art method)은 근사치 알고리즘(approximation algorithm)과 정확한 알고리즘(accurate algorithm)으로 분류될 수 있다. 첫번째 알고리즘은 수행 속도가 빠르지만 정확한 교차점을 찾기 어려울 수 있다. 두번째 알고리즘은 빠른 탐색과 정확한 교차점 계산을 위하여 미리 계산된 데이터(pre-computed data)를 필요로 할 수 있다. 근사치 알고리즘인 POM과 릴리프 매핑은 선형 탐색(linear search) 또는 이진 탐색(binary search) 중 적어도 하나의 방식을 사용함으로써 교차점들을 찾는다. 하지만, 교차점을 찾는 과정 동안 스탭 간격과 처리속도 사이에서 트래이드 오프(trade-off)가 발생한다. 예를 들어, 스탭 간격이 짧아질수록 교차점의 정확도는 높아지나 처리속도는 떨어진다. 더욱이, 급격한 고도 필드와 가파른 지표각에서 교차점을 놓치는 경우가 발생할 수 있다.
이에 대한 해결책으로써 두번째 방식인 이미지 피라미드[4] 기반의 변위 맵을 사용한 픽셀 단위 레이 트레이싱(per-pixel ray tracing) 기법이 발표되었다[9, 14, 17]. 피라미드 변위 맵은 여러 레벨의 서브 이미지들로 구성된 밉맵(mip-map) 형태의 이미지 피라미드이다. 피라미드 변위 맵을 가지고 루트 레벨(root level)에서부터 시작하여 리프 레벨(leaf level)로 점진적으로 내려가면서 레이와 고도 필드와의 교차점을 빠르게 찾을 수 있다. 피라미드 변위 매핑은 이미지 피라미드에 대한 탐색 시[9] 하나의 레벨 다운을 통한 하위 노드 방문과 노드 크로싱(crossing)을 통한 이웃 노드 방문이 가능할 수 있다. 한편, 참조문헌 [17]에서는 원 레벨 업(one level up) 기법을 제시하여 빈 공간 스킵(skipping)을 효과적으로 수행함으로써 참조문헌 [9]에 비하여 탐색를 위한 반복 스탭(iteration step)을 줄일 수 있다.
개시된 기술은 피라미드 변위 맵의 탐색 시간을 줄일 수 있는 레이 트레이싱 코어를 제공한다.
개시된 기술은 사실감 있는 장면을 생성할 수 있는 레이 트레이싱 코어를 제공한다.
실시예들 중에서, 레이 트레이싱 코어는 시점과 종점으로 정의된 레이를 기초로 시작 레벨을 결정하는 시작 레벨 결정부 및 상기 결정된 시작 레벨에 대하여 노드 크로싱(Node Crossing)을 체크하여, 만일 노드 크로싱이 발생하면 노드 크로싱의 수행 후 선택적 레벨 업을 수행하는 레벨 선택부를 포함한다.
일 실시예에서, 상기 레벨 선택부는 만일 노드 크로싱이 발생하지 않으면 현재의 레벨을 기초로 미리 정의된 멀티 레벨만큼 멀티 레벨 다운을 수행할 수 있다. 일 실시예에서, 상기 레이 트레이싱 코어는 상기 멀티 레벨 다운된 후에 교차 테스트를 수행하는 교차 테스트부를 더 포함할 수 있다. 일 실시예에서, 상기 레이 트레이싱 코어는 상기 교차 테스트에서 상기 레이가 최하위 레벨에 도달해 있으며 상기 레이와의 교차점이 발생하지 않으면 고도 읽기 연산과 레이 이동 연산을 수행하는 레이 이동부를 더 포함할 수 있다.
일 실시예에서, 상기 시작 레벨 결정부는 상기 레이의 시점과 끝점을 배타논리합 연산을 수행하여 시작 레벨을 계산할 수 있다.
일 실시예에서, 상기 레벨 선택부는 상기 노드 크로싱이 발생하면 노드 크로싱을 수행하여 이웃 노드를 방문하고 레벨을 선택적으로 증가시킬 수 있다.
실시예들 중에서, 레이 트레이싱 코어에 의하여 실행되는 레이 트레이싱 방법은 시점과 종점으로 정의된 레이를 기초로 시작 레벨을 결정하는 단계, 상기 결정된 시작 레벨에 대하여 노드 크로싱(Node Crossing)을 체크하는 단계 및 만일 노드 크로싱이 발생하면 노드 크로싱의 수행 후 선택적 레벨 업을 수행하는 단계를 포함한다.
일 실시예에서, 상기 레이 트레이싱 방법은 만일 노드 크로싱이 발생하지 않으면 현재의 레벨을 기초로 미리 정의된 멀티 레벨만큼 멀티 레벨 다운을 수행하는 단계를 더 포함할 수 있다. 일 실시예에서, 상기 레이 트레이싱 방법은 상기 멀티 레벨 다운된 후에 교차 테스트를 수행하는 단계를 더 포함할 수 있다. 일 실시예에서, 상기 레이 트레이싱 방법은 상기 교차 테스트에서 상기 레이와의 교차점이 발생하지 않으면 고도 읽기 연산과 레이 이동 연산을 수행하는 단계를 더 포함할 수 있다.
일 실시예에서, 시점과 종점으로 정의된 레이를 기초로 시작 레벨을 결정하는 단계는 상기 레이의 시점과 끝점을 배타논리합 연산을 수행하여 시작 레벨을 계산하는 단계를 포함할 수 있다.
일 실시예에서, 만일 노드 크로싱이 발생하면 선택적 레벨 업을 수행하는 단계는 상기 노드 크로싱이 발생하면 노드 크로싱을 수행하여 이웃 노드를 방문하고 레벨을 선택적으로 증가시키는 단계를 포함할 수 있다.
실시예들 중에서, 레이 트레이싱 코어는 시점과 종점으로 정의된 레이를 기초로 상기 레이의 시작점의 X좌표와 끝점의 X좌표에 대하여 XOR 비트연산을 하고, 동시에 상기 레이의 시작점의 Y좌표와 끝점의 Y좌표에 대하여 XOR 비트연산을 하여 각각의 결과값 중 큰 수를 선택하며, 상기 선택된 결과값을 기초로 시작 레벨을 계산하는 시작 레벨 결정부 및 상기 결정된 시작 레벨에 대하여 노드 크로싱(Node Crossing)을 체크하여, 만일 노드 크로싱이 발생하면 노드 크로싱을 수행하여 이웃 노드를 방문하고 레벨을 선택적으로 증가시키고, 만일 노드 크로싱이 발생하지 않으면 하나 이상의 레벨을 다운시키는 레벨 선택부를 포함한다.
개시된 기술은 과제의 해결 수단에 의한 일 구성으로부터 피라미드 변위 맵의 탐색 시간을 줄일 수 있다.
개시된 기술은 과제의 해결 수단에 의한 일 구성으로부터 레이 트레이싱 환경에 적용하여 사실감 있는 장면을 생성할 수 있다.
도 1은 피라미드 변위 맵의 예를 설명하는 도면이다.
도 2는 피라미드 변위 맵의 탐색 과정의 예를 설명하는 도면이다.
도 3은 피라미드 변위 맵의 탐색 과정의 다른 예를 설명하는 도면이다.
도 4는 본 발명의 레이 트레이싱 방법을 설명하기 위한 흐름도이다.
도 5는 도 4의 시작 레벨 결정 단계를 설명하기 위한 도면이다.
도 6은 도 4의 멀티 레벨 다운 단계를 설명하는 도면이다.
도 7은 도 4의 선택적 레벨 업 과정의 예를 설명하기 위한 도면이다.
도 8은 도 4의 선택적 레벨 업 과정을 설명하는 도면이다.
도 9은 레이 트레이싱 코어를 설명하기 위한 흐름도이다.
도 10은 도 9의 시작 레벨 결정부를 설명하는 도면이다.
도 11은 도 9의 레벨 선택부를 설명하는 도면이다.
도 12 및 도 13은 레이 트레이싱 방법에 의하여 생성된 이미지를 설명하는 도면이다.
도 14는 도 13의 키친 이미지들에 대한 노드 크로싱 발생 확률을 나타내는 표이다.
도 15는 멀티 레벨 다운에 대한 반복 스탭을 설명하는 표이다.
도 16은 이미지 피라미드의 탐색시 요구되는 반복 스탭을 설명하는 표이다.
개시된 기술에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 개시된 기술의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 개시된 기술의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 개시된 기술에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 피라미드 변위 맵의 예를 설명하는 도면이고, 도 2는 피라미드 변위 맵의 탐색 과정의 예를 설명하는 도면이며, 도 3은 피라미드 변위 맵의 탐색 과정의 다른 예를 설명하는 도면이다.
피라미드 변위 맵(Pyramidal displacement map)은 컴퓨팅 과정을 거쳐 생성된 사지 트리 이미지 피라미드(quad-tree image pyramid)이다. 사지 트리 이미지 피라미드는 2n×2n 개의 픽셀을 가진 0 레벨부터 1×1개의 픽셀을 가진 n 레벨까지의 계층적인 이미지들의 집합이다.
도 1을 참조하면, 원본 변위 맵 데이터는 밉맵(mip-map) 레벨이 0으로 지정될 수 있고 각각의 노드(node)는 실제 표면의 변위 값을 나타낼 수 있다. 상위 레벨 이미지의 각 노드(i, j)는 이전 레벨의 4개의 노드들 (2i, 2j), (2i+1, 2j), (2i, 2j+1), (2i+1, 2j+1) 중에 가장 큰 고도 필드(height-field) 값을 저장할 수 있다. 루트(root) 노드는 전체적으로 최대 고도 값을 저장할 수 있다. 이너(inner) 노드는 지역적으로 최대 고도 값을 저장할 수 있다[ 9, 15].
도 2를 참조하면, 피라미드 변위 매핑은 레이(Ray)와 고도 필드 사이의 정확한 교차점(intersection point)을 찾기 위해서 루트 레벨 n에서 리프 레벨 0까지 이미지 피라미드를 탐색할 수 있다. 피라미드 변위 매핑을 위한 탐색 과정은 먼저 현재 픽셀의 텍스처(texture) 좌표 P에서 이미지 피라미드의 루트 레벨의 고도 필드 d1를 읽어오고, 레이의 현재 위치 P를 레이와 d1가 만나는 위치인 P1로 이동시키고, 이미지 피라미드를 한 레벨 감소시킨다. 다음 과정은 P1에서 현재 밉맵 레벨의 고도 필드 d2를 읽어오고, 만일 d2가 d1보다 크면, P1을 레이와 d2가 만나는 지점인 P2로 이동시키고 이미지 피라미드를 한 레벨 감소시킨다. 만일 크지 않으면, 레이를 이동시키지 않고 이미지 피라미드를 한 레벨 감소시킨다. 위와 같은 과정을 리프 레벨에 도달할 때까지 반복할 수 있다.
이미지 피라미드를 검색할 때 레이가 길어서 현재 레벨 노드의 경계를 넘어가는 경우, 도 2에서 설명한 탐색 방법은 부정확 결과를 도출할 수 있다. 노드 크로싱(node crossing)은 이동한 레이의 위치가 이동하기 전과 같은 노드에 있는지 여부를 검사할 수 있으며, 만일 현재 노드를 넘어간다면 레이의 위치를 노드의 경계 부분으로 이동시킬 수 있다. 노드 크로싱의 수행 결과로 레이는 이웃 노드를 방문하게 된다.
도 3을 참조하면, 참조 문헌 [17]에서는 이미지 피라미드의 레벨 업을 통하여 [9]의 노드 크로싱 수를 줄일 수 있는 탐색 알고리즘을 제시하고 있다. 레벨 업 방식은 셀(cell)의 경계를 둘로 나눌 수 있는 곳에 레이가 존재할 경우 밉맵(mip-map) 레벨을 한 단계 증가시킨다. 위아래로 수직인 선들 중에 실선은 이미지 피라미드의 k 레벨에 대한 각 노드의 경계를 의미며, k-1 레벨에 대한 각 노드의 경계는 k 레벨의 두 배가 되기 때문에 점선과 실선 모두가 해당할 수 있다. 참조 문헌 [17]에서는 k-1 레벨에 대하여 노드 크로싱이 실선의 위치에서 발생하면 k 레벨로 올라갈 수 있다. 예를 들어, 참조 문헌 [9]인 경우 k-1 레벨에 대하여 1→2→3→4 순서로 노드를 총 4번 방문할 수 있다. 참조 문헌 [17]인 경우 A 위치에서 k level로 올라간 후 B를 방문하고 나서 k-1 레벨로 내려와서 C를 방문할 수 있다. 따라서, A→B→C 순서로 노드를 총 3번 방문할 수 있다.
도 4는 본 발명의 레이 트레이싱 방법을 설명하는 흐름도이다.
도 4를 참조하면, 레이 트레이싱 방법은 시작 레벨 결정(start level calculation) 단계, 멀티 레벨 다운(multi level down) 단계, 선택적 레벨 업(selective level up) 단계를 포함할 수 있다.
시작 레벨 결정 단계는 입력된 레이에 대하여 시작 레벨을 결정할 수 있다(단계 S401). 일 실시예에서, 레이 트레이싱 방법은 도 1 내지 3에서 설명하고 있는 탐색 방법을 기초로 시작 레벨을 결정할 수 있다.
레이 트레이싱 방법은 레이 정보와 해당 밉맵(mip-map) 레벨 값을 가지고 고도 정보를 저장하고 있는 캐시(cache)로부터 고도 정보를 읽어오며(단계 S402), 레이를 고도 정보와 레이가 만나는 지점으로 이동시킬 수 있다(단계 S403).
레이 트레이싱 방법은 시작 레벨에서부터 레이와 고도 필드의 교차점을 찾기 위한 탐색을 시작할 수 있다. 레이 트레이싱 방법은 노드 크로싱의 발생여부를 결정할 수 있다(단계 S404). 만일 노드 크로싱이 발생하면 노드 크로싱 수행 후(단계 S405) 선택적 레벨 업 과정을 통하여 노드 크로싱을 수행하게 되며(단계 S406), 만일 발생하지 않으면 현재 레벨이 2 보다 큰지 확인을 할 수 있다(단계 S408). 만일 2보다 크다면 멀티 레벨 다운 과정을 수행하며(단계 S409), 만일 2보다 크지 않으면 레벨을 하나씩 감소시킨다(단계 S410). 선택적 레벨 업 과정과 멀티 레벨 다운 과정에 대한 구체적인 설명은 각각 도 7 및 도 6에서 후술한다.
레이 트레이싱 방법은 레이가 최하위 레벨에 도달해 있으며 교차점이 있는지 확인하고(단계 S411), 만일 교차점이 있다면 교차점의 컬러 값과 노말 벡터(normal vector) 정보를 가지고 일루미네이션(illumination) 처리(단계 S412)를 함으로써 하나의 레이에 대한 모든 과정을 마친다. 만일 교차점이 없다면 단계 S402 내지 단계 S411를 반복한다.
도 5a 및 도 5b는 도 4의 시작 레벨 결정 단계를 설명하기 위한 도면이다.
참조문헌 [9, 17]와 같은 이미지 피라미드에 대한 기존의 탐색 방법은 최상위 레벨에서부터 탐색을 시작한다. 본 발명의 레이 트레이싱 방법은 주어진 레이에 대하여 노드 크로싱이 발생하지 않는 최소 레벨을 계산하여 이를 시작 레벨로 정할 수 있다. 시작 레벨보다 높은 레벨의 밉맵은 탐색하지 않을 수 있고, 별도의 고도 필드에 대한 정보가 필요하지 않을 수 있다. 레이 트레이싱 방법은 레이의 시작점과 끝점만 가지고 시작 레벨을 계산할 수 있다.
도 5a를 참조하면, 밉맵 이미지는 밉맵 레벨이 0이고, 레이의 시작점을 P라 하고 끝점을 A라고 가정한다. P의 좌표는 (409, 60)이고 A의 좌표는 (420, 50)이다. 도 5b를 참조하면, 도 5a의 경우에 대하여 레벨 7의 밉맵 이미지를 보여준다. 도 5a에서 제시된 레이는 도 5b의 경우 좌표 (3, 0)의 노드 안에 포함될 수 있다. 이는 레벨 7 이상의 밉맵에서는 노드 크로싱이 발생하지 않는다는 것을 의미할 수 있다.
도 5a의 경우 시작 레벨을 7로 정하여 탐색을 시작할 수 있다. 기존의 방법은 레벨 9부터 탐색를 시작하기 때문에 새로운 탐색 방법은 기존의 탐색 방법에 비하여 2 번의 반복 스탭이 줄어들 수 있다.
예를 들어, 두 점 P와 A를 P=(PX, PY)와 A=(AX, AY)라고 정의하고, 밉맵 레벨 0의 이미지 크기는 512×512라고 가정한다. PX, PY , AX, AY는 각각 9 비트가 된다. 이때, 밉맵 레벨 K의 이미지 상에서 PX의 위치는 PX의 상위 9-K 비트의 값에 해당한다.
예를 들어, 도 5a의 경우 PX의 위치는 110011001(2)이 되고, 도 5b의 경우 PX의 위치는 11(2)이 된다. 이는 AX의 경우에서도 동일하게 적용될 수 있다. PX와 AX의 상위 r 비트가 동일하면, PX와 AX가 상위 r 레벨까지는 같은 노드에 존재할 수 있다. PY와 AY에 대해서도 그대로 적용될 수 있으며, 이를 이용하여 시작 레벨을 계산할 수 있다.
시작 레벨을 계산하는 방법은 다음과 같다. 두 점을 P=(PX, PY)와 A=(AX, AY)라고 가정하면, 먼저 PX와 AX에 대하여 비트에 관한 XOR(exclusive-or) 연산을 수행하고, 동시에 PY와 AY에 대하여 비트에 관한 XOR 연산을 수행한다. 첫 번째 연산 결과와 두 번째 연산 결과를 비교하여 큰 수를 결정한다. 결정된 값에 대한 비트의 전치영(leading zero)이 있는지를 결정하고 만일 있다면 전치영을 계산할 수 있다. 계산된 값을 전체 레벨 수에 대하여 뺄셈을 하면 최종적으로 시작 레벨의 위치가 계산될 수 있다.
예를 들어, 도 5a의 경우 PX XOR AX와 PY XOR AY의 결과는 각각 000111101(2)와 000001110(2)이고, 두 값 중에 큰 값은 000111101(2)이 된다. 000111101(2)의 전치영(leading zero)은 3이 된다. 전체 레벨 수인 10에서 전치영 3을 빼면 시작 레벨은 7이 된다.
도 6은 도 4의 멀티 레벨 다운 단계를 설명하는 도면이다.
도 6을 참조하면, 기존의 탐색 방법은 순차적 레벨 다운(one level down)을 통하여 하위 노드를 방문하고, 노드 크로싱을 통하여 이웃 노드를 방문한다. 기존의 탐색 방법은 레벨 다운의 발생 빈도가 노드 크로싱 보다 상당히 높을 수 있다. 이것은 이미지 피라미드의 탐색 시 가간섭성(coherence)이 존재하기 때문이다.
레이 트레이싱 방법은 멀티 레벨 다운(Multi level down)을 통하여 이미지 피라미드를 한 번에 하나 이상의 레벨을 내려갈 수 있다. 멀티 레벨 다운은 순차적 레벨 다운에 비하여 반복 스탭이 감소할 수 있다.
레이 트레이싱 방법은 멀티 레벨 다운 중에서 2 레벨 다운을 사용한다고 가정한다.
멀티 레벨 다운 과정은 현재 레벨에서 노드 크로싱이 발생하는지를 판단한다. 만일 발생하면 노드 크로싱을 수행하여 이웃 노드를 방문할 수 있다. 만일 발생하지 않으면 현재 레벨이 2 보다 큰지를 검사한다. 만일 2보다 크다면 2 레벨 다운을 수행하고, 만일 2보다 크지 않으면 1 레벨 다운을 수행하여 레벨 0으로 이동할 수 있다.
예를 들어, 시작 레벨이 5라고 가정한다. 순차적 레벨 다운은 레벨 5에서 시작하여 레벨 0까지 순차적으로 탐색을 수행할 수 있다. 멀티 레벨 다운은 레벨 5에서 시작하여 레벨 3, 레벨 1, 레벨 0을 순차적으로 탐색할 수 있다. 여기에서, 순차적 레벨 다운은 탐색을 6번 반복하며, 멀티 레벨 다운은 탐색을 4번 반복한다.
도 7은 도 4의 선택적 레벨 업 과정의 예를 설명하기 위한 도면이고, 도 8은 도 4의 선택적 레벨 업 과정을 설명하는 도면이다.
도 7을 참조하면, 참조 문헌 [17]에서 제시된 탐색 과정의 예제에 대하여 역변위 매핑을 위한 탐색 방법을 도식화하였다. 참조 문헌 [9]의 경우 노드 크로싱을 통하여 이웃 노드로의 방문만을 수행하는 반면에, 참조 문헌 [17]의 경우 셀(Cell) 7과 11의 위치에서 노드 크로싱 시 무조건적인 레벨 업이 수행될 수 있다. 여기서 셀은 최하위 레벨의 노드와 동일하다. 참조 문헌 [17]은 [9]에 비하여 노드 크로싱의 수가 줄어들 수 있다.
셀 11위치에서 레벨 업이 수행되면 왼쪽 노드로 레벨 다운할 수 있다. 이 경우 셀 11위치에서 이웃 노드를 방문하는 것과 비교하여 반복 과정이 1이 증가할 수 있다. 이것은 레벨 업 후에 왼쪽 노드로 레벨 다운하는 것이 이웃 노드를 방문하는 것에 비하여 반복 스탭 면에서 불리하다는 것이다.
레이 트레이싱 방법은 참조 문헌 [17]과 비교하여 반복 스탭을 줄일 수 있다. 레이 트레이싱 방법은 레벨 업이 가능한 위치에서 레벨 업 여부를 선택할 수 있다.
도 8을 참조하면, 노드 크로싱 후의 위치를 P라고 하면, 레이 트레이싱 방법은 레이와 현재 m 노드 위치의 고도 필드 값 d 가지고 선형 방정식을 통하여 교차점 P1을 계산할 수 있다. 다음 과정은 현재 노드의 좌표와 교차된 노드와의 좌표의 차이를 계산할 수 있다. 계산된 차이가 1보다 크면 레벨 업을 선택하고 1보다 크지 않으면 레벨 업을 선택하지 않을 수 있다. 도 8에서는 P와 P1의 좌표 차가 1이기 때문에 레벨 업을 선택하지 않는다.
도 9은 레이 트레이싱 코어를 설명하기 위한 흐름도이다.
도 9을 참조하면, 레이 트레이싱 코어는 시작 레벨 결정부(910), 레이 이동부(930), 레벨 선택부(950) 및 교차 테스트부(960)를 포함할 수 있다.
시작 레벨 결정부(910)는 입력된 레이에 대한 시작 레벨을 결정할 수 있다. 레이 이동부(930)는 고도 정보를 저장하고 있는 캐시(cache)(940)로부터 고도를 읽어오고 레이 이동 연산을 수행할 수 있다. 레이 이동부(930)가 레이를 해당 레벨로 이동시키면 레벨 선택부(950)가 다음 레벨을 선택한다.
교차 테스트부(960)는 레이가 최하위 레벨에 도달해 있고 레이와 고도가 교차되는 지점이 발생하는지 여부를 검사한다. 만일 발생한다면 탐색을 종료하고 교차점을 출력할 수 있고, 만일 발생하지 않으면 다음 탐색을 위하여 고도 읽기 연산, 레이 이동 연산, 레벨 선택 과정을 순차적으로 반복할 수 있다.
도 10은 도 9의 시작 레벨 결정부를 설명하는 도면이고, 도 11은 도 9의 레벨 선택부를 설명하는 도면이다.
도 10을 참조하면, 시작 레벨 결정부(910)는 입력된 레이의 시작점의 x좌표와 끝점의 x좌표에 대하여 XOR 연산을 수행하며(단계 S1001), 동시에 레이의 시작점의 y좌표와 끝점의 y좌표에 대하여 XOR 연산을 수행할 수 있다(단계 S1002). 시작 레벨 결정부(910)는 두 결과 값에 대하여 큰 수를 멀티플렉서(Mux)를 통하여 선택할 수 있고(단계 S1003), 선택한 값에 대하여 전치영(leading zero)을 계산하여 계산된 값을 출력할 수 있다(단계 S1004).
도 11을 참조하면, 레벨 선택부(950)는 이동하기 전 레이의 고도의 x좌표와 y좌표 값과 이동한 레이의 고도의 x좌표와 y좌표 값을 가지고 노드 크로싱 여부를 수행할 수 있다(단계 S1101). 레벨 선택부(950)는 동시에 선택적 레벨 업(selective level up)을 수행하기 위한 뺄셈을 수행할 수 있다(단계 S1102). 만일 노드 크로싱이 발생하지 않으면 멀티 레벨 다운을 수행하고(단계 S1103), 만일 발생하면 노드 크로싱을 수행한 후(단계 S1104) 선택적 레벨 업을 수행할 수 있다(단계 S1105). 레벨 선택부(950)는 레벨 값을 선택적으로 출력할 수 있다(단계 S1106).
도 12 및 도 13은 레이 트레이싱 방법에 의하여 생성된 이미지를 설명하는 도면이다.
도 12a는 대리석에 대한 변위 맵을 나타내며, 도 12b는 벽돌에 대한 변위 맵을 나타낸다. 도 13a 및 도 13b는 대리석에 대한 변위 맵이 적용된 키친 이미지를 나타내며, 도 13c 및 도 13d는 벽돌에 대한 변위 맵이 적용된 키친 이미지를 나타낸다.
하드웨어 환경은 Intel Core2 Duo E8400 3.20GHz, 4GB DDR2 SDRAM, Nvidia 9600GT이다. 성능 평가 기준은 레이 트레이싱 애니메이션의 성능 평가에 많이 사용되는 BART[8] 중 키친(kitchen)을 사용하였다. 키친 이미지는 반사와 굴절이 되는 물체들이 다수 있으며, 110,000개 이상의 트라이앵글(triangle)과 다수개의 텍스쳐(texture)들로 이루어져 있다. 실험 환경은 참조 문헌 [10]에서 레이 트레이싱 환경을 기반으로 제안하는 방식을 추가적으로 구현하여 구축하였다. 레이 트레이싱 시 반사 및 굴절로 인한 이차적 레이(secondary ray)는 최대 10개까지 생성될 수 있다.
도 14는 도 13의 키친 이미지들에 대한 노드 크로싱 발생 확률을 나타내는 표이다.
도 14는 이미지 피라미드를 탐색할 때 노드 크로싱이 발생할 확률을 참조 문헌 [9]과 참조 문헌 [17]에 대하여 각각 보여주고 있다. 실험결과는 노드 크로싱이 발생할 확률이 참조 문헌 [9]는 약 24.5%이고 참조 문헌 [17]는 20.6%로 나타났다.실험 결과 참조 문헌 [17]이 참조 문헌 [9]보다 노드 크로싱 발생 확률이 전반적으로 낮다. 이것은 탐색 시 레벨 다운의 빈도가 높다는 것을 의미할 수 있다. 레이 트레이싱 과정 중 시작 레벨 결정 단계와 멀티 레벨 다운 단계는 탐색시 레벨 다운 빈도가 높은 점을 이용할 수 있다. 그리고 참조 문헌 [17]은 레벨 업 과정을 포함하고 있기 때문에 노드 크로싱의 빈도가 참조 문헌 [9]에 비하여 낮을 수 있다.
도 15는 멀티 레벨 다운에 대한 반복 스탭을 설명하는 표이다.
도 15는 n 레벨 다운으로 인하여 이미지 피라미드의 탐색에 소요되는 반복 스탭을 각각의 레벨별로 제시하고 있다. 이미지는 장면 4를 선택하고, 시작 레벨 결정 단계 및 선택적 레벨 업 단계는 적용하지 않는 것으로 가정한다. 1 레벨은 순차적으로 하향하는 것이기 때문에 참조 문헌 [9]와 동일하다. 대리석과 벽돌의 경우 이미지 피라미드가 총 10개의 레벨로 구성되어 있기 때문에 최소 반복 스탭은 10이 된다. 실험 결과는 3 레벨 다운 시 가장 좋은 성능을 보여주고 있으며 2 레벨 다운의 경우 3 레벨 다운에 비하여 반복 스탭이 조금 많다.
도 16은 이미지 피라미드의 탐색시 요구되는 반복 스탭을 설명하는 표이다.
도 16을 참조하면, 이미지 피라미드의 탐색에 소요되는 반복 스탭을 기존의 탐색 과정과 본 발명의 레이 트레이싱 과정에 대하여 비교하였다. 대리석의 경우 시작 레벨 결정 단계, 2 레벨 다운 단계, 선택적 레벨 업 단계에 대하여 각각 최대 21%, 17%, 5%의 반복 스탭이 감소하였다. 그리고 모든 탐색 과정을 적용한 결과 장면4에서 반복 스탭이 최대 35% 감소하였다.
벽돌의 경우 시작 레벨 결정 단계, 2 레벨 다운 단계, 선택적 레벨 업 단계에 대하여 반복 스탭이 각각 최대 22%, 27%, 5% 정도 감소하였다. 그리고 모든 탐색 과정을 적용한 결과 장면 4에서 반복 스탭이 최대 38% 감소하였다.
두 변위 맵에 대하여 반복 스탭의 감소율은 장면 4에서 가장 높게 측정되었다. 이것은 장면 4에서 노드 크로싱 비율이 가장 낮기 때문에 2 레벨 다운의 효과가 높게 적용되었기 때문이다. 반면, 장면 3에서는 노드 크로싱 비율이 가장 높기 때문에 레이 트레이싱 방법을 적용하였을 때 효과가 평균적으로 가장 낮았다.
상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 출원의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 출원을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
[참조문헌]
[1] Baboud, Lionel and Decoret, Xavier. Rendering geometry with relief textures. Proceedings of Graphics Interface, pages 195--201, 2006.
[2] James F. Blinn. Simulation of wrinkled surfaces. Proceedings of the ACM annual conference on Computer graphics and interactive techniques, pages 286--292, 1978.
[3] Zoe Brawley and Natalya Tatarchu. Shader
Figure 112011049845668-pat00001
: Advanced Rendering with DirextX and OpenGL. Cengage Learning, 2005.
[4] Daniel Cohen and Amit Shaked. Photo-realistic Imaging of Digital Terrain. Computer Graphics Forum, 12(3):363-373, 1993.
[5] William Donnelly. GPU Gems 2, chapter 8, pages 123-136. Addison Weasley, 2005.
[6] Stefan Jeschke and Stephan Mantler and Michael Wimmer. Interactive Smooth and Curved Shell Mapping. Proceedings of the Eurographics Symposium on Rendering, pages 351--360, 2007.
[7] Tomomichi Kaneko and Toshiyuki Takahei and Masahiko Inami and Naoki Kawakami and Yasuyuki Yanagida and Taro Maeda and Susumu Tachi. Detailed shape representation with parallax mapping. Proceedings of the International Conference on Artificial Reality and Telexistence, pages 205--208, 2001.
[8] Jonas Lext and Ulf Assarsson and Tomas Moller. A Benchmark for Animated Ray Tracing. IEEE Computer Graphics and Applications, 21:22--31, 2001.
[9] Kyoungsu Oh and Hyunwoo Ki and Cheol-Hi Lee. Pyramidal Displacement Mapping: a GPU based Artifacts-Free Ray Tracing through an Image Pyramid. Proceedings of the ACM symposium on Virtual reality software and technology, pages 75--82, 2006.
[10] Woochan Park and Jaeho Nah and Jeongsoo Park and Kyungho Lee and Dongseok Kim and Sangduk Kim and Jinhong Park and Yoonsig Kang and Sungbong Yang and Tackdon Han. An FPGA Implementation of Whitted-style Ray Tracing Accelerator. Proceedings of the IEEE Symposium on Interactive Ray Tracing, pages 187, 2008.
[11] John W. Patterson and S. G. Hoggar and J. R. Logie. Inverse Displacement Mapping. Computer Graphics Forum, 10(2):129-139, 1991.
[12] Policarpo, Fabio and Oliveira, Manuel M. and Comba, Joao L. D. Real-time relief mapping on arbitrary polygonal surfaces. Proceedings of the ACM Symposium on Interactive 3D Graphics and Games, pages 155--162, 2005.
[13] Fabio Policarpo and Manuel M. Oliveira. GPU Gems 3, chapter 18, pages 409-428. Addison Weasley, 2008.
[14] Schroders, M. F. A. and Gulik, R. v. Quadtree relief mapping. Proceedings of the ACM SIGGRAPH/EUROGRAPHICS Symposium on Graphics hardware, pages 61--66, 2006.
[15] Szirmay-Kalos, L. and Umenhoffer, T. Displacement Mapping on the GPU - State of the Art. Computer Graphics Forum, 27(1), 2008.
[16] Natalya Tatarchuk. Dynamic parallax occlusion mapping with approximate soft shadows. Proceedings of the ACM Symposium on Interactive 3D Graphics and Games, pages 63--69, 2006.
[17] Art Tevs and Ivo Ihrke and Hans-Peter Seidel. Maximum Mipmaps for Fast, Accurate, and Scalable Dynamic Height Field Rendering. Proceedings of the ACM Symposium on Interactive 3D Graphics and Games, pages 183--190, 2008.

Claims (13)

  1. 시점과 종점으로 정의된 레이에 대하여 상기 시점과 종점에 기 설정된 비트연산을 수행하여 시작 레벨을 결정하는 시작 레벨 결정부;
    상기 결정된 시작 레벨에 대하여 노드 크로싱(Node Crossing)을 체크하여, 만일 노드 크로싱이 발생하면 노드 크로싱을 수행하고, 레벨을 선택적으로 증가시키는 선택적 레벨 업을 수행하는 레벨 선택부를 포함하는 레이 트레이싱 코어.
  2. 제1항에 있어서, 상기 레벨 선택부는
    만일 노드 크로싱이 발생하지 않으면 현재의 레벨을 기초로 하나 이상의 레벨을 다운시키는 것을 특징으로 하는 레이 트레이싱 코어.
  3. 제2항에 있어서,
    상기 하나 이상의 레벨이 다운된 후에 교차 테스트를 수행하는 교차 테스트부를 더 포함하는 것을 특징으로 하는 레이 트레이싱 코어.
  4. 제3항에 있어서,
    상기 교차 테스트에서 상기 레이가 최하위 레벨에 도달해 있으며 상기 레이와의 교차점이 발생하지 않으면 고도 읽기 연산과 레이 이동 연산을 수행하는 레이 이동부를 더 포함하는 것을 특징으로 하는 레이 트레이싱 코어.
  5. 제1항에 있어서, 상기 시작 레벨 결정부는
    상기 레이의 시점과 종점을 배타논리합 연산을 수행하여 시작 레벨을 계산하는 것을 특징으로 하는 레이 트레이싱 코어.
  6. 제1항에 있어서, 상기 레벨 선택부는
    상기 노드 크로싱이 발생하면 노드 크로싱을 수행하여 이웃 노드를 방문하고 레벨을 선택적으로 증가시키는 것을 특징으로 하는 레이 트레이싱 코어.
  7. 시점과 종점으로 정의된 레이에 대하여 상기 시점과 종점에 기 설정된 비트연산을 수행하여 시작 레벨을 결정하는 단계;
    상기 결정된 시작 레벨에 대하여 노드 크로싱(Node Crossing)을 체크하는 단계; 및
    만일 노드 크로싱이 발생하면 노드 크로싱을 수행하고, 레벨을 선택적으로 증가시키는 선택적 레벨 업을 수행하는 단계를 포함하는 레이 트레이싱 코어에 의하여 실행되는 레이 트레이싱 방법.
  8. 제7항에 있어서, 상기 레이 트레이싱 방법은
    만일 노드 크로싱이 발생하지 않으면 현재의 레벨을 기초로 하나 이상의 레벨을 다운시키는 단계를 더 포함하는 것을 특징으로 하는 레이 트레이싱 방법.
  9. 제8항에 있어서, 상기 레이 트레이싱 방법은
    상기 하나 이상의 레벨이 다운된 후에 교차 테스트를 수행하는 단계를 더 포함하는 것을 특징으로 하는 레이 트레이싱 방법.
  10. 제9항에 있어서, 상기 레이 트레이싱 방법은
    상기 교차 테스트에서 상기 레이가 최하위 레벨에 도달해 있으며 상기 레이와의 교차점이 발생하지 않으면 고도 읽기 연산과 레이 이동 연산을 수행하는 단계를 더 포함하는 것을 특징으로 하는 레이 트레이싱 방법.
  11. 제7항에 있어서, 시점과 종점으로 정의된 레이를 기초로 시작 레벨을 결정하는 단계는
    상기 레이의 시점과 종점을 배타논리합 연산을 수행하여 시작 레벨을 계산하는 단계를 포함하는 것을 특징으로 하는 레이 트레이싱 방법.
  12. 제7항에 있어서, 만일 노드 크로싱이 발생하면 선택적 레벨 업을 수행하는 단계는
    상기 노드 크로싱이 발생하면 노드 크로싱을 수행하여 이웃 노드를 방문하고 레벨을 선택적으로 증가시키는 단계를 포함하는 것을 특징으로 하는 레이 트레이싱 방법.
  13. 시점과 종점으로 정의된 레이를 기초로 상기 레이의 시작점의 X좌표와 끝점의 X좌표에 대하여 XOR 비트연산을 하고, 동시에 상기 레이의 시작점의 Y좌표와 끝점의 Y좌표에 대하여 XOR 비트연산을 하여 각각의 결과값 중 큰 수를 선택하며, 상기 선택된 결과값을 기초로 시작 레벨을 계산하는 시작 레벨 결정부; 및
    상기 결정된 시작 레벨에 대하여 노드 크로싱(Node Crossing)을 체크하여, 만일 노드 크로싱이 발생하면 노드 크로싱을 수행하여 이웃 노드를 방문하고 레벨을 선택적으로 증가시키고, 만일 노드 크로싱이 발생하지 않으면 하나 이상의 레벨을 다운시키는 레벨 선택부를 포함하는 레이 트레이싱 코어.
KR1020110063949A 2011-06-29 2011-06-29 레이 트레이싱 코어 및 레이 트레이싱 방법 KR101284324B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110063949A KR101284324B1 (ko) 2011-06-29 2011-06-29 레이 트레이싱 코어 및 레이 트레이싱 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110063949A KR101284324B1 (ko) 2011-06-29 2011-06-29 레이 트레이싱 코어 및 레이 트레이싱 방법

Publications (2)

Publication Number Publication Date
KR20130002780A KR20130002780A (ko) 2013-01-08
KR101284324B1 true KR101284324B1 (ko) 2013-07-08

Family

ID=47835310

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110063949A KR101284324B1 (ko) 2011-06-29 2011-06-29 레이 트레이싱 코어 및 레이 트레이싱 방법

Country Status (1)

Country Link
KR (1) KR101284324B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9495792B2 (en) 2013-11-20 2016-11-15 Samsung Electronics Co., Ltd. Method and apparatus for traversing binary tree in ray tracing system
US10026214B2 (en) 2015-10-27 2018-07-17 Samsung Electronics Co., Ltd. Ray tracing apparatus and method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102193683B1 (ko) 2013-10-22 2020-12-21 삼성전자주식회사 레이 트레이싱 시스템에서의 가속 구조 탐색 장치 및 그 탐색 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080020198A (ko) * 2006-08-31 2008-03-05 세종대학교산학협력단 광선 추적을 위한 비 스택 방식의 케이디 트리 탐색알고리즘을 적용한 영상검출 장치 및 방법
KR20080055327A (ko) * 2006-12-15 2008-06-19 연세대학교 산학협력단 룩업 테이블을 이용한 레이 트레이싱 장치 및 방법
KR20090020924A (ko) * 2007-08-24 2009-02-27 연세대학교 산학협력단 3차원 광선 추적 시스템에서 적응형 다중 계층 케이디-트리구조 알고리즘을 이용한 광선 추적 방법 및 장치
KR20110038798A (ko) * 2009-10-09 2011-04-15 연세대학교 산학협력단 교차 검사 가속을 위한 광선 추적 장치 및 방법 및 이를 이용한 렌더링 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080020198A (ko) * 2006-08-31 2008-03-05 세종대학교산학협력단 광선 추적을 위한 비 스택 방식의 케이디 트리 탐색알고리즘을 적용한 영상검출 장치 및 방법
KR20080055327A (ko) * 2006-12-15 2008-06-19 연세대학교 산학협력단 룩업 테이블을 이용한 레이 트레이싱 장치 및 방법
KR20090020924A (ko) * 2007-08-24 2009-02-27 연세대학교 산학협력단 3차원 광선 추적 시스템에서 적응형 다중 계층 케이디-트리구조 알고리즘을 이용한 광선 추적 방법 및 장치
KR20110038798A (ko) * 2009-10-09 2011-04-15 연세대학교 산학협력단 교차 검사 가속을 위한 광선 추적 장치 및 방법 및 이를 이용한 렌더링 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9495792B2 (en) 2013-11-20 2016-11-15 Samsung Electronics Co., Ltd. Method and apparatus for traversing binary tree in ray tracing system
US10026214B2 (en) 2015-10-27 2018-07-17 Samsung Electronics Co., Ltd. Ray tracing apparatus and method

Also Published As

Publication number Publication date
KR20130002780A (ko) 2013-01-08

Similar Documents

Publication Publication Date Title
US10504253B2 (en) Conservative cell and portal graph generation
CN110443893B (zh) 大规模建筑场景渲染加速方法、***、装置和存储介质
US11127198B2 (en) Graphics processing using directional representations of lighting at probe positions within a scene
Nießner et al. Real-time 3D reconstruction at scale using voxel hashing
Izadi et al. Kinectfusion: real-time 3d reconstruction and interaction using a moving depth camera
GB2537973A (en) Systems and methods for soft shadowing in 3-D rendering
Duguet et al. Flexible point-based rendering on mobile devices
US9208610B2 (en) Alternate scene representations for optimizing rendering of computer graphics
JP2017188093A (ja) 光マップを決定するための重要度サンプリング
JP6864495B2 (ja) 3dシーンのグローバル・イルミネーションの描画
CN111788608A (zh) 用于建模光反射的混合射线跟踪方法
Oh et al. Pyramidal displacement mapping: a gpu based artifacts-free ray tracing through an image pyramid
CN113034657A (zh) 游戏场景中光照信息的渲染方法、装置及设备
Roger et al. Whitted ray-tracing for dynamic scenes using a ray-space hierarchy on the GPU
KR101284324B1 (ko) 레이 트레이싱 코어 및 레이 트레이싱 방법
Davis et al. Interactive refractions with total internal reflection
Wrenninge et al. Efficient rendering of volumetric motion blur using temporally unstructured volumes
Jeschke et al. Layered environment-map impostors for arbitrary scenes
Schirmacher et al. Efficient Free Form Light Field Rendering.
US20040080506A1 (en) System and method for image-based rendering with proxy surface animation
Luo et al. Quad-tree atlas ray casting: a gpu based framework for terrain visualization and its applications
Mateo et al. Hierarchical, Dense and Dynamic 3D Reconstruction Based on VDB Data Structure for Robotic Manipulation Tasks
Drobot Quadtree displacement mapping with height blending
Baboud et al. Precomputed safety shapes for efficient and accurate height-field rendering
von Buelow GPU Ray Tracing of Triangular Grid Primitives

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160701

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180625

Year of fee payment: 6