KR20130002780A - Ray tracing core and ray tracing method - Google Patents

Ray tracing core and ray tracing method Download PDF

Info

Publication number
KR20130002780A
KR20130002780A KR1020110063949A KR20110063949A KR20130002780A KR 20130002780 A KR20130002780 A KR 20130002780A KR 1020110063949 A KR1020110063949 A KR 1020110063949A KR 20110063949 A KR20110063949 A KR 20110063949A KR 20130002780 A KR20130002780 A KR 20130002780A
Authority
KR
South Korea
Prior art keywords
level
ray
node
node crossing
ray tracing
Prior art date
Application number
KR1020110063949A
Other languages
Korean (ko)
Other versions
KR101284324B1 (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 KR1020110063949A priority Critical patent/KR101284324B1/en
Publication of KR20130002780A publication Critical patent/KR20130002780A/en
Application granted granted Critical
Publication of KR101284324B1 publication Critical patent/KR101284324B1/en

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

PURPOSE: A ray tracing core and a ray tracing method thereof are provided to generate a realistic scene by applying a ray tracing environment. CONSTITUTION: A start level determination unit(910) determines a start level of a inputted ray. A ray movement unit(930) reads an altitude from a cache(940). The ray movement unit performs ray movement computation. When the ray movement unit moves the ray to a corresponding level, a level selecting unit selects the next level. A crossing test unit(960) checks the reach of the ray to the lowest level and the generation of a cross spot between the ray and the altitude. [Reference numerals] (910) Start level determination unit; (920) Multiplexer; (930) Ray movement unit; (940) Altitude from a cache; (950) Ray selecting unit; (960) Crossing test unit; (AA) Ray; (BB) Cross spot

Description

레이 트레이싱 코어 및 레이 트레이싱 방법{RAY TRACING CORE AND RAY TRACING METHOD}RAY TRACING CORE AND RAY TRACING METHOD}

개시된 기술은 레이 트레이싱 기술에 관한 것으로, 보다 상세하게는, 변위 매핑을 가속할 수 있는 레이 트레이싱 코어 및 레이 트레이싱 방법에 관한 것이다.The disclosed technique relates to ray tracing technology, and more particularly, to a ray tracing core and a ray tracing method capable of accelerating displacement mapping.

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 기반의 변위 매핑 알고리즘들이 지속적으로 발표되고 있다. 하지만, 변위 매핑은 연산량이 많아서 여전히 큰 비용이 요구된다.3D graphics uses a mapping technique to increase realism. For example, mapping techniques include texture mapping, bump mapping, and displacement mapping. Bump mapping is implemented by perturbing the normal vectors of a surface by applying bumps and wrinkles to the surface of the object [2]. However, bump mapping can have the limitation that it cannot change the shape of the object. Displacement mapping shows the effect by actually moving the geometry by a height-field value. Displacement mapping is implemented by deforming the sample points in a direction perpendicular to the plane by the displacement obtained from the height map [15]. Recently, GPU (Graphics Processing Unit) performance has advanced dramatically, and GPU-based displacement mapping algorithms are continuously announced. However, displacement mapping is expensive and still requires a great cost.

변위 매핑[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)에 투사함으로써 레이와 높이 필드와의 교차점를 구할 수 있다. Parallax mapping [3], parallax occlusion mapping [16, 12], relief mapping [11], and pyramidal displacement mapping methods to speed up the displacement mapping [7]. Inverse displacement mapping [7] has been proposed, such as displacement mapping [9, 14, 17]. Inverse displacement mapping can find the intersection of a ray and a height field by projecting a ray or view vector onto a height-field without changing geometry data.

참조문헌 [15]에서 최첨단의 방법(State-of-the-art method)은 근사치 알고리즘(approximation algorithm)과 정확한 알고리즘(accurate algorithm)으로 분류될 수 있다. 첫번째 알고리즘은 수행 속도가 빠르지만 정확한 교차점을 찾기 어려울 수 있다. 두번째 알고리즘은 빠른 탐색과 정확한 교차점 계산을 위하여 미리 계산된 데이터(pre-computed data)를 필요로 할 수 있다. 근사치 알고리즘인 POM과 릴리프 매핑은 선형 탐색(linear search) 또는 이진 탐색(binary search) 중 적어도 하나의 방식을 사용함으로써 교차점들을 찾는다. 하지만, 교차점을 찾는 과정 동안 스탭 간격과 처리속도 사이에서 트래이드 오프(trade-off)가 발생한다. 예를 들어, 스탭 간격이 짧아질수록 교차점의 정확도는 높아지나 처리속도는 떨어진다. 더욱이, 급격한 고도 필드와 가파른 지표각에서 교차점을 놓치는 경우가 발생할 수 있다.In Reference [15], state-of-the-art methods can be classified into approximation algorithms and accurate algorithms. The first algorithm is fast, but it can be difficult to find the correct intersection. The second algorithm may require pre-computed data for fast searching and accurate intersection calculation. An approximation algorithm, POM and relief mapping, finds intersections by using at least one of linear search or binary search. However, a trade-off occurs between the step spacing and the processing speed during the finding of the intersection. For example, the shorter the step spacing, the higher the accuracy of the intersection but the slower the processing speed. Moreover, missed intersections may occur at steep elevation fields and at steep surface angles.

이에 대한 해결책으로써 두번째 방식인 이미지 피라미드[4] 기반의 변위 맵을 사용한 픽셀 단위 레이 트레이싱(per-pixel ray tracing) 기법이 발표되었다[9, 14, 17]. 피라미드 변위 맵은 여러 레벨의 서브 이미지들로 구성된 밉맵(mip-map) 형태의 이미지 피라미드이다. 피라미드 변위 맵을 가지고 루트 레벨(root level)에서부터 시작하여 리프 레벨(leaf level)로 점진적으로 내려가면서 레이와 고도 필드와의 교차점을 빠르게 찾을 수 있다. 피라미드 변위 매핑은 이미지 피라미드에 대한 탐색 시[9] 하나의 레벨 다운을 통한 하위 노드 방문과 노드 크로싱(crossing)을 통한 이웃 노드 방문이 가능할 수 있다. 한편, 참조문헌 [17]에서는 원 레벨 업(one level up) 기법을 제시하여 빈 공간 스킵(skipping)을 효과적으로 수행함으로써 참조문헌 [9]에 비하여 탐색를 위한 반복 스탭(iteration step)을 줄일 수 있다.As a solution to this problem, a per-pixel ray tracing technique using a displacement map based on the image pyramid [4] has been presented [9, 14, 17]. The pyramid displacement map is a mip-map image pyramid composed of several levels of sub-images. With the pyramid displacement map, you can quickly find the intersection of the ray and altitude fields, starting from the root level and gradually descending to the leaf level. Pyramid displacement mapping may be possible for sub-node visits through one level down and neighbor node visits through node crossing when searching for an image pyramid [9]. On the other hand, the reference [17] can reduce the iteration step for the search compared to the reference [9] by presenting a one level up technique to effectively perform empty space skipping.

개시된 기술은 피라미드 변위 맵의 탐색 시간을 줄일 수 있는 레이 트레이싱 코어를 제공한다.The disclosed technique provides a ray tracing core that can reduce the search time of a pyramid displacement map.

개시된 기술은 사실감 있는 장면을 생성할 수 있는 레이 트레이싱 코어를 제공한다.The disclosed technique provides a ray tracing core that can produce realistic scenes.

실시예들 중에서, 레이 트레이싱 코어는 시점과 종점으로 정의된 레이를 기초로 시작 레벨을 결정하는 시작 레벨 결정부 및 상기 결정된 시작 레벨에 대하여 노드 크로싱(Node Crossing)을 체크하여, 만일 노드 크로싱이 발생하면 노드 크로싱의 수행 후 선택적 레벨 업을 수행하는 레벨 선택부를 포함한다.Among the embodiments, the ray tracing core checks node crossing for a start level determiner that determines a start level based on a ray defined as a start point and an end point, and node crossing for the determined start level, so that node crossing occurs. And a level selector for performing a selective level up after performing node crossing.

