KR102051903B1 - Apparatus and method for traversing hierarchical acceleration structure - Google Patents

Apparatus and method for traversing hierarchical acceleration structure Download PDF

Info

Publication number
KR102051903B1
KR102051903B1 KR1020120068424A KR20120068424A KR102051903B1 KR 102051903 B1 KR102051903 B1 KR 102051903B1 KR 1020120068424 A KR1020120068424 A KR 1020120068424A KR 20120068424 A KR20120068424 A KR 20120068424A KR 102051903 B1 KR102051903 B1 KR 102051903B1
Authority
KR
South Korea
Prior art keywords
node
distance
pop
search
level
Prior art date
Application number
KR1020120068424A
Other languages
Korean (ko)
Other versions
KR20130124125A (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 US13/870,073 priority Critical patent/US9390545B2/en
Publication of KR20130124125A publication Critical patent/KR20130124125A/en
Application granted granted Critical
Publication of KR102051903B1 publication Critical patent/KR102051903B1/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

현재 탐색 노드가 리프 노드(leaf node)인지 여부를 판단하고, 상기 현재 탐색 노드가 리프 노드(leaf node)인 경우, 상기 현재 탐색 노드로부터 팝 레벨(pop level)까지의 제1 거리 및 루트 노드(root node)로부터 상기 팝 레벨까지의 제2 거리를 연산한 후, 상기 제1 거리와 상기 제2 거리를 비교하여 공간 탐색 재시작 위치를 결정하는 공간 가속 구조 탐색 장치 및 방법을 제공한다.It is determined whether the current search node is a leaf node, and if the current search node is a leaf node, a first distance from the current search node to a pop level and a root node ( After calculating the second distance from the root node to the pop level, and compares the first distance and the second distance to provide a spatial acceleration structure search apparatus and method.

Description

공간 가속 구조 탐색 장치 및 방법{APPARATUS AND METHOD FOR TRAVERSING HIERARCHICAL ACCELERATION STRUCTURE}Spatial Accelerated Structure Navigation Apparatus and Method {APPARATUS AND METHOD FOR TRAVERSING HIERARCHICAL ACCELERATION STRUCTURE}

아래의 실시예들은 레이 트레이싱(ray tracing)에서의 공간 가속 구조 탐색 장치 및 방법에 관한 것이다.The following embodiments are directed to an apparatus and method for searching space acceleration structures in ray tracing.

광선 추적 기법이라고도 하는 레이 트레이싱(Ray tracing) 기법은 카메라 시점에서 영상의 각 픽셀을 향한 광선을 따라 입사하는 빛의 경로를 추적하여 영상을 생성하는 방법이다.Ray tracing, also known as ray tracing, is a method of generating an image by tracing a path of light incident along a ray toward each pixel of an image at a camera point of view.

레이 트레이싱 기법은 빛의 물리적 성질, 예를 들어, 반사, 굴절, 투과 등을 렌더링 결과에 반영하므로 고품질 영상을 생성할 수 있다.Ray tracing techniques reflect the physical properties of light, such as reflections, refractions, and transmissions, in the rendering results, resulting in high quality images.

레이 트레이싱 기법은 더욱 사실적인 장면을 렌더링 해야 하는 영화나 애니메이션 등의 3차원 렌더링 분야에서 널리 사용되고 있다.Ray tracing techniques are widely used in the field of 3D rendering, such as movies and animations that need to render more realistic scenes.

레이 트레이싱 기법은 3차원 객체를 화면에 투영(projection) 하면서 영상을 생성하는 래스터화(rasterization) 기법에 비해 상대적으로 계산이 복잡하고 느려 비실시간 렌더링 기법으로 여겨 왔지만, 최근 하드웨어의 발달과 교차 계산 가속을 위한 공간 자료구조 연구 등을 통하여 실시간 광선 추적법이 가능하게 되었다.Ray tracing has been regarded as a non-real time rendering technique because it is relatively complicated to compute and slow compared to rasterization, which generates images by projecting 3D objects onto the screen. Real-time ray tracing has been made possible through research on spatial data structures.

일실시예에 따른 공간 가속 구조 탐색 장치는 현재 탐색 노드가 리프 노드(leaf node)인지 여부를 판단하는 판단부, 상기 현재 탐색 노드가 리프 노드(leaf node)인 경우, 상기 현재 탐색 노드로부터 팝 레벨(pop level)까지의 제1 거리 및 루트 노드(root node)로부터 상기 팝 레벨까지의 제2 거리를 연산하는 연산부 및 상기 제1 거리와 상기 제2 거리를 비교하여 공간 탐색 재시작 위치를 결정하는 제어부를 포함할 수 있다.The apparatus for searching for a spatial acceleration structure according to an embodiment may include a determiner configured to determine whether a current search node is a leaf node, and a pop level from the current search node when the current search node is a leaf node. an operation unit for calculating a first distance to a pop level and a second distance from a root node to the pop level, and a controller to determine a spatial search restart position by comparing the first distance and the second distance. It may include.

일측에 따르면, 상기 제어부는 상기 제1 거리가 상기 제2 거리에 비하여 짧은 경우, 상기 현재 탐색 노드를 상기 공간 탐색 재시작 위치로 결정할 수 있다.According to one side, the controller may determine the current search node as the spatial search restart position when the first distance is shorter than the second distance.

일측에 따르면, 상기 제어부는 상기 제2 거리가 상기 제1 거리에 비하여 짧은 경우, 상기 루트 노드를 상기 공간 탐색 재시작 위치로 결정할 수 있다.According to one side, if the second distance is shorter than the first distance, the controller may determine the root node as the spatial search restart position.

일측에 따르면, 상기 제어부는 상기 제1 거리가 상기 제2 거리에 비하여 짧은 경우, 상기 현재 탐색 노드에서 상기 팝 레벨에 위치한 팝 노드(pop node) 방향으로 공간 탐색을 수행하도록 제어할 수 있다.According to one side, if the first distance is shorter than the second distance, the controller may control to perform a spatial search in the direction of the pop node located in the pop level in the current search node.

일측에 따르면, 상기 제어부는 상기 제1 거리가 상기 제2 거리에 비하여 짧은 경우, 상기 현재 탐색 노드에서 상기 팝 레벨까지 이동한 후, 상기 팝 레벨에서 탐색된 노드에 대한 형제 노드를 다음 탐색 노드로 선택할 수 있다.According to one side, if the first distance is shorter than the second distance, the controller moves from the current search node to the pop level, and then the sibling node for the node searched at the pop level to the next search node; You can choose.

일측에 따르면, 상기 제어부는 상기 제2 거리가 상기 제1 거리에 비하여 짧은 경우, 상기 루트 노드에서 상기 팝 레벨에 위치한 팝 노드(pop node) 방향으로 공간 탐색을 수행하도록 제어할 수 있다.According to one side, if the second distance is shorter than the first distance, the controller may control to perform a spatial search in the direction of the pop node located in the pop level at the root node.

일측에 따르면, 상기 제어부는 상기 제2 거리가 상기 제1 거리에 비하여 짧은 경우, 상기 루트 노드에서 상기 팝 레벨 전까지 이동한 후, 상기 팝 레벨의 노드 중 탐색되지 않은 노드를 다음 탐색 노드로 선택할 수 있다. According to one side, if the second distance is shorter than the first distance, the controller may move from the root node until the pop level, and then select the undiscovered node among the nodes of the pop level as the next search node. have.

일측에 따른 공간 가속 구조 탐색 장치는 상기 현재 탐색 노드가 리프 노드(leaf node)인 경우, 트레일(trail) 값이 0인 레벨 중에 가장 큰 레벨을 상기 팝 레벨로 선택하는 선택부를 더 포함할 수 있다.According to an aspect, the apparatus for searching a spatial acceleration structure may further include a selector configured to select, as the pop level, the largest level among a level having a trail value of 0 when the current search node is a leaf node. .

일측에 따르면, 상기 제어부는 상기 재시작 노드를 결정하는 경우, 상기 팝 레벨의 트레일 값을 1로 변경하고 상기 팝 레벨보다 큰 레벨의 트레일 값을 모두 0으로 변경할 수 있다.According to one side, when determining the restart node, the controller may change the trail value of the pop level to 1 and all trail values of a level greater than the pop level to 0.

일측에 따르면, 상기 리프 노드 및 상기 팝 노드는 부모 노드(parent node) 포인터를 포함할 수 있다.According to one side, the leaf node and the pop node may include a parent node (parent node) pointer.

일실시예에 따른 공간 가속 구조 탐색 방법은 현재 탐색 노드가 리프 노드(leaf node)인지 여부를 판단하는 단계, 상기 현재 탐색 노드가 리프 노드(leaf node)인 경우, 상기 현재 탐색 노드로부터 팝 레벨(pop level)까지의 제1 거리 및 루트 노드(root node)로부터 상기 팝 레벨까지의 제2 거리를 연산하는 단계 및 상기 제1 거리와 상기 제2 거리를 비교하여 공간 탐색 재시작 위치를 결정하는 단계를 포함할 수 있다.In accordance with another aspect of the present invention, a method for searching a space acceleration structure includes determining whether a current search node is a leaf node. calculating a first distance to a pop level and a second distance from a root node to the pop level; and comparing the first distance and the second distance to determine a spatial search restart position. It may include.

도 1은 일실시예에 따른 공간 가속 구조 탐색 장치의 구성을 도시한 블록도이다.
도 2는 일실시예에 따른 트리 탐색 알고리즘을 도시한 도면이다.
도 3은 일측에 따른 노드 자료 구조에 BVH 공간 탐색 구조를 적용한 예를 도시한 도면이다.
도 4는 일측에 따른 스택 팝 이전의 트리 탐색 구조를 도시한 도면이다.
도 5는 일측에 따른 스택 팝 이후의 트리 탐색 구조를 도시한 도면이다.
도 6은 다른 측면에 따른 스택 팝 이전의 트리 탐색 구조를 도시한 도면이다.
도 7은 다른 측면에 따른 스택 팝 이후의 트리 탐색 구조를 도시한 도면이다.
도 8은 일실시예에 따른 공간 가속 구조 탐색 방법을 도시한 흐름도이다.
1 is a block diagram illustrating a configuration of an apparatus for searching for a spatial acceleration structure according to an embodiment.
2 is a diagram illustrating a tree search algorithm according to an exemplary embodiment.
3 illustrates an example of applying a BVH spatial search structure to a node data structure according to one side.
4 is a diagram illustrating a tree search structure before a stack pop according to one side.
5 is a diagram illustrating a tree search structure after a stack pop according to one side.
6 is a diagram illustrating a tree search structure before a stack pop according to another aspect.
7 illustrates a tree search structure after a stack pop according to another aspect.
8 is a flowchart illustrating a method of searching for a spatial acceleration structure, according to an exemplary embodiment.

이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 실시예를 상세하게 설명하지만, 실시예에 의해 제한되거나 한정되는 것은 아니다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings and the contents described in the accompanying drawings, but are not limited or limited to the embodiments.

실시예에서 사용되는 용어(terminology)들은 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 사용자, 운용자의 의도 또는 해당 분야의 관례 등에 따라 달라질 수 있다. 따라서, 용어들에 대한 정의는 실시예 전반에 걸친 내용을 토대로 내려져야 할 것이다.
Terminologies used in the embodiments are terms used to properly express the embodiments, which may vary according to the intention of a user, an operator, or customs in the field. Therefore, the definitions of terms should be made based on the contents throughout the embodiments.

일실시예에 따른 공간 가속 구조 탐색 장치는 레이 트레이싱에서 광선과 교차하는 가장 가까운 프리미티브(primitive)를 찾기 위해서 공간 가속 구조(hierarchical acceleration structure)를 적용할 수 있다.According to an embodiment, the apparatus for searching a spatial acceleration structure may apply a spatial acceleration structure to find the closest primitive crossing the ray in ray tracing.

일실시예에 따른 공간 가속 구조 탐색 장치는 kd-tree, BVH, grid 등의 공간 가속 구조를 적용할 수 있다.The apparatus for searching a space acceleration structure according to an embodiment may apply a space acceleration structure such as kd-tree, BVH, grid, or the like.

일실시예에 따른 공간 가속 구조 탐색 장치는 kd-tree를 적용함으로써, 정적인 장면에서 가장 빠른 교차 계산 가속화 자료구조를 적용할 수 있다.According to an embodiment, the apparatus for searching a spatial acceleration structure may apply the fastest cross-computation acceleration data structure in a static scene by applying a kd-tree.

일실시예에 따른 공간 가속 구조 탐색 장치는 동적인 장면에 대해 더욱 빠르게 구성 가능한 BVH(Bounding Volume Hierarchy)와 그리드(grid) 등의 구조를 적용할 수도 있다.The apparatus for searching a space acceleration structure according to an embodiment may apply a structure such as a bounding volume hierarchy (BVH), a grid, and the like, which can be configured more quickly for a dynamic scene.

일실시예에 따르면, 레이 트레이싱의 성능에 있어서 연산량이 많이 요구되는 요소는 렌더링 대상이 되는 프리미티브(Primitive)들을 공간적으로 분할하기 위한 가속 구조 (hierarchical Acceleration Structure)의 생성 및 탐색(Traversal)일 수 있다.According to an embodiment, a factor requiring a large amount of computation in ray tracing performance may be generation and traversal of an acceleration structure for spatially partitioning primitives to be rendered. .

일실시예에 따르면, 레이 트레이싱의 성능에 있어서 연산량이 많이 요구되는 다른 요소는 광선과 프리미티브 사이의 교차 검사(Intersection Test)일 수 있다.According to one embodiment, another factor that requires a large amount of computation in the performance of ray tracing may be an intersection test between a ray and a primitive.

일실시예에 따른 공간 가속 구조 탐색 장치는 공간 가속 구조 탐색 및 교차 검사를 수행하는 경우, 처리해야 하는 노드 정보를 저장하기 위하여 스택(stack)을 사용할 수 있다.According to an embodiment, the apparatus for searching a space acceleration structure may use a stack to store node information to be processed when performing a space acceleration structure search and a cross check.

일실시예에 따른 공간 가속 구조 탐색 장치는 동시에 많은 수의 레이(ray)를 처리하기 위해 하드웨어나 GPU를 사용하는 경우, 레이의 수만큼 스택을 유지할 수 있다.The spatial acceleration structure search apparatus according to an embodiment may maintain a stack as many as the number of rays when hardware or a GPU is used to process a large number of rays at the same time.

일실시예에 따른 공간 가속 구조 탐색 장치는 저장 공간이나 대역폭(bandwidth)의 제한으로 스택을 사용하는데 제약이 있는 경우, 스택리스 알고리즘(stackless algorithm)을 적용하여 스택 연산을 하지 않을 수 있다.According to an embodiment, the apparatus for searching a space acceleration structure may not perform a stack operation by applying a stackless algorithm when there is a limitation in using a stack due to a limitation of storage space or bandwidth.

일실시예에 따른 공간 가속 구조 탐색 장치는 고정된 크기의 버퍼(buffer)를 사용하여 스택 연산을 대체하는 쇼트 스택 알고리즘(short stack algorithm)을 적용할 수도 있다.According to an embodiment, the apparatus for searching a space acceleration structure may apply a short stack algorithm that replaces a stack operation by using a buffer of a fixed size.

일실시예에 따른 공간 가속 구조 탐색 장치는 순행(traversal)을 진행하다 종단 노드에 도착한 경우, 탐색하지 않은 다른 노드를 탐색하기 위하여 순행을 루트(root) 노드로부터 재시작할 수 있다.According to an embodiment, when the apparatus for traversing a spatial acceleration arrives at a traversal node and arrives at an end node, the traversal may restart the traversal from a root node to search for another node that has not been traversed.

일실시예에 따른 공간 가속 구조 탐색 장치는 BVH 트리(tree)를 적용하는 경우, 재시작 트레일(restart trail) 기법을 사용하여 스택리스 알고리즘 또는 쇼트 스택 알고리즘을 적용할 수 있다.The spatial acceleration structure search apparatus according to an embodiment may apply a stackless algorithm or a short stack algorithm using a restart trail technique when applying a BVH tree.

일실시예에 따른 공간 가속 구조 탐색 장치는 공간 가속 구조의 탐색과 교차 검사에서 스택을 사용하지 않고, 재시작 트레일 방식을 더욱 효율적으로 적용할 수 있다.
The apparatus for searching for a space acceleration structure according to an embodiment may apply a restart trail method more efficiently without using a stack in searching and crossing inspection of the space acceleration structure.

도 1은 일실시예에 따른 공간 가속 구조 탐색 장치의 구성을 도시한 블록도이다.1 is a block diagram illustrating a configuration of an apparatus for searching for a spatial acceleration structure according to an embodiment.

일실시예에 따른 공간 가속 구조 탐색 장치는 판단부(110), 연산부(120) 및 제어부(130)를 포함할 수 있다.The apparatus for searching for a spatial acceleration structure according to an embodiment may include a determiner 110, a calculator 120, and a controller 130.

일실시예에 따른 공간 가속 구조 탐색 장치는 판단부(110)를 통하여 현재 탐색 노드가 리프 노드(leaf node)인지 여부를 판단할 수 있다.
The apparatus for searching for a spatial acceleration structure according to an embodiment may determine whether the current search node is a leaf node through the determination unit 110.

일실시예에 따른 공간 가속 구조 탐색 장치는 상기 현재 탐색 노드가 리프 노드(leaf node)인 경우, 연산부(120)를 이용하여 상기 현재 탐색 노드로부터 팝 레벨(pop level)까지의 제1 거리를 연산할 수 있다.According to an embodiment, when the current search node is a leaf node, the spatial acceleration structure search apparatus calculates a first distance from the current search node to a pop level by using the calculator 120. can do.

일실시예에 따른 공간 가속 구조 탐색 장치는 상기 현재 탐색 노드가 리프 노드(leaf node)인 경우, 연산부(120)를 이용하여 루트 노드(root node)로부터 상기 팝 레벨까지의 제2 거리를 연산할 수 있다.
According to an embodiment, when the current search node is a leaf node, the spatial acceleration structure search apparatus may calculate a second distance from a root node to the pop level using the calculator 120. Can be.

일실시예에 따른 공간 가속 구조 탐색 장치의 제어부(130)는 상기 제1 거리와 상기 제2 거리를 비교하여 공간 탐색 재시작 위치를 결정할 수 있다.The controller 130 of the apparatus for searching for a spatial acceleration structure according to an embodiment may determine the spatial search restart position by comparing the first distance and the second distance.

일측에 따른 공간 가속 구조 탐색 장치는, 팝 레벨로부터 루트 노드까지의 거리보다 팝 레벨로부터 현재 탐색 노드가 더 가까운 경우, 현재 탐색 노드를 공간 탐색 재시작 위치로 결정할 수 있다.The spatial acceleration structure search apparatus according to one side may determine the current search node as the spatial search restart position when the current search node is closer than the distance from the pop level to the root node.

즉, 일측에 따른 공간 가속 구조 탐색 장치의 제어부(130)는 상기 제1 거리가 상기 제2 거리에 비하여 짧은 경우, 상기 현재 탐색 노드를 상기 공간 탐색 재시작 위치로 결정할 수 있다.
That is, when the first distance is shorter than the second distance, the controller 130 of the apparatus for searching for a spatial acceleration structure according to one side may determine the current search node as the spatial search restart position.

일측에 따른 공간 가속 구조 탐색 장치는, 팝 레벨로부터 현재 탐색 노드까지의 거리보다 팝 레벨로부터 루트 노드가 더 가까운 경우 루트 노드를 재시작 위치로 결정할 수 있다.The spatial acceleration structure search apparatus according to one side may determine the root node as a restart position when the root node is closer to the pop level than the distance from the pop level to the current search node.

즉, 일측에 따른 공간 가속 구조 탐색 장치의 제어부(130)는 상기 제2 거리가 상기 제1 거리에 비하여 짧은 경우, 상기 루트 노드를 상기 공간 탐색 재시작 위치로 결정할 수 있다.
That is, when the second distance is shorter than the first distance, the controller 130 of the apparatus for searching a space acceleration structure according to one side may determine the root node as the space search restart position.

일실시예에 따른 공간 가속 구조 탐색 장치의 제어부(130)는 상기 제1 거리와 상기 제2 거리를 비교하여 공간 탐색 방향을 결정할 수 있다.The controller 130 of the spatial acceleration structure search apparatus according to an embodiment may determine the spatial search direction by comparing the first distance and the second distance.

일측에 따른 공간 가속 구조 탐색 장치는, 팝 레벨로부터 루트 노드까지의 거리보다 팝 레벨로부터 현재 탐색 노드가 더 가까운 경우 현재 탐색 노드에서 팝 노드 방향으로 공간을 탐색할 수 있다.According to an aspect, the apparatus for searching a space acceleration structure may search a space in the direction of the pop node from the current search node when the current search node is closer to the pop node than the distance from the pop level to the root node.

즉, 일측에 따른 공간 가속 구조 탐색 장치의 제어부(130)는 상기 제1 거리가 상기 제2 거리에 비하여 짧은 경우, 상기 현재 탐색 노드에서 상기 팝 레벨에 위치한 팝 노드(pop node) 방향으로 공간 탐색을 수행하도록 제어할 수 있다.
That is, when the first distance is shorter than the second distance, the controller 130 of the apparatus for searching for a spatial acceleration structure according to one side searches for a space in a direction of a pop node located at the pop level in the current search node. It can be controlled to perform.

일측에 따른 공간 가속 구조 탐색 장치는, 팝 레벨로부터 루트 노드까지의 거리보다 팝 레벨로부터 현재 탐색 노드가 더 가까운 경우 팝 레벨 상의 형제 노드를 다음 탐색 노드로 선택할 수 있다.The spatial acceleration structure search apparatus according to one side may select a sibling node on the pop level as the next search node when the current search node is closer than the distance from the pop level to the root node.

즉, 일측에 따른 공간 가속 구조 탐색 장치의 제어부(130)는 상기 제1 거리가 상기 제2 거리에 비하여 짧은 경우, 상기 현재 탐색 노드에서 상기 팝 레벨까지 이동한 후, 상기 팝 레벨에서 탐색된 노드에 대한 형제 노드를 다음 탐색 노드로 선택할 수 있다.
That is, when the first distance is shorter than the second distance, the controller 130 of the apparatus for searching a space acceleration structure according to one side moves from the current search node to the pop level and then searches for the node at the pop level. The sibling node for can be selected as the next search node.

일측에 따른 공간 가속 구조 탐색 장치는, 팝 레벨로부터 현재 탐색 노드까지의 거리보다 팝 레벨로부터 루트 노드가 더 가까운 경우 루트 노드에서 팝 노드 방향으로 공간을 탐색할 수도 있다.According to an aspect, the apparatus for searching a space acceleration structure may search for space in the direction of the pop node from the root node when the root node is closer to the pop node than the distance from the pop level to the current search node.

즉, 일측에 따른 공간 가속 구조 탐색 장치의 제어부(130)는 상기 제2 거리가 상기 제1 거리에 비하여 짧은 경우, 상기 루트 노드에서 상기 팝 레벨에 위치한 팝 노드(pop node) 방향으로 공간 탐색을 수행하도록 제어할 수 있다.
That is, when the second distance is shorter than the first distance, the controller 130 of the apparatus for searching for a spatial acceleration structure according to one side performs spatial search from the root node toward a pop node located at the pop level. Can be controlled to perform.

일측에 따른 공간 가속 구조 탐색 장치는, 팝 레벨로부터 현재 탐색 노드까지의 거리보다 팝 레벨로부터 루트 노드가 더 가까운 경우 루트 노드 이하 노드를 다음 탐색 노드로 선택할 수 있다.The spatial acceleration structure search apparatus according to one side may select a node below the root node as the next search node when the root node is closer from the pop level than the distance from the pop level to the current search node.

즉, 일측에 따른 공간 가속 구조 탐색 장치의 제어부(130)는 상기 제2 거리가 상기 제1 거리에 비하여 짧은 경우, 상기 루트 노드에서 상기 팝 레벨 전까지 이동한 후, 상기 팝 레벨의 노드 중 탐색되지 않은 노드를 다음 탐색 노드로 선택할 수 있다.
That is, if the second distance is shorter than the first distance, the controller 130 of the apparatus for searching for a space acceleration structure according to one side moves after the root node until the pop level, and then does not search among the nodes of the pop level. You can select the next node as the next search node.

일측에 따른 공간 가속 구조 탐색 장치는 상기 현재 탐색 노드가 리프 노드(leaf node)인 경우, 트레일(trail) 값이 0인 레벨 중에 가장 큰 레벨을 상기 팝 레벨로 선택하는 선택부(140)를 더 포함할 수 있다.The spatial acceleration structure search apparatus according to one side further selects the selection unit 140 for selecting the largest level among the levels having a trail value of 0 as the pop level when the current search node is a leaf node. It may include.

일측에 따른 공간 가속 구조 탐색 장치는 팝 레벨을 선정하여 상기 재시작 노드를 결정하는 경우, 제어부(130)를 이용하여 상기 팝 레벨의 트레일 값을 1로 변경하고 상기 팝 레벨보다 큰 레벨의 트레일 값을 모두 0으로 변경할 수 있다.When the apparatus for searching for a spatial acceleration structure according to one side determines the restart node by selecting a pop level, the trail value of the pop level is changed to 1 by using the controller 130 and a trail value having a level greater than the pop level is used. You can change them all to zero.

일측에 따르면, 상기 리프 노드 및 팝 노드는 부모 노드(parent node) 포인터를 포함할 수 있다.
According to one side, the leaf node and the pop node may include a parent node (parent node) pointer.

도 2는 일실시예에 따른 트리 탐색 알고리즘을 도시한 도면이다.2 is a diagram illustrating a tree search algorithm according to an exemplary embodiment.

도 2를 참조하면, 일실시예에 따른 공간 가속 구조 탐색 장치는 기본적인 트리 탐색 동작과 스택 팝(stack pop) 트리 탐색 동작(210)을 제공할 수 있다.Referring to FIG. 2, the apparatus for searching for a spatial acceleration structure according to an embodiment may provide a basic tree search operation and a stack pop tree search operation 210.

일실시예에 따른 공간 가속 구조 탐색 장치는 스택 팝 연산을 통하여 트레일(trail) 값이 0인 가장 큰 레벨을 검색하여 팝 레벨(pop level)로 설정할 수 있다.According to an embodiment, the apparatus for searching for a spatial acceleration structure may search for the largest level having a trail value of 0 and set it to a pop level through a stack pop operation.

일실시예에 따른 공간 가속 구조 탐색 장치는 설정된 팝 레벨의 트레일의 값을 1로 설정할 수 있다.The apparatus for searching for a spatial acceleration structure according to an embodiment may set a value of a trail of a set pop level to one.

일실시예에 따른 공간 가속 구조 탐색 장치는 팝 레벨 이후의 모든 트레일의 값을 0으로 설정할 수 있다.According to an exemplary embodiment, the apparatus for searching space acceleration structures may set all trail values after the pop level to zero.

일실시예에 따른 공간 가속 구조 탐색 장치는 쇼트 스택(short stack)이 비어 있는 경우, 상기 제1 거리와 상기 제2 거리를 각각 계산하여 팝 레벨이 현재 레벨에 더 가까우면, 현재 탐색 노드부터 부모 노드 방향으로 팝 레벨까지 이동할 수 있다.According to an embodiment, when the short stack is empty, the spatial acceleration structure search apparatus calculates the first distance and the second distance, respectively, and if the pop level is closer to the current level, the parent from the current search node. You can move to the pop level in the direction of the node.

일실시예에 따른 공간 가속 구조 탐색 장치는 현재 탐색 노드부터 부모 노드 방향으로 팝 레벨까지 이동한 후, 팝 레벨의 수행된 팝 노드의 형제 노드를 다음 탐색 노드로 선택할 수 있다.According to an embodiment, the apparatus for searching for a spatial acceleration structure may move from a current search node to a parent node to a pop level, and then select a sibling node of a performed pop node of a pop level as a next search node.

일실시예에 따른 공간 가속 구조 탐색 장치는 쇼트 스택(short stack)이 비어 있는 경우, 상기 제1 거리와 상기 제2 거리를 각각 계산하여 팝 레벨이 루트 레벨에 더 가까우면, 현재 탐색 노드를 루트 노드로 설정할 수 있다.According to an embodiment, when the short stack is empty, the spatial acceleration structure search apparatus calculates the first distance and the second distance, respectively, and if the pop level is closer to the root level, route the current search node. Can be set to a node.

일실시예에 따른 공간 가속 구조 탐색 장치는 다음 탐색 노드를 루트 노드로 설정한 경우, 현재 레벨을 0으로 설정하여 공간 탐색을 재시작 할 수 있다.According to an embodiment, when the apparatus for searching for a spatial acceleration structure sets the next search node as a root node, the space search may be restarted by setting the current level to zero.

일실시예에 따른 공간 가속 구조 탐색 장치는 쇼트 스택(short stack)이 비어 있지 않은 경우, 쇼트 스택으로부터 노드를 로드(load)하여 다음 탐색 노드로 설정할 수 있다.According to an embodiment, when the short stack is not empty, the spatial acceleration structure search apparatus may load a node from the short stack and set it as the next search node.

일실시예에 따른 공간 가속 구조 탐색 장치는 쇼트 스택으로부터 노드를 로드(load)하여 다음 탐색 노드로 설정한 경우, 현재 레벨을 팝 노드(pop level)로 설정할 수 있다.
The spatial acceleration structure discovery apparatus according to an embodiment may load a node from a short stack and set it as a next discovery node, and set the current level to a pop node.

도 3은 일측에 따른 노드 자료 구조에 BVH 공간 탐색 구조를 적용한 예를 도시한 도면이다.3 illustrates an example of applying a BVH spatial search structure to a node data structure according to one side.

도 3을 참조하면, 일측에 따른 공간 가속 구조 탐색 장치는 BVH 공간 탐색 구조를 사용할 수 있다. 그러나, 본 발명이 BVH 공간 탐색 구조에 한정되는 것은 아니다.Referring to FIG. 3, the apparatus for searching a space acceleration structure according to one side may use a BVH spatial search structure. However, the present invention is not limited to the BVH spatial search structure.

일측에 따른 공간 가속 구조 탐색 장치에 적용되는 공간 탐색 구조는 3차원 바운딩 박스(bounding box) 좌표 및 해당 노드에 대한 두 자식 노드(child node)의 포인터를 가질 수 있다.The spatial search structure applied to the apparatus for searching a space acceleration structure according to one side may have a three-dimensional bounding box coordinate and a pointer of two child nodes to the corresponding node.

일측에 따른 공간 가속 구조 탐색 장치에 적용되는 공간 탐색 구조는 트리 위쪽 방향으로의 이동하기 위한 부모 노드(parent node)의 포인터(pointer)를 가질 수 있다.
The spatial search structure applied to the apparatus for searching a space acceleration structure according to one side may have a pointer of a parent node for moving upward in the tree.

도 4 내지 7은 일측에 따른 트리 탐색 동작의 예를 도시한 도면이다.4 to 7 illustrate examples of a tree search operation according to one side.

도 4 내지 도 7에 도시된 각각의 노드는 r을 루트 노드(root node)로 가정하고, c를 현재 탐색 노드(node)로 가정하고, p를 팝 노드(pop node)로 가정하여 설명하도록 한다.Each node illustrated in FIGS. 4 to 7 assumes r as a root node, assumes c as a current search node, and assumes p as a pop node. .

도 4 내지 도 7에 도시된 트리(tree) 좌측의 0 또는 1의 숫자는 해당 레벨(level)의 트레일 값으로 가정하여 설명하도록 한다.The numbers 0 or 1 on the left side of the tree illustrated in FIGS. 4 to 7 are assumed to be trail values of the corresponding level.

일측에 따르면, 각각의 트레일 값은 부모 노드에서 설정되는 값이기 때문에 각각의 노드에 대한 상위 노드에 표기됨을 가정하여 설명하도록 한다.
According to one side, since each trail value is a value set in the parent node, it will be described on the assumption that it is indicated in the upper node for each node.

도 4는 일측에 따른 스택 팝 이전의 트리 탐색 구조를 도시한 도면이다.4 is a diagram illustrating a tree search structure before a stack pop according to one side.

도 4를 참조하면, 일측에 따른 공간 가속 구조 탐색 장치는 현재 탐색 노드가 리프 노드(leaf node)이므로, 스택(stack)을 팝(pop)할 수 있다.
Referring to FIG. 4, since the current search node is a leaf node, the apparatus for searching for a spatial acceleration structure according to one side may pop a stack.

도 5는 일측에 따른 스택 팝 이후의 트리 탐색 구조를 도시한 도면이다.5 is a diagram illustrating a tree search structure after a stack pop according to one side.

도 5를 참조하면, 일측에 따른 공간 가속 구조 탐색 장치는 도 4에 도시된 스택을 팝하는 경우, 트레일 값이 0인 것 중에 가장 큰 레벨인 팝 노드(pop node)의 레벨을 팝 레벨(pop level)로 선택할 수 있다.Referring to FIG. 5, when the apparatus for searching space acceleration structure according to one side pops the stack illustrated in FIG. 4, the level of the pop node, which is the largest level among trail values of 0, is popped. level).

일측에 따른 공간 가속 구조 탐색 장치는 팝 레벨(pop level)을 선택한 경우, 선택된 팝 노드의 트레일을 1로 변경하고, 상기 선택된 팝 레벨보다 큰 레벨의 트레일을 모두 0으로 변경할 수 있다.According to an embodiment, the apparatus for searching a spatial acceleration structure may change a trail of a selected pop node to 1 and change a trail of a level greater than the selected pop level to 0 when a pop level is selected.

일측에 따른 공간 가속 구조 탐색 장치는 팝 레벨이 현재 탐색 노드에 더 가까운 위치에 있기 때문에, 현재 탐색 노드로부터 부모 노드 방향으로 팝 노드까지 이동할 수 있다.
The spatial acceleration structure search apparatus according to one side may move from the current search node to the pop node in the direction of the parent node because the pop level is located closer to the current search node.

도 6은 다른 측면에 따른 스택 팝 이전의 트리 탐색 구조를 도시한 도면이다.6 is a diagram illustrating a tree search structure before a stack pop according to another aspect.

도 6을 참조하면, 일측에 따른 공간 가속 구조 탐색 장치는 현재 탐색 노드가 리프 노드(leaf node)이므로, 스택(stack)을 팝(pop)할 수 있다.
Referring to FIG. 6, the apparatus for searching space acceleration structures according to one side may pop a stack because the current search node is a leaf node.

도 7은 다른 측면에 따른 스택 팝 이후의 트리 탐색 구조를 도시한 도면이다.7 illustrates a tree search structure after a stack pop according to another aspect.

도 7을 참조하면, 일측에 따른 공간 가속 구조 탐색 장치는 도 6에 도시된 스택을 팝하는 경우, 트레일 값이 0인 것 중에 가장 큰 레벨인 팝 노드(pop node)의 레벨을 팝 레벨(pop level)로 선택할 수 있다.Referring to FIG. 7, when the apparatus for searching space acceleration structure according to one side pops the stack illustrated in FIG. 6, the level of a pop node, which is the largest level among trail values of 0, is popped. level).