일 실시예에서, 상기 레벨 선택부는 만일 노드 크로싱이 발생하지 않으면 현재의 레벨을 기초로 미리 정의된 멀티 레벨만큼 멀티 레벨 다운을 수행할 수 있다. 일 실시예에서, 상기 레이 트레이싱 코어는 상기 멀티 레벨 다운된 후에 교차 테스트를 수행하는 교차 테스트부를 더 포함할 수 있다. 일 실시예에서, 상기 레이 트레이싱 코어는 상기 교차 테스트에서 상기 레이가 최하위 레벨에 도달해 있으며 상기 레이와의 교차점이 발생하지 않으면 고도 읽기 연산과 레이 이동 연산을 수행하는 레이 이동부를 더 포함할 수 있다.In one embodiment, if no node crossing occurs, the level selector may perform multi-level down by a predefined multi-level based on the current level. In an embodiment, the ray tracing core may further include a cross test unit configured to perform a cross test after the multi level is down. In an exemplary embodiment, the ray tracing core may further include a ray moving unit configured to perform an altitude read operation and a ray movement operation when the ray reaches the lowest level in the crossover test and the intersection with the ray does not occur. .

일 실시예에서, 상기 시작 레벨 결정부는 상기 레이의 시점과 끝점을 배타논리합 연산을 수행하여 시작 레벨을 계산할 수 있다.In an example embodiment, the start level determiner may calculate a start level by performing an exclusive logic operation on the start point and the end point of the ray.

일 실시예에서, 상기 레벨 선택부는 상기 노드 크로싱이 발생하면 노드 크로싱을 수행하여 이웃 노드를 방문하고 레벨을 선택적으로 증가시킬 수 있다.In one embodiment, when the node crossing occurs, the level selector may perform node crossing to visit neighboring nodes and selectively increase the level.

실시예들 중에서, 레이 트레이싱 코어에 의하여 실행되는 레이 트레이싱 방법은 시점과 종점으로 정의된 레이를 기초로 시작 레벨을 결정하는 단계, 상기 결정된 시작 레벨에 대하여 노드 크로싱(Node Crossing)을 체크하는 단계 및 만일 노드 크로싱이 발생하면 노드 크로싱의 수행 후 선택적 레벨 업을 수행하는 단계를 포함한다.Among embodiments, a ray tracing method executed by a ray tracing core includes determining a start level based on a ray defined as a start point and an end point, checking node crossing for the determined start level, and If node crossing occurs, performing an optional level up after performing node crossing.

일 실시예에서, 상기 레이 트레이싱 방법은 만일 노드 크로싱이 발생하지 않으면 현재의 레벨을 기초로 미리 정의된 멀티 레벨만큼 멀티 레벨 다운을 수행하는 단계를 더 포함할 수 있다. 일 실시예에서, 상기 레이 트레이싱 방법은 상기 멀티 레벨 다운된 후에 교차 테스트를 수행하는 단계를 더 포함할 수 있다. 일 실시예에서, 상기 레이 트레이싱 방법은 상기 교차 테스트에서 상기 레이와의 교차점이 발생하지 않으면 고도 읽기 연산과 레이 이동 연산을 수행하는 단계를 더 포함할 수 있다.In one embodiment, the ray tracing method may further include performing a multi-level down by a predefined multi-level based on the current level if no node crossing occurs. In one embodiment, the ray tracing method may further comprise performing a cross test after the multi-level down. In an embodiment, the ray tracing method may further include performing an altitude read operation and a ray movement operation when the intersection point with the ray does not occur in the cross test.

일 실시예에서, 시점과 종점으로 정의된 레이를 기초로 시작 레벨을 결정하는 단계는 상기 레이의 시점과 끝점을 배타논리합 연산을 수행하여 시작 레벨을 계산하는 단계를 포함할 수 있다.In one embodiment, determining the start level based on a ray defined as a start point and an end point may include calculating a start level by performing an exclusive logic operation on the start point and the end point of the ray.

일 실시예에서, 만일 노드 크로싱이 발생하면 선택적 레벨 업을 수행하는 단계는 상기 노드 크로싱이 발생하면 노드 크로싱을 수행하여 이웃 노드를 방문하고 레벨을 선택적으로 증가시키는 단계를 포함할 수 있다.In one embodiment, if the node crossing occurs, performing the selective level up may include performing node crossing to visit the neighboring node and selectively increasing the level if the node crossing occurs.

실시예들 중에서, 레이 트레이싱 코어는 시점과 종점으로 정의된 레이를 기초로 상기 레이의 시작점의 X좌표와 끝점의 X좌표에 대하여 XOR 비트연산을 하고, 동시에 상기 레이의 시작점의 Y좌표와 끝점의 Y좌표에 대하여 XOR 비트연산을 하여 각각의 결과값 중 큰 수를 선택하며, 상기 선택된 결과값을 기초로 시작 레벨을 계산하는 시작 레벨 결정부 및 상기 결정된 시작 레벨에 대하여 노드 크로싱(Node Crossing)을 체크하여, 만일 노드 크로싱이 발생하면 노드 크로싱을 수행하여 이웃 노드를 방문하고 레벨을 선택적으로 증가시키고, 만일 노드 크로싱이 발생하지 않으면 하나 이상의 레벨을 다운시키는 레벨 선택부를 포함한다.Among the embodiments, the ray tracing core performs XOR bit operation on the X coordinate of the start point and the end point of the ray based on the ray defined as the start point and the end point, and at the same time the Y coordinate and the end point of the start point of the ray. An XOR bit operation is performed on the Y coordinate to select a larger number of the respective result values, and a start level determination unit for calculating a start level based on the selected result value, and node crossing for the determined start level. Checking includes performing a node crossing if node crossing occurs, visiting the neighboring node and selectively increasing the level, and if the node crossing does not occur, includes a level selector to down one or more levels.

개시된 기술은 과제의 해결 수단에 의한 일 구성으로부터 피라미드 변위 맵의 탐색 시간을 줄일 수 있다.The disclosed technique can reduce the search time of the pyramid displacement map from one configuration by means of solving the problem.

개시된 기술은 과제의 해결 수단에 의한 일 구성으로부터 레이 트레이싱 환경에 적용하여 사실감 있는 장면을 생성할 수 있다.The disclosed technique can be applied to a ray tracing environment from one configuration by means of solving the problem to create a realistic scene.

도 1은 피라미드 변위 맵의 예를 설명하는 도면이다.
도 2는 피라미드 변위 맵의 탐색 과정의 예를 설명하는 도면이다.
도 3은 피라미드 변위 맵의 탐색 과정의 다른 예를 설명하는 도면이다.
도 4는 본 발명의 레이 트레이싱 방법을 설명하기 위한 흐름도이다.
도 5는 도 4의 시작 레벨 결정 단계를 설명하기 위한 도면이다.
도 6은 도 4의 멀티 레벨 다운 단계를 설명하는 도면이다.
도 7은 도 4의 선택적 레벨 업 과정의 예를 설명하기 위한 도면이다.
도 8은 도 4의 선택적 레벨 업 과정을 설명하는 도면이다.
도 9은 레이 트레이싱 코어를 설명하기 위한 흐름도이다.
도 10은 도 9의 시작 레벨 결정부를 설명하는 도면이다.
도 11은 도 9의 레벨 선택부를 설명하는 도면이다.
도 12 및 도 13은 레이 트레이싱 방법에 의하여 생성된 이미지를 설명하는 도면이다.
도 14는 도 13의 키친 이미지들에 대한 노드 크로싱 발생 확률을 나타내는 표이다.
도 15는 멀티 레벨 다운에 대한 반복 스탭을 설명하는 표이다.
도 16은 이미지 피라미드의 탐색시 요구되는 반복 스탭을 설명하는 표이다.
1 is a diagram illustrating an example of a pyramid displacement map.
2 is a view for explaining an example of a search process of a pyramid displacement map.
3 is a view for explaining another example of the search process of the pyramid displacement map.
4 is a flowchart illustrating a ray tracing method of the present invention.
FIG. 5 is a diagram for describing a start level determining step of FIG. 4.
6 is a view for explaining the multi-level down step of FIG.
FIG. 7 is a diagram for describing an example of the optional level up process of FIG. 4.
FIG. 8 is a diagram illustrating an optional level up process of FIG. 4.
9 is a flowchart for explaining a ray tracing core.
FIG. 10 is a diagram for explaining a start level determining unit of FIG. 9.
FIG. 11 is a view for explaining a level selector in FIG. 9.
12 and 13 illustrate an image generated by a ray tracing method.
FIG. 14 is a table illustrating a node crossing occurrence probability for the kitchen images of FIG. 13.
15 is a table for explaining repetition steps for multi-level down.
FIG. 16 is a table for explaining a repeating step required for searching for an image pyramid.

개시된 기술에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 개시된 기술의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 개시된 기술의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 개시된 기술에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The description of the disclosed technique is merely an example for structural or functional explanation and the scope of the disclosed technology should not be construed as being limited by the embodiments described in the text. That is, the embodiments may be variously modified and may have various forms, and thus the scope of the disclosed technology should be understood to include equivalents capable of realizing the technical idea. In addition, the objects or effects presented in the disclosed technology does not mean that a specific embodiment should include all or only such effects, and thus the scope of the disclosed technology should not be understood as being limited thereto.

한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Meanwhile, the meaning of the terms described in the present application should be understood as follows.

"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.The terms "first "," second ", and the like are intended to distinguish one element from another, and the scope of the right should not be limited by these terms. For example, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" to another element, it may be directly connected to the other element, but there may be other elements in between. On the other hand, when an element is referred to as being "directly connected" to another element, it should be understood that there are no other elements in between. On the other hand, other expressions describing the relationship between the components, such as "between" and "immediately between" or "neighboring to" and "directly neighboring to", should be interpreted as well.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.It should be understood that the singular " include "or" have "are to be construed as including a stated feature, number, step, operation, component, It is to be understood that the combination is intended to specify that it does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, the identification code (e.g., a, b, c, etc.) is used for convenience of explanation, the identification code does not describe the order of each step, Unless otherwise stated, it may occur differently from the stated order. That is, each step may occur in the same order as described, may be performed substantially concurrently, or may be performed in reverse order.

여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. Commonly used predefined terms should be interpreted to be consistent with the meanings in the context of the related art and can not be interpreted as having ideal or overly formal meaning unless explicitly defined in the present application.

도 1은 피라미드 변위 맵의 예를 설명하는 도면이고, 도 2는 피라미드 변위 맵의 탐색 과정의 예를 설명하는 도면이며, 도 3은 피라미드 변위 맵의 탐색 과정의 다른 예를 설명하는 도면이다. 1 is a diagram illustrating an example of a pyramid displacement map, FIG. 2 is a diagram illustrating an example of a search process of a pyramid displacement map, and FIG. 3 is a diagram illustrating another example of a search process of a pyramid displacement map.

피라미드 변위 맵(Pyramidal displacement map)은 컴퓨팅 과정을 거쳐 생성된 사지 트리 이미지 피라미드(quad-tree image pyramid)이다. 사지 트리 이미지 피라미드는 2n×2n 개의 픽셀을 가진 0 레벨부터 1×1개의 픽셀을 가진 n 레벨까지의 계층적인 이미지들의 집합이다.The pyramidal displacement map is a quad-tree image pyramid generated through a computing process. The limb tree image pyramid is a set of hierarchical images from the 0 level with 2 n × 2 n pixels to the n level with 1 × 1 pixels.

도 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].Referring to FIG. 1, the original displacement map data may have a mip-map level of 0 and each node may represent a displacement value of an actual surface. Each node ( i , j ) in the high-level image has four nodes (2 i , 2 j ), ( 2i +1, 2j ), ( 2i , 2 j +1), (2 i +1, 2 j +1) can store the largest height-field value (height-field). The root node can store the maximum altitude value as a whole. The inner node can store the maximum altitude value locally [9, 15].

도 2를 참조하면, 피라미드 변위 매핑은 레이(Ray)와 고도 필드 사이의 정확한 교차점(intersection point)을 찾기 위해서 루트 레벨 n에서 리프 레벨 0까지 이미지 피라미드를 탐색할 수 있다. 피라미드 변위 매핑을 위한 탐색 과정은 먼저 현재 픽셀의 텍스처(texture) 좌표 P에서 이미지 피라미드의 루트 레벨의 고도 필드 d1를 읽어오고, 레이의 현재 위치 P를 레이와 d1가 만나는 위치인 P1로 이동시키고, 이미지 피라미드를 한 레벨 감소시킨다. 다음 과정은 P1에서 현재 밉맵 레벨의 고도 필드 d2를 읽어오고, 만일 d2가 d1보다 크면, P1을 레이와 d2가 만나는 지점인 P2로 이동시키고 이미지 피라미드를 한 레벨 감소시킨다. 만일 크지 않으면, 레이를 이동시키지 않고 이미지 피라미드를 한 레벨 감소시킨다. 위와 같은 과정을 리프 레벨에 도달할 때까지 반복할 수 있다.Referring to FIG. 2, the pyramid displacement mapping may search the image pyramid from root level n to leaf level 0 to find the correct intersection point between Ray and altitude field. Search for a Pyramids displacement mapping process is to first, the current texture pixel (texture) coordinates P coming to read the altitude fields d 1 of the root level of the image pyramid from, the current position P of Ray and d 1 meeting where P 1 Move and reduce the image pyramid by one level. The next process reads the altitude field d 2 of the current mipmap level from P 1 , and if d 2 is greater than d 1 , moves P 1 to the point P 2 where ray and d 2 meet and decrements the image pyramid by one level. . If it is not large, reduce the image pyramid by one level without moving the ray. You can repeat this process until you reach the leaf level.

이미지 피라미드를 검색할 때 레이가 길어서 현재 레벨 노드의 경계를 넘어가는 경우, 도 2에서 설명한 탐색 방법은 부정확 결과를 도출할 수 있다. 노드 크로싱(node crossing)은 이동한 레이의 위치가 이동하기 전과 같은 노드에 있는지 여부를 검사할 수 있으며, 만일 현재 노드를 넘어간다면 레이의 위치를 노드의 경계 부분으로 이동시킬 수 있다. 노드 크로싱의 수행 결과로 레이는 이웃 노드를 방문하게 된다.When the ray is long when searching the image pyramid to cross the boundary of the current level node, the search method described with reference to FIG. 2 may lead to inaccurate results. Node crossing can check whether the position of the moved ray is at the same node as before the move, and if the current node is crossed, the position of the ray can be moved to the boundary of the node. As a result of the node crossing, Ray visits the neighboring node.

도 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번 방문할 수 있다.Referring to FIG. 3, reference document [17] proposes a search algorithm that can reduce the number of node crossings of [9] by leveling up an image pyramid. The level up method increases the mip-map level by one step when the ray exists where the cell boundary can be divided into two. Among the lines vertically up and down, the solid line represents the boundary of each node to the k level of the image pyramid, and the boundary of each node to the k -1 level is twice the k level, so both the dashed line and the solid line can correspond. . In reference [17], the node crossing can be raised to the k level if the node crossing occurs at the solid line position with respect to the k −1 level. For example, in reference [9], the node may be visited four times in the order of 1 → 2 → 3 → 4 for the k −1 level. In the case of reference [17], it is possible to visit C after ascending to k level at position A, then descending to k −1 level and visiting C. Therefore, the node may be visited three times in the order A → B → C.