일측에 따른 공간 가속 구조 탐색 장치는 팝 레벨(pop level)을 선택한 경우, 선택된 팝 노드의 트레일을 1로 변경하고, 상기 선택된 팝 레벨보다 큰 레벨의 트레일을 모두 0으로 변경할 수 있다.According to an embodiment, the apparatus for searching a spatial acceleration structure may change a trail of a selected pop node to 1 and change a trail of a level greater than the selected pop level to 0 when a pop level is selected.

일측에 따른 공간 가속 구조 탐색 장치는 팝 레벨이 루트 노드에 더 가까운 위치에 있기 때문에, 루트 노드를 다음 탐색 노드로 선택하여 탐색을 재시작 할 수 있다.
The spatial acceleration structure search apparatus according to one side may restart the search by selecting the root node as the next search node because the pop level is located closer to the root node.

아래에서는 일실시예에 따른 공간 가속 구조 탐색 방법을 설명하도록 한다.
Hereinafter, a method of searching for a spatial acceleration structure according to an embodiment will be described.

도 8은 일실시예에 따른 공간 가속 구조 탐색 방법을 도시한 흐름도이다.8 is a flowchart illustrating a method of searching for a spatial acceleration structure, according to an exemplary embodiment.

도 8을 참조하면, 일실시예에 따른 공간 가속 구조 탐색 장치는 공간 탐색 알고리즘에 따라 현재 노드를 탐색할 수 있다(810).Referring to FIG. 8, the apparatus for searching for a spatial acceleration structure according to an embodiment may search for a current node according to a spatial search algorithm (810).