도 4는 본 발명의 레이 트레이싱 방법을 설명하는 흐름도이다.4 is a flowchart illustrating a ray tracing method of the present invention.

도 4를 참조하면, 레이 트레이싱 방법은 시작 레벨 결정(start level calculation) 단계, 멀티 레벨 다운(multi level down) 단계, 선택적 레벨 업(selective level up) 단계를 포함할 수 있다.Referring to FIG. 4, the ray tracing method may include a start level calculation step, a multi level down step, and a selective level up step.

시작 레벨 결정 단계는 입력된 레이에 대하여 시작 레벨을 결정할 수 있다(단계 S401). 일 실시예에서, 레이 트레이싱 방법은 도 1 내지 3에서 설명하고 있는 탐색 방법을 기초로 시작 레벨을 결정할 수 있다.The start level determination step may determine a start level for the input ray (step S401). In one embodiment, the ray tracing method may determine the start level based on the search method described in FIGS.

레이 트레이싱 방법은 레이 정보와 해당 밉맵(mip-map) 레벨 값을 가지고 고도 정보를 저장하고 있는 캐시(cache)로부터 고도 정보를 읽어오며(단계 S402), 레이를 고도 정보와 레이가 만나는 지점으로 이동시킬 수 있다(단계 S403).The ray tracing method reads the altitude information from the cache storing the altitude information with the ray information and the corresponding mip-map level value (step S402), and moves the ray to the point where the altitude information and the ray meet. (Step S403).

레이 트레이싱 방법은 시작 레벨에서부터 레이와 고도 필드의 교차점을 찾기 위한 탐색을 시작할 수 있다. 레이 트레이싱 방법은 노드 크로싱의 발생여부를 결정할 수 있다(단계 S404). 만일 노드 크로싱이 발생하면 노드 크로싱 수행 후(단계 S405) 선택적 레벨 업 과정을 통하여 노드 크로싱을 수행하게 되며(단계 S406), 만일 발생하지 않으면 현재 레벨이 2 보다 큰지 확인을 할 수 있다(단계 S408). 만일 2보다 크다면 멀티 레벨 다운 과정을 수행하며(단계 S409), 만일 2보다 크지 않으면 레벨을 하나씩 감소시킨다(단계 S410). 선택적 레벨 업 과정과 멀티 레벨 다운 과정에 대한 구체적인 설명은 각각 도 7 및 도 6에서 후술한다.The ray tracing method may begin a search to find the intersection of the ray and the altitude field from the start level. The ray tracing method may determine whether node crossing occurs (step S404). If node crossing occurs, after performing node crossing (step S405), node crossing is performed through an optional level up process (step S406). If no node crossing occurs, it is possible to check whether the current level is greater than 2 (step S408). . If greater than 2, the multi-level down process is performed (step S409), and if not greater than 2, the level is decreased by one (step S410). A detailed description of the selective level up process and the multi level down process will be described later with reference to FIGS. 7 and 6, respectively.

레이 트레이싱 방법은 레이가 최하위 레벨에 도달해 있으며 교차점이 있는지 확인하고(단계 S411), 만일 교차점이 있다면 교차점의 컬러 값과 노말 벡터(normal vector) 정보를 가지고 일루미네이션(illumination) 처리(단계 S412)를 함으로써 하나의 레이에 대한 모든 과정을 마친다. 만일 교차점이 없다면 단계 S402 내지 단계 S411를 반복한다.The ray tracing method checks if the ray has reached the lowest level and there is an intersection (step S411), and if there is an intersection, performs an illumination process (step S412) with the color value and normal vector information of the intersection. This completes the whole process for one ray. If there is no intersection point, steps S402 to S411 are repeated.

도 5a 및 도 5b는 도 4의 시작 레벨 결정 단계를 설명하기 위한 도면이다.5A and 5B are diagrams for describing a start level determination step of FIG. 4.

참조문헌 [9, 17]와 같은 이미지 피라미드에 대한 기존의 탐색 방법은 최상위 레벨에서부터 탐색을 시작한다. 본 발명의 레이 트레이싱 방법은 주어진 레이에 대하여 노드 크로싱이 발생하지 않는 최소 레벨을 계산하여 이를 시작 레벨로 정할 수 있다. 시작 레벨보다 높은 레벨의 밉맵은 탐색하지 않을 수 있고, 별도의 고도 필드에 대한 정보가 필요하지 않을 수 있다. 레이 트레이싱 방법은 레이의 시작점과 끝점만 가지고 시작 레벨을 계산할 수 있다.Existing search methods for image pyramids, such as references [9, 17], start searching from the top level. The ray tracing method of the present invention may calculate the minimum level at which no node crossing occurs for a given ray and set it as the start level. Mipmaps at levels higher than the start level may not be searched and may not require information on a separate altitude field. The ray tracing method can calculate the start level using only the start and end points of the ray.

도 5a를 참조하면, 밉맵 이미지는 밉맵 레벨이 0이고, 레이의 시작점을 P라 하고 끝점을 A라고 가정한다. P의 좌표는 (409, 60)이고 A의 좌표는 (420, 50)이다. 도 5b를 참조하면, 도 5a의 경우에 대하여 레벨 7의 밉맵 이미지를 보여준다. 도 5a에서 제시된 레이는 도 5b의 경우 좌표 (3, 0)의 노드 안에 포함될 수 있다. 이는 레벨 7 이상의 밉맵에서는 노드 크로싱이 발생하지 않는다는 것을 의미할 수 있다.Referring to FIG. 5A, it is assumed that a mipmap image has a mipmap level of 0, a ray start point P and an end point A. The coordinate of P is (409, 60) and the coordinate of A is (420, 50). Referring to FIG. 5B, a mipmap image of level 7 is shown for the case of FIG. 5A. The ray presented in FIG. 5A may be included in the node of coordinates (3, 0) in the case of FIG. 5B. This may mean that node crossing does not occur in mipmaps of level 7 or higher.

도 5a의 경우 시작 레벨을 7로 정하여 탐색을 시작할 수 있다. 기존의 방법은 레벨 9부터 탐색를 시작하기 때문에 새로운 탐색 방법은 기존의 탐색 방법에 비하여 2 번의 반복 스탭이 줄어들 수 있다.In the case of FIG. 5A, the search may be started by setting the start level to 7. Since the existing method starts searching at level 9, the new search method can reduce two iteration steps compared to the existing search method.

예를 들어, 두 점 P와 A를 P=(PX, PY)와 A=(AX, AY)라고 정의하고, 밉맵 레벨 0의 이미지 크기는 512×512라고 가정한다. PX, PY , AX, AY는 각각 9 비트가 된다. 이때, 밉맵 레벨 K의 이미지 상에서 PX의 위치는 PX의 상위 9-K 비트의 값에 해당한다.For example, suppose two points P and A are defined as P = (P X , P Y ) and A = (A X , A Y ), and the image size of mipmap level 0 is 512 × 512. P X , P Y , A X , and A Y are each 9 bits. At this time, the position of X on the image P of the mipmap level K corresponds to the value of the upper 9 bits of the P-K X.

예를 들어, 도 5a의 경우 PX의 위치는 110011001(2)이 되고, 도 5b의 경우 PX의 위치는 11(2)이 된다. 이는 AX의 경우에서도 동일하게 적용될 수 있다. PX와 AX의 상위 r 비트가 동일하면, PX와 AX가 상위 r 레벨까지는 같은 노드에 존재할 수 있다. PY와 AY에 대해서도 그대로 적용될 수 있으며, 이를 이용하여 시작 레벨을 계산할 수 있다.For example, in FIG. 5A, the position of P X is 110011001 (2), and in FIG. 5B, the position of P X is 11 (2). The same may be applied to the case of A X. If the upper r bits of P X and A X are the same, P X and A X may exist in the same node up to the upper r level. The same applies to P Y and A Y , and the starting level can be calculated using this.