일실시예에 따른 공간 가속 구조 탐색 장치는 현재 탐색 노드가 리프 노드(leaf node)인지 여부를 판단할 수 있다(820).
The apparatus for searching for a spatial acceleration structure according to an embodiment may determine whether the current search node is a leaf node (820).

일실시예에 따른 공간 가속 구조 탐색 장치는 현재 탐색 노드가 리프 노드(leaf node)가 아닌 경우, 상기 공간 탐색 알고리즘에 따라 다음 노드를 탐색할 수 있다(830).If the current search node is not a leaf node, the apparatus for searching for a spatial acceleration structure according to an embodiment may search for the next node according to the spatial search algorithm (830).

일실시예에 따른 공간 가속 구조 탐색 장치는 현재 탐색 노드가 리프 노드(leaf node)인 경우, 상기 현재 탐색 노드로부터 팝 레벨(pop level)까지의 제1 거리 및 루트 노드(root node)로부터 상기 팝 레벨까지의 제2 거리를 연산할 수 있다(840).
According to an embodiment, when the current search node is a leaf node, the spatial acceleration structure search apparatus may include a first distance from the current search node to a pop level and the pop node from a root node. The second distance to the level may be calculated (840).

일실시예에 따른 공간 가속 구조 탐색 장치는 상기 제1 거리와 상기 제2 거리를 비교하여 공간 탐색 재시작 위치를 결정할 수 있다(850).In operation 850, the spatial acceleration structure search apparatus determines the spatial search restart position by comparing the first distance with the second distance.

일측에 따른 공간 가속 구조 탐색 장치는, 팝 레벨로부터 루트 노드까지의 거리보다 팝 레벨로부터 현재 탐색 노드가 더 가까운 경우, 현재 탐색 노드를 공간 탐색 재시작 위치로 결정할 수 있다.The spatial acceleration structure search apparatus according to one side may determine the current search node as the spatial search restart position when the current search node is closer than the distance from the pop level to the root node.

즉, 일실시예에 따른 공간 가속 구조 탐색 장치는 상기 제1 거리가 상기 제2 거리에 비하여 짧은 경우, 상기 현재 탐색 노드를 상기 공간 탐색 재시작 위치로 결정할 수 있다.
That is, the spatial acceleration structure search apparatus according to an embodiment may determine the current search node as the spatial search restart position when the first distance is shorter than the second distance.

일측에 따른 공간 가속 구조 탐색 장치는, 팝 레벨로부터 현재 탐색 노드까지의 거리보다 팝 레벨로부터 루트 노드가 더 가까운 경우 루트 노드를 재시작 위치로 결정할 수 있다.The spatial acceleration structure search apparatus according to one side may determine the root node as a restart position when the root node is closer to the pop level than the distance from the pop level to the current search node.

즉, 일실시예에 따른 공간 가속 구조 탐색 장치는 상기 제2 거리가 상기 제1 거리에 비하여 짧은 경우, 상기 루트 노드를 상기 공간 탐색 재시작 위치로 결정할 수 있다.
That is, the spatial acceleration structure search apparatus according to an embodiment may determine the root node as the spatial search restart position when the second distance is shorter than the first distance.