시작 레벨을 계산하는 방법은 다음과 같다. 두 점을 P=(PX, PY)와 A=(AX, AY)라고 가정하면, 먼저 PX와 AX에 대하여 비트에 관한 XOR(exclusive-or) 연산을 수행하고, 동시에 PY와 AY에 대하여 비트에 관한 XOR 연산을 수행한다. 첫 번째 연산 결과와 두 번째 연산 결과를 비교하여 큰 수를 결정한다. 결정된 값에 대한 비트의 전치영(leading zero)이 있는지를 결정하고 만일 있다면 전치영을 계산할 수 있다. 계산된 값을 전체 레벨 수에 대하여 뺄셈을 하면 최종적으로 시작 레벨의 위치가 계산될 수 있다.The method for calculating the start level is as follows. Assuming two points, P = (P X , P Y ) and A = (A X , A Y ), first perform an XOR (exclusive-or) operation on the bits for P X and A X , and simultaneously P Performs an XOR operation on bits Y and A Y. Compare the result of the first operation with the result of the second operation to determine the larger number. It may be determined whether there is a leading zero of the bit for the determined value, and if so, the prezero may be calculated. Subtracting the calculated value with respect to the total number of levels can finally calculate the position of the starting level.

예를 들어, 도 5a의 경우 PX XOR AX와 PY XOR AY의 결과는 각각 000111101(2)와 000001110(2)이고, 두 값 중에 큰 값은 000111101(2)이 된다. 000111101(2)의 전치영(leading zero)은 3이 된다. 전체 레벨 수인 10에서 전치영 3을 빼면 시작 레벨은 7이 된다.For example, in FIG. 5A, the results of P X XOR A X and P Y XOR A Y are 000111101 (2) and 000001110 (2), respectively, and the larger of the two values is 000111101 (2). The leading zero of 000111101 (2) is three. If you subtract 3 from the total number of 10, the starting level is 7.

도 6은 도 4의 멀티 레벨 다운 단계를 설명하는 도면이다.6 is a view for explaining the multi-level down step of FIG.

도 6을 참조하면, 기존의 탐색 방법은 순차적 레벨 다운(one level down)을 통하여 하위 노드를 방문하고, 노드 크로싱을 통하여 이웃 노드를 방문한다. 기존의 탐색 방법은 레벨 다운의 발생 빈도가 노드 크로싱 보다 상당히 높을 수 있다. 이것은 이미지 피라미드의 탐색 시 가간섭성(coherence)이 존재하기 때문이다.Referring to FIG. 6, the conventional discovery method visits a lower node through one level down and visits a neighbor node through node crossing. Conventional search methods can cause the frequency of level down to be significantly higher than node crossing. This is because there is coherence in the search of the image pyramid.

레이 트레이싱 방법은 멀티 레벨 다운(Multi level down)을 통하여 이미지 피라미드를 한 번에 하나 이상의 레벨을 내려갈 수 있다. 멀티 레벨 다운은 순차적 레벨 다운에 비하여 반복 스탭이 감소할 수 있다.The ray tracing method may descend one or more levels of the image pyramid at a time through multi level down. Multi-level down may reduce the number of repetitive steps compared to sequential level down.

레이 트레이싱 방법은 멀티 레벨 다운 중에서 2 레벨 다운을 사용한다고 가정한다.It is assumed that the ray tracing method uses two level down among the multi level down.

멀티 레벨 다운 과정은 현재 레벨에서 노드 크로싱이 발생하는지를 판단한다. 만일 발생하면 노드 크로싱을 수행하여 이웃 노드를 방문할 수 있다. 만일 발생하지 않으면 현재 레벨이 2 보다 큰지를 검사한다. 만일 2보다 크다면 2 레벨 다운을 수행하고, 만일 2보다 크지 않으면 1 레벨 다운을 수행하여 레벨 0으로 이동할 수 있다.The multi-level down process determines whether node crossing occurs at the current level. If so, node crossing can be performed to visit neighboring nodes. If not, check if the current level is greater than 2. If it is greater than 2, level 2 may be performed. If not greater than 2, level 1 may be performed.

예를 들어, 시작 레벨이 5라고 가정한다. 순차적 레벨 다운은 레벨 5에서 시작하여 레벨 0까지 순차적으로 탐색을 수행할 수 있다. 멀티 레벨 다운은 레벨 5에서 시작하여 레벨 3, 레벨 1, 레벨 0을 순차적으로 탐색할 수 있다. 여기에서, 순차적 레벨 다운은 탐색을 6번 반복하며, 멀티 레벨 다운은 탐색을 4번 반복한다.For example, suppose the start level is five. Sequential level down may begin the search from level 5 to level 0 sequentially. Multi-level down can start at level 5 and sequentially navigate through level 3, level 1, and level 0. Here, sequential level down repeats the search six times, and multi-level down repeats the search four times.

도 7은 도 4의 선택적 레벨 업 과정의 예를 설명하기 위한 도면이고, 도 8은 도 4의 선택적 레벨 업 과정을 설명하는 도면이다.FIG. 7 is a diagram illustrating an example of a selective level up process of FIG. 4, and FIG. 8 is a diagram illustrating an optional level up process of FIG. 4.

도 7을 참조하면, 참조 문헌 [17]에서 제시된 탐색 과정의 예제에 대하여 역변위 매핑을 위한 탐색 방법을 도식화하였다. 참조 문헌 [9]의 경우 노드 크로싱을 통하여 이웃 노드로의 방문만을 수행하는 반면에, 참조 문헌 [17]의 경우 셀(Cell) 7과 11의 위치에서 노드 크로싱 시 무조건적인 레벨 업이 수행될 수 있다. 여기서 셀은 최하위 레벨의 노드와 동일하다. 참조 문헌 [17]은 [9]에 비하여 노드 크로싱의 수가 줄어들 수 있다.Referring to FIG. 7, a search method for inverse displacement mapping is illustrated for an example of a search process presented in Ref. [17]. In reference [9], only a visit to a neighboring node is performed through node crossing, whereas in reference [17], an unconditional level up can be performed in node crossing at positions of Cells 7 and 11. have. Here the cell is the same as the lowest level node. Reference [17] can reduce the number of node crossings as compared with [9].

셀 11위치에서 레벨 업이 수행되면 왼쪽 노드로 레벨 다운할 수 있다. 이 경우 셀 11위치에서 이웃 노드를 방문하는 것과 비교하여 반복 과정이 1이 증가할 수 있다. 이것은 레벨 업 후에 왼쪽 노드로 레벨 다운하는 것이 이웃 노드를 방문하는 것에 비하여 반복 스탭 면에서 불리하다는 것이다.When the level up is performed in the cell 11 position, the user can level down to the left node. In this case, a repetition process may increase by 1 compared with visiting a neighbor node at cell 11. This means that leveling down to the left node after leveling up is disadvantageous in terms of repetitive staff compared to visiting neighboring nodes.

레이 트레이싱 방법은 참조 문헌 [17]과 비교하여 반복 스탭을 줄일 수 있다. 레이 트레이싱 방법은 레벨 업이 가능한 위치에서 레벨 업 여부를 선택할 수 있다.The ray tracing method can reduce the repetitive step compared to the reference [17]. The ray tracing method may select whether to level up at a position where level up is possible.