일실시예에 따른 공간 가속 구조 탐색 장치는 상기 제1 거리와 상기 제2 거리를 비교하여 공간 탐색 방향을 결정할 수 있다(860).In operation 860, the spatial acceleration structure search apparatus determines the spatial search direction by comparing the first distance with the second distance.

일측에 따른 공간 가속 구조 탐색 장치는, 팝 레벨로부터 루트 노드까지의 거리보다 팝 레벨로부터 현재 탐색 노드가 더 가까운 경우 현재 탐색 노드에서 팝 노드 방향으로 공간을 탐색할 수 있다.According to an aspect, the apparatus for searching a space acceleration structure may search a space in the direction of the pop node from the current search node when the current search node is closer to the pop node than the distance from the pop level to the root node.

즉, 일실시예에 따른 공간 가속 구조 탐색 장치는 상기 제1 거리가 상기 제2 거리에 비하여 짧은 경우, 상기 현재 탐색 노드에서 상기 팝 레벨에 위치한 팝 노드(pop node) 방향으로 공간 탐색을 수행하도록 제어할 수 있다.
That is, according to an embodiment, the apparatus for searching for a spatial acceleration structure performs spatial searching in a direction of a pop node located at the pop level at the current search node when the first distance is shorter than the second distance. Can be controlled.

일측에 따른 공간 가속 구조 탐색 장치는, 팝 레벨로부터 루트 노드까지의 거리보다 팝 레벨로부터 현재 탐색 노드가 더 가까운 경우 팝 레벨 상의 형제 노드를 다음 탐색 노드로 선택할 수 있다.The spatial acceleration structure search apparatus according to one side may select a sibling node on the pop level as the next search node when the current search node is closer than the distance from the pop level to the root node.

즉, 일실시예에 따른 공간 가속 구조 탐색 장치는 상기 제1 거리가 상기 제2 거리에 비하여 짧은 경우, 상기 현재 탐색 노드에서 상기 팝 레벨까지 이동한 후, 상기 팝 레벨에서 탐색된 노드에 대한 형제 노드를 다음 탐색 노드로 선택할 수 있다.
That is, when the first distance is shorter than the second distance, the spatial acceleration structure search apparatus according to an embodiment moves from the current search node to the pop level and then siblings to the node searched at the pop level. You can select a node as the next search node.

일측에 따른 공간 가속 구조 탐색 장치는, 팝 레벨로부터 현재 탐색 노드까지의 거리보다 팝 레벨로부터 루트 노드가 더 가까운 경우 루트 노드에서 팝 노드 방향으로 공간을 탐색할 수도 있다.According to an aspect, the apparatus for searching a space acceleration structure may search for space in the direction of the pop node from the root node when the root node is closer to the pop node than the distance from the pop level to the current search node.