도 8을 참조하면, 노드 크로싱 후의 위치를 P라고 하면, 레이 트레이싱 방법은 레이와 현재 m 노드 위치의 고도 필드 값 d 가지고 선형 방정식을 통하여 교차점 P1을 계산할 수 있다. 다음 과정은 현재 노드의 좌표와 교차된 노드와의 좌표의 차이를 계산할 수 있다. 계산된 차이가 1보다 크면 레벨 업을 선택하고 1보다 크지 않으면 레벨 업을 선택하지 않을 수 있다. 도 8에서는 P와 P1의 좌표 차가 1이기 때문에 레벨 업을 선택하지 않는다.Referring to FIG. 8, if the position after node crossing is P, the ray tracing method may calculate the intersection point P 1 through a linear equation with the altitude field value d of the ray and the current m-node position. The next step is to calculate the difference between the coordinates of the current node and the intersected node. If the calculated difference is greater than 1, you can choose level up. If it is not greater than 1, you can choose not to level up. In FIG. 8, since the coordinate difference between P and P 1 is 1, no level up is selected.

도 9은 레이 트레이싱 코어를 설명하기 위한 흐름도이다.9 is a flowchart for explaining a ray tracing core.

도 9을 참조하면, 레이 트레이싱 코어는 시작 레벨 결정부(910), 레이 이동부(930), 레벨 선택부(950) 및 교차 테스트부(960)를 포함할 수 있다.Referring to FIG. 9, the ray tracing core may include a start level determiner 910, a ray mover 930, a level selector 950, and a cross tester 960.

시작 레벨 결정부(910)는 입력된 레이에 대한 시작 레벨을 결정할 수 있다. 레이 이동부(930)는 고도 정보를 저장하고 있는 캐시(cache)(940)로부터 고도를 읽어오고 레이 이동 연산을 수행할 수 있다. 레이 이동부(930)가 레이를 해당 레벨로 이동시키면 레벨 선택부(950)가 다음 레벨을 선택한다.The start level determiner 910 may determine a start level of the input ray. The ray mover 930 may read altitude from a cache 940 that stores altitude information and perform a ray move operation. When the ray mover 930 moves the ray to the level, the level selector 950 selects the next level.

교차 테스트부(960)는 레이가 최하위 레벨에 도달해 있고 레이와 고도가 교차되는 지점이 발생하는지 여부를 검사한다. 만일 발생한다면 탐색을 종료하고 교차점을 출력할 수 있고, 만일 발생하지 않으면 다음 탐색을 위하여 고도 읽기 연산, 레이 이동 연산, 레벨 선택 과정을 순차적으로 반복할 수 있다.The intersection test unit 960 checks whether a point where the ray reaches the lowest level and where the ray and the altitude cross each other occurs. If it occurs, the search can be terminated and the intersection point can be output. If not, the altitude read operation, the ray shift operation, and the level selection process can be repeated sequentially for the next search.

도 10은 도 9의 시작 레벨 결정부를 설명하는 도면이고, 도 11은 도 9의 레벨 선택부를 설명하는 도면이다.FIG. 10 is a diagram for explaining a start level determiner of FIG. 9, and FIG. 11 is a diagram for explaining a level selector of FIG. 9.

도 10을 참조하면, 시작 레벨 결정부(910)는 입력된 레이의 시작점의 x좌표와 끝점의 x좌표에 대하여 XOR 연산을 수행하며(단계 S1001), 동시에 레이의 시작점의 y좌표와 끝점의 y좌표에 대하여 XOR 연산을 수행할 수 있다(단계 S1002). 시작 레벨 결정부(910)는 두 결과 값에 대하여 큰 수를 멀티플렉서(Mux)를 통하여 선택할 수 있고(단계 S1003), 선택한 값에 대하여 전치영(leading zero)을 계산하여 계산된 값을 출력할 수 있다(단계 S1004).Referring to FIG. 10, the start level determiner 910 performs an XOR operation on the x coordinate of the input start point and the x coordinate of the end point (step S1001), and simultaneously the y coordinate of the start point of the ray and the y of the end point. An XOR operation may be performed on the coordinates (step S1002). The start level determiner 910 may select a large number for two result values through a multiplexer Mux (step S1003), and output a calculated value by calculating a leading zero with respect to the selected value. (Step S1004).

도 11을 참조하면, 레벨 선택부(950)는 이동하기 전 레이의 고도의 x좌표와 y좌표 값과 이동한 레이의 고도의 x좌표와 y좌표 값을 가지고 노드 크로싱 여부를 수행할 수 있다(단계 S1101). 레벨 선택부(950)는 동시에 선택적 레벨 업(selective level up)을 수행하기 위한 뺄셈을 수행할 수 있다(단계 S1102). 만일 노드 크로싱이 발생하지 않으면 멀티 레벨 다운을 수행하고(단계 S1103), 만일 발생하면 노드 크로싱을 수행한 후(단계 S1104) 선택적 레벨 업을 수행할 수 있다(단계 S1105). 레벨 선택부(950)는 레벨 값을 선택적으로 출력할 수 있다(단계 S1106).Referring to FIG. 11, the level selector 950 may perform node crossing with the x and y coordinate values of the ray's elevation before moving and the x and y coordinate values of the moved ray's elevation (see FIG. 11). Step S1101). The level selector 950 may perform subtraction to perform selective level up at the same time (step S1102). If no node crossing occurs, multi-level down is performed (step S1103), and if it occurs, node leveling may be performed (step S1104) and then optional level up may be performed (step S1105). The level selector 950 may selectively output a level value (step S1106).

도 12 및 도 13은 레이 트레이싱 방법에 의하여 생성된 이미지를 설명하는 도면이다.12 and 13 illustrate an image generated by a ray tracing method.

도 12a는 대리석에 대한 변위 맵을 나타내며, 도 12b는 벽돌에 대한 변위 맵을 나타낸다. 도 13a 및 도 13b는 대리석에 대한 변위 맵이 적용된 키친 이미지를 나타내며, 도 13c 및 도 13d는 벽돌에 대한 변위 맵이 적용된 키친 이미지를 나타낸다.12A shows the displacement map for marble and FIG. 12B shows the displacement map for brick. 13A and 13B show a kitchen image to which a displacement map for marble is applied, and FIGS. 13C and 13D show a kitchen image to which a displacement map for brick is applied.

하드웨어 환경은 Intel Core2 Duo E8400 3.20GHz, 4GB DDR2 SDRAM, Nvidia 9600GT이다. 성능 평가 기준은 레이 트레이싱 애니메이션의 성능 평가에 많이 사용되는 BART[8] 중 키친(kitchen)을 사용하였다. 키친 이미지는 반사와 굴절이 되는 물체들이 다수 있으며, 110,000개 이상의 트라이앵글(triangle)과 다수개의 텍스쳐(texture)들로 이루어져 있다. 실험 환경은 참조 문헌 [10]에서 레이 트레이싱 환경을 기반으로 제안하는 방식을 추가적으로 구현하여 구축하였다. 레이 트레이싱 시 반사 및 굴절로 인한 이차적 레이(secondary ray)는 최대 10개까지 생성될 수 있다.Hardware environment is Intel Core2 Duo E8400 3.20GHz, 4GB DDR2 SDRAM, Nvidia 9600GT. For performance evaluation criteria, kitchen was used in BART [8], which is widely used for performance evaluation of ray tracing animation. Kitchen images have many reflections and refractions, and are made up of more than 110,000 triangles and textures. The experimental environment was constructed by additionally implementing the method proposed based on ray tracing environment in Ref. [10]. Up to 10 secondary rays due to reflection and refraction can be generated during ray tracing.

도 14는 도 13의 키친 이미지들에 대한 노드 크로싱 발생 확률을 나타내는 표이다.FIG. 14 is a table illustrating a node crossing occurrence probability for the kitchen images of FIG. 13.

도 14는 이미지 피라미드를 탐색할 때 노드 크로싱이 발생할 확률을 참조 문헌 [9]과 참조 문헌 [17]에 대하여 각각 보여주고 있다. 실험결과는 노드 크로싱이 발생할 확률이 참조 문헌 [9]는 약 24.5%이고 참조 문헌 [17]는 20.6%로 나타났다.실험 결과 참조 문헌 [17]이 참조 문헌 [9]보다 노드 크로싱 발생 확률이 전반적으로 낮다. 이것은 탐색 시 레벨 다운의 빈도가 높다는 것을 의미할 수 있다. 레이 트레이싱 과정 중 시작 레벨 결정 단계와 멀티 레벨 다운 단계는 탐색시 레벨 다운 빈도가 높은 점을 이용할 수 있다. 그리고 참조 문헌 [17]은 레벨 업 과정을 포함하고 있기 때문에 노드 크로싱의 빈도가 참조 문헌 [9]에 비하여 낮을 수 있다.14 shows the probability of node crossing when searching for an image pyramid with reference [9] and reference [17], respectively. Experimental results showed that the probability of node crossing was about 24.5% in Ref. [9] and 20.6% in Ref. [17]. As low. This may mean that the frequency of level down in the search is high. During the ray tracing process, the start level determination step and the multi-level down step may use a high level down frequency during the search. In addition, since the reference [17] includes a level up process, the frequency of node crossing may be lower than that of the reference [9].

도 15는 멀티 레벨 다운에 대한 반복 스탭을 설명하는 표이다.15 is a table for explaining repetition steps for multi-level down.

도 15는 n 레벨 다운으로 인하여 이미지 피라미드의 탐색에 소요되는 반복 스탭을 각각의 레벨별로 제시하고 있다. 이미지는 장면 4를 선택하고, 시작 레벨 결정 단계 및 선택적 레벨 업 단계는 적용하지 않는 것으로 가정한다. 1 레벨은 순차적으로 하향하는 것이기 때문에 참조 문헌 [9]와 동일하다. 대리석과 벽돌의 경우 이미지 피라미드가 총 10개의 레벨로 구성되어 있기 때문에 최소 반복 스탭은 10이 된다. 실험 결과는 3 레벨 다운 시 가장 좋은 성능을 보여주고 있으며 2 레벨 다운의 경우 3 레벨 다운에 비하여 반복 스탭이 조금 많다.FIG. 15 shows, for each level, a repeating step for searching for an image pyramid due to n level down. The image selects scene 4 and assumes that the start level determination step and the optional level up step do not apply. One level is the same as that of Ref. [9] because it is sequentially lowered. In the case of marble and brick, the minimum repetition staff is 10 because the image pyramid consists of 10 levels in total. Experimental results show the best performance when level 3 is down, and there are more repetitive steps for level 2 down than level 3 down.

도 16은 이미지 피라미드의 탐색시 요구되는 반복 스탭을 설명하는 표이다.FIG. 16 is a table for explaining a repeating step required for searching for an image pyramid.

도 16을 참조하면, 이미지 피라미드의 탐색에 소요되는 반복 스탭을 기존의 탐색 과정과 본 발명의 레이 트레이싱 과정에 대하여 비교하였다. 대리석의 경우 시작 레벨 결정 단계, 2 레벨 다운 단계, 선택적 레벨 업 단계에 대하여 각각 최대 21%, 17%, 5%의 반복 스탭이 감소하였다. 그리고 모든 탐색 과정을 적용한 결과 장면4에서 반복 스탭이 최대 35% 감소하였다.Referring to FIG. 16, the repetitive steps required for searching the image pyramid were compared with the existing tracing process and the ray tracing process of the present invention. For marble, up to 21%, 17%, and 5% repetitive steps were reduced for the start level determination, 2 level down, and optional level up steps, respectively. As a result of applying all the search processes, the number of repetitive staff was reduced by up to 35% in scene 4.

벽돌의 경우 시작 레벨 결정 단계, 2 레벨 다운 단계, 선택적 레벨 업 단계에 대하여 반복 스탭이 각각 최대 22%, 27%, 5% 정도 감소하였다. 그리고 모든 탐색 과정을 적용한 결과 장면 4에서 반복 스탭이 최대 38% 감소하였다.In the case of bricks, the number of repetitive staff decreased by up to 22%, 27%, and 5% for the start level determination stage, the 2 level down stage, and the optional level up stage, respectively. As a result of applying all the search processes, the number of repetitive staff was reduced by up to 38% in scene 4.

두 변위 맵에 대하여 반복 스탭의 감소율은 장면 4에서 가장 높게 측정되었다. 이것은 장면 4에서 노드 크로싱 비율이 가장 낮기 때문에 2 레벨 다운의 효과가 높게 적용되었기 때문이다. 반면, 장면 3에서는 노드 크로싱 비율이 가장 높기 때문에 레이 트레이싱 방법을 적용하였을 때 효과가 평균적으로 가장 낮았다.For both displacement maps, the reduction rate of the repeat steps was measured highest in scene 4. This is because the effect of the 2 level down is applied because of the lowest node crossing ratio in scene 4. On the other hand, in scene 3, the node tracing ratio is the highest, so the effect of ray tracing is the lowest.

상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 출원의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 출원을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
Although described above with reference to a preferred embodiment of the present application, those skilled in the art various modifications and changes to the present application without departing from the spirit and scope of the present application described in the claims below I can understand that you can.

[참조문헌][Reference literature]

[1] Baboud, Lionel and Decoret, Xavier. Rendering geometry with relief textures. Proceedings of Graphics Interface, pages 195--201, 2006. [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. [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 pat00001
: Advanced Rendering with DirextX and OpenGL. Cengage Learning, 2005. [3] Zoe Brawley and Natalya Tatarchu. Shader
Figure 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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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.[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)

시점과 종점으로 정의된 레이를 기초로 시작 레벨을 결정하는 시작 레벨 결정부;
상기 결정된 시작 레벨에 대하여 노드 크로싱(Node Crossing)을 체크하여, 만일 노드 크로싱이 발생하면 노드 크로싱 수행 후 선택적 레벨 업을 수행하는 레벨 선택부를 포함하는 레이 트레이싱 코어.
A start level determiner configured to determine a start level based on a ray defined as a start point and an end point;
And a level selector configured to check node crossing with respect to the determined start level, and perform a selective level up after performing node crossing if node crossing occurs.
제1항에 있어서, 상기 레벨 선택부는
만일 노드 크로싱이 발생하지 않으면 현재의 레벨을 기초로 미리 정의된 멀티 레벨만큼 멀티 레벨 다운을 수행하는 것을 특징으로 하는 레이 트레이싱 코어.
The method of claim 1, wherein the level selector
And if no node crossing occurs, performing a multi-level down by a predefined multi-level based on the current level.
제2항에 있어서,
상기 멀티 레벨 다운된 후에 교차 테스트를 수행하는 교차 테스트부를 더 포함하는 것을 특징으로 하는 레이 트레이싱 코어.
The method of claim 2,
And a cross test unit configured to perform a cross test after the multi-level down.
제3항에 있어서,
상기 교차 테스트에서 상기 레이가 최하위 레벨에 도달해 있으며 상기 레이와의 교차점이 발생하지 않으면 고도 읽기 연산과 레이 이동 연산을 수행하는 레이 이동부를 더 포함하는 것을 특징으로 하는 레이 트레이싱 코어.
The method of claim 3,
And a ray moving unit configured to perform an altitude read operation and a ray movement operation when the ray reaches the lowest level in the crossover test and the intersection point with the ray does not occur.
제1항에 있어서, 상기 시작 레벨 결정부는
상기 레이의 시점과 끝점을 배타논리합 연산을 수행하여 시작 레벨을 계산하는 것을 특징으로 하는 레이 트레이싱 코어.
The method of claim 1, wherein the start level determiner
And a start level is calculated by performing an exclusive logic operation on the start point and the end point of the ray.
제1항에 있어서, 상기 레벨 선택부는
상기 노드 크로싱이 발생하면 노드 크로싱을 수행하여 이웃 노드를 방문하고 레벨을 선택적으로 증가시키는 것을 특징으로 하는 레이 트레이싱 코어.
The method of claim 1, wherein the level selector
And if the node crossing occurs, perform node crossing to visit neighboring nodes and selectively increase the level.
시점과 종점으로 정의된 레이를 기초로 시작 레벨을 결정하는 단계;
상기 결정된 시작 레벨에 대하여 노드 크로싱(Node Crossing)을 체크는 단계; 및
만일 노드 크로싱이 발생하면 노드 크로싱 수행 후 선택적 레벨 업을 수행하는 단계를 포함하는 레이 트레이싱 코어에 의하여 실행되는 레이 트레이싱 방법.
Determining a start level based on a ray defined by a start point and an end point;
Checking node crossing for the determined start level; And
If the node crossing occurs, performing the level crossing after performing the node crossing.
제7항에 있어서, 상기 레이 트레이싱 방법은
만일 노드 크로싱이 발생하지 않으면 현재의 레벨을 기초로 미리 정의된 멀티 레벨만큼 멀티 레벨 다운을 수행하는 단계를 더 포함하는 것을 특징으로 하는 레이 트레이싱 방법.
The method of claim 7, wherein the ray tracing method
And if no node crossing occurs, performing multi-level down by a predefined multi-level based on the current level.
제8항에 있어서, 상기 레이 트레이싱 방법은
상기 멀티 레벨 다운된 후에 교차 테스트를 수행하는 단계를 더 포함하는 것을 특징으로 하는 레이 트레이싱 방법.
The method of claim 8, wherein the ray tracing method is
And performing a cross test after the multi level down.
제9항에 있어서, 상기 레이 트레이싱 방법은
상기 교차 테스트에서 상기 레이가 최하위 레벨에 도달해 있으며 상기 레이와의 교차점이 발생하지 않으면 고도 읽기 연산과 레이 이동 연산을 수행하는 단계를 더 포함하는 것을 특징으로 하는 레이 트레이싱 방법.
The method of claim 9, wherein the ray tracing method is
And performing an altitude read operation and a ray movement operation when the ray reaches the lowest level in the crossover test and no intersection with the ray occurs.
제7항에 있어서, 시점과 종점으로 정의된 레이를 기초로 시작 레벨을 결정하는 단계는
상기 레이의 시점과 끝점을 배타논리합 연산을 수행하여 시작 레벨을 계산하는 단계를 포함하는 것을 특징으로 하는 레이 트레이싱 방법.
8. The method of claim 7, wherein determining a start level based on a ray defined by a start point and an end point
And calculating a start level by performing an exclusive logic operation on the start point and the end point of the ray.
제7항에 있어서, 만일 노드 크로싱이 발생하면 선택적 레벨 업을 수행하는 단계는
상기 노드 크로싱이 발생하면 노드 크로싱을 수행하여 이웃 노드를 방문하고 레벨을 선택적으로 증가시키는 단계를 포함하는 것을 특징으로 하는 레이 트레이싱 방법.
8. The method of claim 7, wherein the step of performing a selective level up if node crossing occurs.
Performing node crossing to visit neighboring nodes and selectively increasing the level when the node crossing occurs.
시점과 종점으로 정의된 레이를 기초로 상기 레이의 시작점의 X좌표와 끝점의 X좌표에 대하여 XOR 비트연산을 하고, 동시에 상기 레이의 시작점의 Y좌표와 끝점의 Y좌표에 대하여 XOR 비트연산을 하여 각각의 결과값 중 큰 수를 선택하며, 상기 선택된 결과값을 기초로 시작 레벨을 계산하는 시작 레벨 결정부; 및
상기 결정된 시작 레벨에 대하여 노드 크로싱(Node Crossing)을 체크하여, 만일 노드 크로싱이 발생하면 노드 크로싱을 수행하여 이웃 노드를 방문하고 레벨을 선택적으로 증가시키고, 만일 노드 크로싱이 발생하지 않으면 하나 이상의 레벨을 다운시키는 레벨 선택부를 포함하는 레이 트레이싱 코어.
XOR bit operation is performed on the X coordinate of the start point and the end point of the ray based on the ray defined as the start point and the end point, and at the same time, the XOR bit operation is performed on the Y coordinate of the start point and the Y coordinate of the end point of the ray. A start level determiner which selects a larger number of respective result values and calculates a start level based on the selected result value; And
Check Node Crossing for the determined start level, and if node crossing occurs, perform node crossing to visit neighboring nodes and selectively increase the level, and if node crossing does not occur, increase one or more levels. A ray tracing core comprising a level selector for down.
KR1020110063949A 2011-06-29 2011-06-29 Ray tracing core and ray tracing method KR101284324B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110063949A KR101284324B1 (en) 2011-06-29 2011-06-29 Ray tracing core and ray tracing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110063949A KR101284324B1 (en) 2011-06-29 2011-06-29 Ray tracing core and ray tracing method

Publications (2)

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

Family

ID=47835310

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110063949A KR101284324B1 (en) 2011-06-29 2011-06-29 Ray tracing core and ray tracing method

Country Status (1)

Country Link
KR (1) KR101284324B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9728000B2 (en) 2013-10-22 2017-08-08 Samsung Electronics Co., Ltd. Apparatus and method of using acceleration structure in ray tracing

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150057868A (en) 2013-11-20 2015-05-28 삼성전자주식회사 Method and apparatus for traversing binary tree in a ray tracing system
KR102537529B1 (en) 2015-10-27 2023-05-26 삼성전자 주식회사 Ray tracing apparatus and method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100894136B1 (en) * 2006-08-31 2009-04-20 세종대학교산학협력단 An image detection equipment and the method which applied the KD-tree search algorithm of the non-stack type for ray tracing
KR100843292B1 (en) * 2006-12-15 2008-07-03 연세대학교 산학협력단 Apparatus and Method for Ray Tracing Using Lookup Table
KR100903777B1 (en) * 2007-08-24 2009-06-19 연세대학교 산학협력단 Method and apparatus for ray tracing using adaptive multi-hierarchy kd-tree algorithm in 3d ray tracing system
KR101089638B1 (en) * 2009-10-09 2011-12-06 양성봉 Rendering apparatus/method using ray tracing apparatus/method for accelerating intersection testing

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9728000B2 (en) 2013-10-22 2017-08-08 Samsung Electronics Co., Ltd. Apparatus and method of using acceleration structure in ray tracing

Also Published As

Publication number Publication date
KR101284324B1 (en) 2013-07-08

Similar Documents

Publication Publication Date Title
US10504253B2 (en) Conservative cell and portal graph generation
Teschner et al. Collision detection for deformable objects
US11127198B2 (en) Graphics processing using directional representations of lighting at probe positions within a scene
Izadi et al. Kinectfusion: real-time 3d reconstruction and interaction using a moving depth camera
Duguet et al. Flexible point-based rendering on mobile devices
GB2537973A (en) Systems and methods for soft shadowing in 3-D rendering
JP2017188093A (en) Importance sampling for determining light map
JP6864495B2 (en) Drawing Global Illumination in 3D scenes
CN111788608A (en) Hybrid ray tracing method for modeling light reflection
CN113034657B (en) Rendering method, device and equipment for illumination information in game scene
CN117280387A (en) Displacement micro-grid for ray and path tracing
Roger et al. Whitted ray-tracing for dynamic scenes using a ray-space hierarchy on the GPU
KR101284324B1 (en) Ray tracing core and ray tracing method
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
US6924805B2 (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
Drobot Quadtree displacement mapping with height blending
Kunert et al. Efficient point cloud rasterization for real time volumetric integration in mixed reality applications
Mateo et al. Hierarchical, Dense and Dynamic 3D Reconstruction Based on VDB Data Structure for Robotic Manipulation Tasks
KR101208826B1 (en) Real time polygonal ambient occlusion method using contours of depth texture
Kolivand et al. Simulated real-time soft shadow in mixed reality using fuzzy logic
Bender et al. HW3D: A tool for interactive real-time 3D visualization in GIS supported flood modelling
Forstmann et al. Visualizing large procedural volumetric terrains using nested clip-boxes

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