즉, 일실시예에 따른 공간 가속 구조 탐색 장치는 상기 제2 거리가 상기 제1 거리에 비하여 짧은 경우, 상기 루트 노드에서 상기 팝 레벨에 위치한 팝 노드(pop node) 방향으로 공간 탐색을 수행하도록 제어할 수 있다.
That is, the spatial acceleration structure search apparatus according to an embodiment controls to perform a spatial search in a direction of a pop node located at the pop level at the root node when the second distance is shorter than the first distance. can do.

일측에 따른 공간 가속 구조 탐색 장치는, 팝 레벨로부터 현재 탐색 노드까지의 거리보다 팝 레벨로부터 루트 노드가 더 가까운 경우 루트 노드 이하 노드를 다음 탐색 노드로 선택할 수 있다.The spatial acceleration structure search apparatus according to one side may select a node below the root node as the next search node when the root node is closer from the pop level than the distance from the pop level to the current search node.

즉, 일실시예에 따른 공간 가속 구조 탐색 장치는 상기 제2 거리가 상기 제1 거리에 비하여 짧은 경우, 상기 루트 노드에서 상기 팝 레벨 전까지 이동한 후, 상기 팝 레벨의 노드 중 탐색되지 않은 노드를 다음 탐색 노드로 선택할 수 있다.
That is, when the second distance is shorter than the first distance, the apparatus for searching for a spatial acceleration structure according to an embodiment moves from the root node to the pop level, and then selects nodes that are not searched among the nodes of the pop level. You can select it with the next navigation node.

일실시예에 따른 공간 가속 구조 탐색 장치는 상기 현재 탐색 노드가 리프 노드(leaf node)인 경우, 트레일(trail) 값이 0인 레벨 중에 가장 큰 레벨을 상기 팝 레벨로 선택할 수 있다.According to an embodiment, when the current search node is a leaf node, the spatial acceleration structure search apparatus may select the largest level among the levels having a trail value of 0 as the pop level.

일실시예에 따른 공간 가속 구조 탐색 장치는 상기 재시작 노드를 결정하는 경우, 상기 팝 레벨의 트레일 값을 1로 변경하고 상기 팝 레벨보다 큰 레벨의 트레일 값을 모두 0으로 변경할 수 있다.
When the apparatus for searching for a spatial acceleration structure according to an embodiment determines the restart node, the trail value of the pop level may be changed to 1 and the trail value of a level greater than the pop level may be changed to 0.

일실시예에 따른 공간 가속 구조 탐색 장치는 스택 없이 공간 가속 구조를 탐색할 수 있다.The apparatus for searching for a space acceleration structure according to an embodiment may search for a space acceleration structure without a stack.

일실시예에 따른 공간 가속 구조 탐색 장치는 공간 탐색 재시작 비용을 감소시켜, 더욱 빠르게 공간 탐색을 진행할 수 있다.The spatial acceleration structure search apparatus according to an embodiment may reduce the space search restart cost, thereby allowing the space search to proceed more quickly.

일실시예에 따른 공간 가속 구조 탐색 장치는 스택 사용이 제한되는 시스템에서, 공간 탐색 재시작 방식의 공간 가속 구조를 탐색하는 경우 팝 레벨(pop level)과의 거리를 고려해서 공간 탐색 재시작 위치 및 방향을 결정할 수 있다.According to an embodiment, the apparatus for searching for a space acceleration structure is configured to determine a space search restart position and direction in consideration of a distance from a pop level when searching for a space acceleration structure of a space search restart method in a system in which stack use is limited. You can decide.

일실시예에 따른 공간 가속 구조 탐색 장치는 공간 가속 구조를 생성하는 경우, 각각의 노드에 부모 노드 포인터를 추가하여, 공간 탐색 재시작 방향을 결정할 수 있다.
According to an embodiment, when the spatial acceleration structure search apparatus generates a spatial acceleration structure, the spatial acceleration restart direction may be determined by adding a parent node pointer to each node.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. The method according to the embodiment may be embodied in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine code, such as produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. Although the embodiments have been described by the limited embodiments and the drawings as described above, various modifications and variations are possible to those skilled in the art from the above description. For example, the described techniques may be performed in a different order than the described method, and / or components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different form than the described method, or other components. Or even if replaced or substituted by equivalents, an appropriate result can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are within the scope of the claims that follow.

110: 판단부
120: 연산부
130: 제어부
140: 선택부
110: judgment
120: calculator
130: control unit
140: selection unit

Claims (17)

현재 탐색 노드가 리프 노드(leaf node)인지 여부를 판단하는 판단부;
상기 현재 탐색 노드가 리프 노드인 경우, 상기 현재 탐색 노드로부터 팝 레벨(pop level)까지의 제1 거리 및 루트 노드(root node)로부터 상기 팝 레벨까지의 제2 거리를 연산하는 연산부;
상기 제1 거리와 상기 제2 거리를 비교하여 공간 탐색 재시작 위치를 결정하는 제어부; 및
상기 현재 탐색 노드가 리프 노드인 경우, 트레일(trail) 값이 0인 레벨들 중 하나의 레벨을 상기 팝 레벨로 선택하는 선택부를 포함하는 공간 가속 구조 탐색 장치.
A determination unit to determine whether the current search node is a leaf node;
An operation unit calculating a first distance from a current search node to a pop level and a second distance from a root node to the pop level when the current search node is a leaf node;
A controller configured to determine a spatial search restart position by comparing the first distance with the second distance; And
And a selection unit for selecting one of the levels having a trail value of 0 as the pop level when the current search node is a leaf node.
제1항에 있어서,
상기 제어부는,
상기 제1 거리가 상기 제2 거리에 비하여 짧은 경우, 상기 현재 탐색 노드를 상기 공간 탐색 재시작 위치로 결정하는 공간 가속 구조 탐색 장치.
The method of claim 1,
The control unit,
And if the first distance is shorter than the second distance, determine the current search node as the spatial search restart position.
제1항에 있어서,
상기 제어부는,
상기 제2 거리가 상기 제1 거리에 비하여 짧은 경우, 상기 루트 노드를 상기 공간 탐색 재시작 위치로 결정하는 공간 가속 구조 탐색 장치.
The method of claim 1,
The control unit,
And determine the root node as the spatial search restart position when the second distance is shorter than the first distance.
제1항에 있어서,
상기 제어부는,
상기 제1 거리가 상기 제2 거리에 비하여 짧은 경우, 상기 현재 탐색 노드에서 상기 팝 레벨에 위치한 팝 노드(pop node) 방향으로 공간 탐색을 수행하는 공간 가속 구조 탐색 장치.
The method of claim 1,
The control unit,
And performing a spatial search in a direction of a pop node located at the pop level in the current search node when the first distance is shorter than the second distance.
제1항에 있어서,
상기 제어부는,
상기 제1 거리가 상기 제2 거리에 비하여 짧은 경우, 상기 현재 탐색 노드에서 상기 팝 레벨까지 이동한 후, 상기 팝 레벨에서 탐색된 노드에 대한 형제 노드를 다음 탐색 노드로 선택하는 공간 가속 구조 탐색 장치.
The method of claim 1,
The control unit,
A space acceleration structure searching apparatus for selecting a sibling node for a node searched at the pop level as a next search node after moving from the current search node to the pop level when the first distance is shorter than the second distance. .
제1항에 있어서,
상기 제어부는,
상기 제2 거리가 상기 제1 거리에 비하여 짧은 경우, 상기 루트 노드에서 상기 팝 레벨에 위치한 팝 노드 방향으로 공간 탐색을 수행하는 공간 가속 구조 탐색 장치.
The method of claim 1,
The control unit,
And searching for a space in the direction of the pop node located at the pop level at the root node when the second distance is shorter than the first distance.
제1항에 있어서,
상기 제2 거리가 상기 제1 거리에 비하여 짧은 경우, 상기 루트 노드에서 상기 팝 레벨 전까지 이동한 후, 상기 팝 레벨의 노드들 중 탐색되지 않은 노드를 다음 탐색 노드로 선택하는 공간 가속 구조 탐색 장치.
The method of claim 1,
And if the second distance is shorter than the first distance, moves from the root node to the pop level and then selects an undiscovered node among the nodes of the pop level as the next search node.
삭제delete 제1항에 있어서,
상기 제어부는,
재시작 노드를 결정하는 경우, 상기 팝 레벨의 트레일 값을 1로 변경하고 상기 팝 레벨보다 높은 레벨들의 트레일 값들을 모두 0으로 변경하되,
상기 트레일 값이 0인 레벨들 중 하나의 레벨은 상기 트레일 값이 0인 레벨들 중 가장 큰 레벨인 공간 가속 구조 탐색 장치.
The method of claim 1,
The control unit,
When determining the restart node, change the trail value of the pop level to 1 and change all trail values of levels higher than the pop level to 0,
And one of the levels with the trail value of zero is the largest level among the levels with the trail value of zero.
제1항에 있어서,
상기 리프 노드 및 상기 팝 레벨에 위치한 팝 노드는 부모 노드(parent node) 포인터를 포함하는 공간 가속 구조 탐색 장치.
The method of claim 1,
And the leaf node and the pop node located at the pop level include a parent node pointer.
현재 탐색 노드가 리프 노드인지 여부를 판단하는 단계;
상기 현재 탐색 노드가 리프 노드인 경우, 상기 현재 탐색 노드로부터 팝 레벨까지의 제1 거리 및 루트 노드로부터 상기 팝 레벨까지의 제2 거리를 연산하는 단계;
상기 제1 거리와 상기 제2 거리를 비교하여 공간 탐색 재시작 위치를 결정하는 단계; 및
상기 현재 탐색 노드가 리프 노드인 경우, 트레일 값이 0인 레벨들 중에 가장 높은 레벨을 상기 팝 레벨로 선택하는 단계를 포함하는 공간 가속 구조 탐색 방법.
Determining whether the current search node is a leaf node;
If the current search node is a leaf node, calculating a first distance from the current search node to a pop level and a second distance from a root node to the pop level;
Determining a spatial search restart position by comparing the first distance and the second distance; And
If the current search node is a leaf node, selecting the highest level among the levels having a trail value of 0 as the pop level.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020120068424A 2012-05-04 2012-06-26 Apparatus and method for traversing hierarchical acceleration structure KR102051903B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/870,073 US9390545B2 (en) 2012-05-04 2013-04-25 Apparatus and method for traversing hierarchical acceleration structure

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261642619P 2012-05-04 2012-05-04
US61/642,619 2012-05-04

Publications (2)

Publication Number Publication Date
KR20130124125A KR20130124125A (en) 2013-11-13
KR102051903B1 true KR102051903B1 (en) 2019-12-04

Family

ID=49853209

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120068424A KR102051903B1 (en) 2012-05-04 2012-06-26 Apparatus and method for traversing hierarchical acceleration structure

Country Status (1)

Country Link
KR (1) KR102051903B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101993835B1 (en) * 2013-02-25 2019-06-27 삼성전자주식회사 Method and apparatus for adaptive stack management
KR101587158B1 (en) * 2014-02-10 2016-01-20 주식회사 티맥스데이터 Method and apparatus for searching node by using tree index
KR102537529B1 (en) 2015-10-27 2023-05-26 삼성전자 주식회사 Ray tracing apparatus and method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030018652A1 (en) 2001-04-30 2003-01-23 Microsoft Corporation Apparatus and accompanying methods for visualizing clusters of data and hierarchical cluster classifications

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPP923799A0 (en) * 1999-03-16 1999-04-15 Canon Kabushiki Kaisha Method for optimising compilation of compositing expressions

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030018652A1 (en) 2001-04-30 2003-01-23 Microsoft Corporation Apparatus and accompanying methods for visualizing clusters of data and hierarchical cluster classifications

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Samuli Laine, "Restart Trail for Stackless BVH Traversal", High Performance Graphics (2010)

Also Published As

Publication number Publication date
KR20130124125A (en) 2013-11-13

Similar Documents

Publication Publication Date Title
KR102197067B1 (en) Method and Apparatus for rendering same region of multi frames
EP3002732B1 (en) Method and apparatus for generating and traversing acceleration structure
KR102604737B1 (en) METHOD AND APPARATUS for generating acceleration structure
US10497167B2 (en) Method and apparatus for generating acceleration structure
KR101697238B1 (en) Image processing apparatus and method
KR102161749B1 (en) Method and apparatus for performing ray tracing for rendering a frame
US9390545B2 (en) Apparatus and method for traversing hierarchical acceleration structure
US9495792B2 (en) Method and apparatus for traversing binary tree in ray tracing system
KR102242566B1 (en) Apparatus and method for processing ray tracing
US20150091894A1 (en) Method and apparatus for tracing ray using result of previous rendering
KR101705072B1 (en) Image processing apparatus and method
JP2014199543A (en) Prediction method, generation method, and recording medium
US10460506B2 (en) Method and apparatus for generating acceleration structure
KR102051903B1 (en) Apparatus and method for traversing hierarchical acceleration structure
KR102252374B1 (en) Ray-tracing Unit and Method for processing ray data
US20130207967A1 (en) Image processing apparatus and method
KR102042539B1 (en) Method and apparatus for ray tracing
KR102193683B1 (en) Apparatus and method for traversing acceleration structure in a ray tracing system
KR102537530B1 (en) Method and apparatus for generating acceleration structure
KR102467031B1 (en) Method for generating and traverse acceleration structure
KR20110051315A (en) Image processing apparatus and method
KR20150034062A (en) Method and Apparatus for routing data included in same group and re-configuring rendering unit
KR20150126264A (en) Rendering system for manufacturing ray and method thereof

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant