KR100959349B1 - A method for accelerating terrain rendering based on quadtree using graphics processing unit - Google Patents

A method for accelerating terrain rendering based on quadtree using graphics processing unit Download PDF

Info

Publication number
KR100959349B1
KR100959349B1 KR1020090054996A KR20090054996A KR100959349B1 KR 100959349 B1 KR100959349 B1 KR 100959349B1 KR 1020090054996 A KR1020090054996 A KR 1020090054996A KR 20090054996 A KR20090054996 A KR 20090054996A KR 100959349 B1 KR100959349 B1 KR 100959349B1
Authority
KR
South Korea
Prior art keywords
vertices
vertex
tree
value
block
Prior art date
Application number
KR1020090054996A
Other languages
Korean (ko)
Inventor
신병석
이은석
강동수
Original Assignee
인하대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인하대학교 산학협력단 filed Critical 인하대학교 산학협력단
Priority to KR1020090054996A priority Critical patent/KR100959349B1/en
Application granted granted Critical
Publication of KR100959349B1 publication Critical patent/KR100959349B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Remote Sensing (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)

Abstract

PURPOSE: A method for accelerating terrain rendering based on a quad-tree using a graphic processing unit is provided to prevent the decrease of the speed caused by the creation of lots of vertices. CONSTITUTION: Through the selection of an LOD(Level Of Detail), nodes of each block are searched. By a hierarchical VFC(View Frustum Culling), the inner vertices among the vertices of searched nodes are proliferated in a quad-tree. Plural visible vertices are created(S100), and the patch for removal of a crack is created through a neighbor node inspection between the created meshes(S200).

Description

그래픽스 처리 유닛을 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법{A METHOD FOR ACCELERATING TERRAIN RENDERING BASED ON QUADTREE USING GRAPHICS PROCESSING UNIT}A METHOD FOR ACCELERATING TERRAIN RENDERING BASED ON QUADTREE USING GRAPHICS PROCESSING UNIT}

본 발명은 지형 렌더링 방법을 가속화하는 방법에 관한 것으로서, 보다 구체적으로는 그래픽스 처리 유닛(Graphics Processing Unit; GPU)을 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법에 관한 것이다.The present invention relates to a method for accelerating a terrain rendering method, and more particularly, to a method for accelerating a photo tree-based terrain rendering method using a graphics processing unit (GPU).

지형 렌더링은 컴퓨터 게임이나 비행 시뮬레이션 등에서 사실적인 야외 장면을 표현하는데 많이 사용된다. 지형 렌더링에서는 거대한 입력 데이터를 다루기 때문에, 이와 동일한 해상도의 메시를 생성하면 대용량의 비디오 메모리(video memory)를 탑재한 최신 그래픽스 하드웨어에서조차도 처리하기 힘들다. 따라서 결과 영상의 화질을 적절히 유지하는 메시 간략화 기법들을 적용해야 한다.Terrain rendering is often used to represent realistic outdoor scenes in computer games and flight simulation. Because terrain rendering handles huge input data, creating meshes of the same resolution can be difficult to handle, even on modern graphics hardware with large amounts of video memory. Therefore, we need to apply the mesh simplification techniques to properly maintain the quality of the resulting image.

사진트리(quadtree)는 2차원 공간을 효율적으로 표현하는 계층 자료구조이다. 사진트리는 지형 렌더링에서 많이 사용되는 메시 간략화 기법인 연속 상세단계(Continuous level of detail) 기법과 시각 절두체 선별 기법에 효과적이다. 사 진트리는 고화질의 지형 영상을 실시간으로 생성할 수 있게 하지만, 그래픽스 하드웨어의 렌더링 파이프라인에서는 vertex array나 텍스처 등 순차데이터(sequential data)만 처리가 가능하므로, 사진트리와 같은 계층 자료구조는 사용할 수 없다. 따라서 사진트리를 이용하는 방법들은 CPU에서 수행되고 이로 인해 화질이 떨어지거나 속도가 저하되는 문제가 생긴다. 따라서 지형 렌더링에 필요한 사진트리를 그래픽스 하드웨어의 렌더링 파이프라인에서 사용 가능하도록 함으로써 GPU만을 이용하여 사진트리 기반의 지형 모델을 렌더링하는 기법을 고안할 필요성이 있다.A quadtree is a hierarchical data structure that efficiently represents a two-dimensional space. Photo tree is effective for continuous level of detail technique and visual frustum screening technique, which is a mesh simplification technique used in terrain rendering. Photo trees allow the generation of high-quality terrain images in real time, but in the rendering pipeline of graphics hardware, only sequential data such as vertex arrays and textures can be processed, so hierarchical data structures such as photo trees cannot be used. none. Therefore, the methods using the photo tree are performed in the CPU, which causes a problem of deterioration or speed of the image. Therefore, there is a need to devise a technique for rendering a photo tree-based terrain model using only the GPU by making the photo tree necessary for the terrain rendering available in the rendering pipeline of the graphics hardware.

그러나 GPU만을 이용하여 사진트리 기반의 지형 모델을 렌더링하는 방법은 불필요한 연산과 지나치게 많은 정점들의 생성으로 인하여 속도 저하가 발생할 수 있으므로, GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법을 고안할 필요성 또한 있다.However, rendering a photo tree-based terrain model using only the GPU may cause a slowdown due to unnecessary computation and generation of too many vertices. Therefore, a method of accelerating a photo tree-based terrain rendering method using a GPU may be devised. There is also a need.

본 발명은 기존에 제안된 방법들의 상기와 같은 문제점들을 해결하기 위해 제안된 것으로서, 노드 탐색 과정에서 시각 절두체 선별을 함께 진행함으로써, 또한 정점의 좌표 값들 중 사용하지 않는 좌표 값들을 버퍼로 이용함으로써, GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법을 제공하는 것을 그 목적으로 한다.The present invention has been proposed to solve the above problems of the conventionally proposed methods, by performing visual frustum screening in the node search process, and also by using unused coordinate values among the coordinate values of the vertex as a buffer. An object of the present invention is to provide a method for accelerating a phototree-based terrain rendering method using a GPU.

상기한 목적을 달성하기 위한 본 발명의 특징에 따른, 그래픽스 처리 유닛(Graphics Processing Unit, 이하 GPU)을 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법은,According to an aspect of the present invention for achieving the above object, a method for accelerating a photo-tree-based terrain rendering method using a graphics processing unit (GPU),

(1) 상세단계(LOD) 선택을 통해 각 블록에 포함된 지형을 구성할 노드들을 탐색하고, 상기 탐색된 노드들의 각 정점(Vertex)들 중 시각 절두체 선별(Hierarchical View Frustum Culling, 이하 VFC)에 의해 시야의 안쪽에 있는 정점들을 사진트리로 증식시키며 복수의 가시 정점(visible vertices)들을 생성하는 단계;(1) Search for nodes that will make up the terrain included in each block by selecting the detailed level (LOD), and in the Hierarchical View Frustum Culling (VFC) among the vertices of the searched nodes. Multiplying the vertices inside the field of view into the picture tree to generate a plurality of visible vertices;

(2) 상기 생성된 복수의 가시 정점들로부터 삼각 메시를 생성하고, 상기 생성된 메시들 간의 이웃 노드 검사를 통해 크랙 제거를 위한 패치를 생성하여 상기 메시를 패치된 블록 메시로 변환하는 단계; 및(2) generating a triangular mesh from the generated plurality of visible vertices, generating a patch for crack removal through neighbor node inspection between the generated meshes, and converting the mesh into a patched block mesh; And

(3) 상기 패치된 블록들로 구성된 삼각 메시에 고도 필드로부터 높이 값을 적용하고, 노말 맵으로 쉐이딩 하여 지형 영상으로 렌더링하는 단계를 포함하는 것을 그 구성상의 특징으로 한다.(3) applying the height value from the altitude field to the triangular mesh composed of the patched blocks, shading to a normal map and rendering the terrain image.

바람직하게는, 상기 렌더링 파이프라인은, 기하 음영 단계(Geometry Shader stage, 이하 GS) 및 스트림 출력 단계(Stream Output stage, 이하 SO)를 포함하고,Advantageously, said rendering pipeline comprises a Geometry Shader stage (GS) and a Stream Output stage (SO),

복수의 가시 정점들을 생성하는 상기 단계 (1)은,The step (1) of generating a plurality of visible vertices,

(a) 상기 렌더링 파이프라인의 초기 값으로 상기 사진트리의 루트 노드에 해당하는 단일 정점을 입력받는 단계;(a) receiving a single vertex corresponding to a root node of the photo tree as an initial value of the rendering pipeline;

(b) 상기 기하 음영 단계(GS)에서 상기 입력받은 단일 정점이 각각의 노드에 대해 상위 레벨로의 탐색 여부를 판별하는 플래그 값(f)에 따른 탐색 조건을 만족하는지 상세단계(LOD) 선택을 하는 단계;(b) In the geometric shading step (GS), whether the input single vertex satisfies the search condition according to the flag value (f) for determining whether to search for each node to a higher level. Making;

(c) 상기 상세단계(LOD) 선택 결과, 상기 단일 정점이 탐색 조건을 만족하지 않으면 상기 단일 정점을 기준으로 분할되는 4개의 서브블록의 중점에 자식 노드들의 정점을 생성하되, 상기 각각의 자식 노드의 경계구(p)가 시각 절두체의 바깥에 위치하면 해당 자식 노드에서는 정점을 생성하지 않으며, 4개의 자식 노드들이 모두 시각 절두체의 바깥에 위치할 경우 상기 자식 노드들에 대한 정점들뿐만 아니라 상기 단일 정점 자신도 삭제하는 시각 절두체 선별(VFC) 연산을 수행하는 단계;(c) if the single vertex does not satisfy the search condition as a result of the detailed step (LOD) selection, a vertex of child nodes is generated at a midpoint of four subblocks divided based on the single vertex, wherein the respective child nodes If the boundary (p) of is located outside of the visual frustum, the corresponding child node does not create a vertex, and if all four child nodes are outside of the visual frustum, the single as well as the vertices for the child nodes Performing a visual frustum screening (VFC) operation that also deletes the vertex itself;

(d) 상기 단계 (c)의 결과를 스트림 출력 단계(SO)를 통해 1차원 버퍼에 저 장하는 단계; 및(d) storing the result of step (c) in a one-dimensional buffer through a stream output step (SO); And

(e) 각 블록들이 위치할 장소에 각 블록의 레벨을 지정한 정점들을 생성하기 위하여 상기 저장된 결과를 상기 렌더링 파이프라인으로 제공하여 각 자식 노드들의 정점마다 생성해야 하는 사진트리의 깊이만큼 상기 단계 (a) 내지 단계 (d)의 과정을 반복 수행하는 단계를 포함할 수 있다.(e) providing the stored result to the rendering pipeline in order to generate the vertices specifying the level of each block in the place where each block is to be located, and the depth of the photo tree to be generated for each vertex of each child node (a) ) To may repeat the process of step (d).

더욱 바람직하게는, 상기 플래그 값(f)은 다음의 수학식을 만족할 수 있다.More preferably, the flag value f may satisfy the following equation.

Figure 112009037285110-pat00001
Figure 112009037285110-pat00001

여기서, v는 view point, p는 경계구(boundary sphere of a region), λ는 미리 지정된 임계값, ℓ은 블록의 레벨을 나타내며, e는 표면 거칠기 값을 각각 나타낸다.Here, v denotes a view point, p denotes a boundary sphere of a region, λ denotes a predetermined threshold value, ℓ denotes a level of a block, and e denotes a surface roughness value.

더욱 바람직하게는, 상기 정점들은 (x, y, z, w)의 4개의 좌표 값을 가지고, 상기 4개의 좌표 값들 중, 사용하지 않는 좌표 값을 버퍼로 이용하며,More preferably, the vertices have four coordinate values of (x, y, z, w), and among the four coordinate values, unused coordinate values are used as a buffer.

상기 각각의 정점에 대하여 수행하는 단계 (b)의 상세단계 선택과 단계 (c)의 시각 절두체 선별(VFC)의 수행에 있어서,In selecting the detailed step of step (b) and performing visual frustum screening (VFC) of step (c) for each vertex,

상기 정점들의 좌표값들 중,Among the coordinate values of the vertices,

상기 z 좌표값에는 상기 정점의 위치를 이용하여 계산된 경계구(p)의 반지름값을 저장하고,The radius value of the boundary (p) calculated using the position of the vertex is stored in the z coordinate value,

상기 w 좌표값에는 상기 상세단계 선택 시에 상기 정점의 레벨보다 상위 레벨로의 탐색 여부를 판별하는 플래그 값(f)을 저장할 수 있다.The w coordinate value may store a flag value f for determining whether to search for a higher level than the level of the vertex when the detail step is selected.

더더욱 바람직하게는, 상기 정점들은 (x, y, z, w)의 4개의 좌표값을 가지고, 상기 4개의 좌표값 중, 사용하지 않는 좌표값을 버퍼로 이용하며,Even more preferably, the vertices have four coordinate values of (x, y, z, w), and among the four coordinate values, unused coordinate values are used as a buffer.

상기 삼각 메시를 구성하는 세 정점에 대하여,For the three vertices that make up the triangular mesh,

상기 삼각 메시에서 삼각형의 양 빗변을 공유하는 정점의 (x, y, z, w) 좌표값 중, z 좌표값에 T-정점(T)과 이웃 정점(N)과의 거리를, w 좌표값에 패치 생성 여부를 판별하는 플래그 값(f)을 저장하고,Among the (x, y, z, w) coordinate values of the vertices that share both hypotenuses of the triangle in the triangular mesh, the z coordinate value is the distance between the T-vertex (T) and the neighboring vertex (N), and the w coordinate value. Stores a flag value (f) that determines whether a patch is created in

빗변에 이웃하는 두 정점 중 하나의 정점의 (x, y, z, w) 좌표값 중, z 좌표값에 이웃 정점(N)의 방향을 저장할 수 있다.The direction of the neighboring vertex N may be stored in the z coordinate value among the (x, y, z, w) coordinate values of one of two vertices adjacent to the hypotenuse.

본 발명에서 제안하고 있는 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법에 따르면, 노드 탐색 과정에서 시각 절두체 선별을 함께 진행함으로써, 너무 많은 정점들의 생성으로 인한 속도 저하를 방지하여 성능을 향상시킬 수 있다. 또한 정점의 좌표값들 중 사용하지 않는 좌표값들을 버퍼로 이용함으로써, GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화할 수 있다.According to the method for accelerating the photo-tree-based terrain rendering method using the GPU proposed in the present invention, by performing visual frustum screening during node search, performance is improved by preventing the slowdown caused by generating too many vertices. You can. In addition, by using unused coordinate values among the coordinate values of the vertex as a buffer, it is possible to accelerate the photo-tree-based terrain rendering method using the GPU.

이하에서는 첨부된 도면들을 참조하여, 본 발명에 따른 실시예에 대하여 상세하게 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 따른 그래픽스 처리 유닛(Graphics Processing Unit, 이하 GPU)을 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법의 흐름도이다. 도 1에 도시된 바와 같이, 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법은, 그래픽스 처리 유닛(Graphics Processing Unit, 이하 GPU)의 렌더링 파이프라인을 이용한 사진트리 기반의 지형 렌더링 방법에 있어서, 상세단계(LOD) 선택을 통해 각 블록에 포함된 지형을 구성할 노드들을 탐색하고, 탐색된 노드들의 각 정점(Vertex)들 중 시각 절두체 선별(Hierarchical View Frustum Culling, 이하 VFC)에 의해 시야의 안쪽에 있는 정점들을 사진트리로 증식시키며 복수의 가시 정점(visible vertices)들을 생성하는 단계(S100), 생성된 복수의 가시 정점들로부터 삼각 메시를 생성하고, 생성된 메시들 간의 이웃 노드 검사를 통해 크랙 제거를 위한 패치를 생성하여 메시를 패치된 블록 메시로 변환하는 단계(S200), 및 패치된 블록들로 구성된 삼각 메시에 고도 필드로부터 높이 값을 적용하고, 노말 맵으로 쉐이딩하여 지형 영상으로 렌더링 하는 단계(S300)를 포함한다.1 is a flowchart of a method of accelerating a photo-tree based terrain rendering method using a graphics processing unit (GPU) according to an embodiment of the present invention. As shown in FIG. 1, a method of accelerating a photo-tree-based terrain rendering method using a GPU according to an embodiment of the present invention includes a photo using a rendering pipeline of a graphics processing unit (GPU). In the tree-based terrain rendering method, the nodes that make up the terrain included in each block are selected through detailed level (LOD) selection, and hierarchical view frustum culling among the vertices of the discovered nodes. By multiplying the vertices inside the field of view by the VFC into the photo tree and generating a plurality of visible vertices (S100), a triangular mesh is generated from the generated plurality of visible vertices. Generating a patch for removing a crack through neighbor node inspection between the meshes and converting the mesh into a patched block mesh (S200), and consisting of the patched blocks Apply the height value from the altitude field of each message, and by shading the normal map and a step (S300) for rendering the topography image.

본 발명은 단계 S100에서의 가시 정점 생성에 앞서, 지형 영상의 렌더링을 위한 전처리 과정을 필요로 하므로 이에 대해 먼저 설명한다. 전처리 과정에서는 상세단계(LOD) 조절을 위한 표면 거칠기 값을 포함하는 사진트리 텍스처(quadtree texture)와 쉐이딩(shading)을 위한 노말 맵(Normal Map)을 생성한다. 사진트리는 각 노드(node)가 4개의 자식노드(child node)를 갖는 계층 자료 구조로서, 2차원 공간을 4개의 4분면으로 재귀적으로 분할하여 공간을 효율적으로 표현한다. 사진 트리는 각 노드마다 부모노드(parent node), 자식노드(child node), 그리고 이웃 노드(neighbor node)의 포인터(pointer) 정보들, 분할된 블록의 레벨값, 고도값(height value), 및 표면거칠기 값(σ)을 포함하는 표면거칠기 정보들을 갖는다. 사진트리 텍스처는 이러한 정보들을 렌더링 파이프 라인에서 사용하기 위해 사진트리를 2차원 텍스처 형태로 변환한 것을 말하며, 이러한 사진트리 텍스처의 구성은 도 2에 잘 나타나 있다.Since the present invention requires a preprocessing process for rendering the terrain image prior to the generation of the visible vertex in step S100, this will be described first. In the preprocessing process, a quadtree texture including a surface roughness value for adjusting a detail level (LOD) and a normal map for shading are generated. The photo tree is a hierarchical data structure in which each node has four child nodes, and the two-dimensional space is recursively divided into four quadrants to efficiently represent the space. The picture tree contains pointer information of parent node, child node, and neighbor node, level of partitioned block, height value, and surface for each node. Surface roughness information including a roughness value σ. The photo tree texture refers to a transformation of the photo tree into a two-dimensional texture for use in the rendering pipeline. The configuration of the photo tree texture is shown in FIG. 2.

도 2는 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법에서 생성되는 사진트리 텍스처를 나타낸 도면이다. 도 2에 도시된 본 발명의 일실시예에 따른 사진트리 텍스처는 전처리 단계에서 생성되며 입력된 고도필드(height field)와 동일한 해상도를 갖는다. 이 텍스처는 도 2와 같이 중앙에 루트 노드(root node)가 저장되고, 이 노드를 중심으로 하여 4개로 분할된 정사각형 서브 블록(sub block)들의 중앙에 자식 노드들을 저장한다. 이것은 트리의 최대 레벨값(Lmax)만큼 재귀적으로 반복한다. 본 발명에서는 표면거칠기 값(σ)을 가진 사진트리 텍스처를 생성한다. 표면 거칠기 값(σ)의 계산은 도 3 및 도 4를 통해 설명한다.2 is a diagram illustrating a photo tree texture generated in a method of accelerating a photo tree-based terrain rendering method using a GPU according to an embodiment of the present invention. The photo tree texture according to the embodiment of the present invention shown in FIG. 2 is generated in the preprocessing step and has the same resolution as the input height field. In this texture, as shown in FIG. 2, a root node is stored at the center, and child nodes are stored at the center of the square sub blocks divided into four around the node. This recursively repeats the tree's maximum level value (L max ). In the present invention, a photo tree texture having a surface roughness value σ is generated. The calculation of the surface roughness value σ is described with reference to FIGS. 3 and 4.

도 3은 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법에서 블록에 포함된 정점 및 기하오차 값을 나타낸 도면이고, 도 4는 블록의 크기에 따라 가중치가 부여된 모습을 나타낸 도면이다. 도 3에 도시된 바와 같이, 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법에서 표면거칠기값(σ)은 상위 단계의 정점(vertex)(vn)과 하위 단계의 에지(edge)(vn')에 대한 고도(height) 차이인 기하 오차 값(geometry error value)(δ)을 사용하여 계산된다. 이 기하 오차 값(δ)이 같은 값일 경우 큰 블록보다 작은 블록에서 상대적으로 더 차이가 커보인다. 따라서 이러한 문제를 해결하기 위하여, 도 4와 같이 블록의 레벨에 따라 가중치(w) 값을 주며, 가중치 값은 상위 레벨일수록 큰 값을 갖는다. 가중치(w) 값이 주어진 기하 오차 값(δ)은 다음의 수학식 1을 통해 구할 수 있다.FIG. 3 is a diagram illustrating vertex and geometric error values included in a block in a method of accelerating a photo-tree-based terrain rendering method using a GPU according to an embodiment of the present invention, and FIG. It is a figure which shows the state given. As shown in FIG. 3, in the photo-tree-based terrain rendering method using a GPU according to an embodiment of the present invention, the surface roughness value σ is a vertex vn of an upper level and an edge of a lower level. It is calculated using the geometry error value δ, which is the height difference for the edge vn '. If the geometric error value δ is the same, the difference seems relatively larger in the smaller block than the larger block. Accordingly, in order to solve this problem, as shown in FIG. 4, a weight (w) is given according to the level of a block, and a weight value has a larger value as a higher level. The geometric error value δ given the weight w value can be obtained through Equation 1 below.

Figure 112009037285110-pat00002
Figure 112009037285110-pat00002

여기서, vn은 사진트리에서 각 블록마다의 상위 단계 정점의 고도 값을 나타내고, vn'은 하위 단계의 에지의 중점에 대한 고도 값을 나타내며, w는 블록의 레벨에 따른 가중치를 나타낸다. 또한, l은 블록의 레벨, k는 사진트리의 레벨 단계를 나타낸다.Here, vn represents the altitude value of the upper stage vertex for each block in the photo tree, vn 'represents the altitude value of the midpoint of the lower stage edge, and w represents the weight according to the level of the block. Where l is the level of the block and k is the level level of the photo tree.

이러한 과정을 거쳐 각 블록마다 4 개의 기하 오차 값들이 계산된다. 각 노 드에 저장될 표면거칠기값은 노드 자신과 하위 노드들의 최대 기하 오차 값이다. 하위 레벨의 값들을 포함하는 이유는 상세단계(Level Of Detail, 이하 LOD)를 적용할 경우에 특정 상세단계의 오차 값(error value)이 더 큼에도 불구하고, 상위 레벨에서 탐색을 중단할 수 있기 때문이다. 수학식 1을 통해 구해진 기하 오차 값을 이용하여 표면 거칠기 값(σ)을 표시하면 다음의 수학식 2와 같이 표현할 수 있다.Through this process, four geometric error values are calculated for each block. The surface roughness value to be stored in each node is the maximum geometric error value of the node itself and subordinate nodes. The reason for including the lower level values is that when the level of detail (LOD) is applied, the search may be stopped at a higher level even though the error value of the specific level is larger. Because. If the surface roughness value σ is displayed using the geometric error value obtained through Equation 1, it may be expressed as Equation 2 below.

Figure 112009037285110-pat00003
Figure 112009037285110-pat00003

여기서, δ는 사진트리에서 상위 단계의 정점(vn)와 하위 단계의 에지의 중점(vn')에 대한 고도 차이를 나타내는 기하 오차 값이고, l은 블록의 레벨, k는 사진트리의 레벨 단계를 나타낸다.Here, δ is a geometric error value representing an altitude difference between the vertex of the upper stage (vn) and the midpoint (vn ') of the lower stage of the photo tree, l is the level of the block, k is the level level of the photo tree. Indicates.

이렇게 전처리 단계에서는 지형 렌더링 시에 지형을 더욱 상세하게 표현하기 위해 표면 거칠기 값이 포함된 사진 트리 텍스처와 렌더링의 대상이 되는 지형을 표현한 일반적인 지도(normal map)를 생성한다.In the preprocessing step, in order to express the terrain in detail when the terrain is rendered, a photo tree texture including surface roughness values and a normal map representing the terrain to be rendered are generated.

단계 S100은, 상세단계(LOD) 선택을 통해 각 블록에 포함된 지형을 구성할 노드들을 탐색하고, 탐색된 노드들의 각 정점(Vertex)들 중 시각 절두체 선별(Hierarchical View Frustum Culling, 이하 VFC)에 의해 시야의 안쪽에 있는 정 점들을 사진트리로 증식시키며 복수의 가시 정점(visible vertices)들을 생성한다. 본 발명에서는 노드 탐색 과정에서 시각 절두체 선별을 함께 진행한다. 일반적으로 사진트리는 2차원 공간을 효율적으로 표현하는 계층 자료 구조로서, 지형 렌더링에서 많이 사용되는 메시 간략화 기법인 연속 상세 단계(Continuous Level Of Detail, 이하 CLOD)와 시각 절두체 선별 기법에 효과적이다. 여기서 상세단계(LOD)란 어떤 물체가 작거나 렌더링 이미지에 별로 기여하는 것이 없을 경우에 좀 더 간략하게 표현된 것을 사용하자는 것으로서 먼 거리의 모델은 덜 정밀하게 표현되어도 시각적으로 큰 차이 없이도 그래픽 파이프라인으로 넘어가는 다각형(polygon)의 개수를 줄여 렌더링의 성능을 향상시키는 기법을 말한다. 그 중 연속 상세 단계(CLOD)는 지형 데이터를 시각화하는 기법 중의 하나로서 시점의 위치와 거리에 따라 동적으로 모델의 상세단계를 조절하게 된다. 고도 필드(height field)로 표현되는 지형 데이터의 경우 실행 시간에 삼각형 집합을 동적으로 생성하는 것이 가능하기 때문에 거리가 변함에 따라 지형의 정점들을 나누거나 합치는 방법으로 상세단계를 동적으로 조절할 수 있다. 사진트리 기반의 연속 상세 단계(CLOD)를 이용한 지형의 표현은 지형과 시점 사이의 거리와 관측방향에 따라 능동적으로 지형의 상세단계를 결정하여 실시간 지형 영상을 얻을 수 있다는 장점이 있다. 본 발명에서 제안하는 연속 상세 단계(CLOD) 방법에는 두 가지 기준이 적용되는데, 그 첫 번째는 관측자와의 거리이고, 두 번째는 표면 거칠기이다. 표현 거칠기를 고려한 방법은 도 5와 도 6을 통해 설명한다.In step S100, the nodes constituting the terrain included in each block are selected through detailed step (LOD) selection, and the hierarchical view frustum culling (VFC) among the vertices of the searched nodes is performed. By multiplying the vertices on the inside of the field of view into a photo tree, a plurality of visible vertices are generated. In the present invention, visual frustum screening is performed along with node search. In general, the photo tree is a hierarchical data structure that efficiently represents two-dimensional space, and is effective for continuous level of detail (CLOD) and visual frustum screening techniques, which are frequently used in terrain rendering. In this case, LOD is to use a more simplified representation when an object is small or does not contribute much to the rendered image. This technique is to improve rendering performance by reducing the number of polygons. The continuous detail step (CLOD) is one of the techniques for visualizing the terrain data, and dynamically adjusts the detail level of the model according to the position and distance of the viewpoint. In the case of terrain data represented as a height field, it is possible to dynamically generate a set of triangles at runtime, so that the detail level can be dynamically adjusted by dividing or combining the vertices of the terrain as the distance changes. . The representation of the terrain using the photo tree-based continuous detail level (CLOD) has the advantage of actively determining the detailed level of the terrain according to the distance between the terrain and the viewpoint and the viewing direction to obtain a real-time terrain image. Two criteria are applied to the CLOD method proposed in the present invention, the first of which is the distance from the observer and the second of which is the surface roughness. The method considering the expression roughness will be described with reference to FIGS. 5 and 6.

도 5는 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법에서 시점 거리를 갖는 상세단계(LOD)의 와이어프레임의 이미지를 나타낸 도면이고, 도 6은 표면 거칠기 값이 적용된 연속 상세 단계(CLOD)에서의 이미지를 나타낸 도면이다. 도 5에 도시된 바와 같이, 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법에서 시점 종속적 상세단계(View dependent LOD)는 관측자로부터 가까운 부분은 자세히, 먼 부분은 덜 자세하게 표현하는 기법으로서, 다음과 같은 수학식 3에 의해 더 상위 레벨로의 탐색 여부를 판별하는 플래그 값 (f)을 구한다.FIG. 5 is a view showing an image of a wireframe of a detailed step (LOD) having a viewpoint distance in a method of accelerating a photo-tree-based terrain rendering method using a GPU according to an embodiment of the present invention, and FIG. A diagram showing an image in a continuous detail step (CLOD) to which a value is applied. As shown in FIG. 5, in the method for accelerating a photo-tree-based terrain rendering method using a GPU according to an embodiment of the present invention, a view dependent LOD is a detail near and far from a viewer. Is a technique of expressing less detail, and obtains a flag value (f) for determining whether to search to a higher level by the following equation (3).

Figure 112009037285110-pat00004
Figure 112009037285110-pat00004

여기서, v는 관측지점(view point), p는 경개구역(boundary sphere of a region), λ는 미리 정해진 문턱값(predefined threshold), ℓ은 블록의 레벨(Block's level)을 나타낸다.Where v is a view point, p is a boundary sphere of a region, λ is a predefined threshold, and l is the block's level.

연속 상세 단계(CLOD) 방법에서 표면거칠기를 고려한 방법은 전처리단계에서 생성한 사진트리 텍스처에 저장된 값을 이용한다. 이 방법은 도 6과 같이 블록의 표면거칠기 값이 작은 경우엔 관측자가 가까워도 덜 자세하게 보여주고, 큰 경우엔 관측자와의 거리가 멀어도 자세하게 보여주는 문제가 생긴다. 따라서, 본 발명에서는 연속 상세 단계(CLOD)에서 표면거칠기를 고려한 방법을 시점 종속적 상세 단 계(View dependent LOD)와 같이 관측자로부터 가까운 부분은 자세히, 먼 부분은 덜 자세하게 나타내기 위해 수학식 3을 다음과 같이 변형한다. 수학식 4에서는 수학식 3을 통해 구한 더 상위 레벨로의 탐색 여부를 판별하는 플래그 값 (f)을 전처리 단계인 S100에서 구한 표면거칠기 값(e)으로 나누어 구한 값을 플래그 (f)값으로 한다.The surface roughness method in the continuous detail step (CLOD) method uses the values stored in the photo tree texture generated in the preprocessing step. In this method, as shown in FIG. 6, when the surface roughness value of the block is small, the observer is shown in less detail even when the observer is close, and when the distance is far from the observer, the problem is shown in detail. Therefore, in the present invention, the method considering the surface roughness in the continuous detail step (CLOD) is represented by Equation 3 in order to express the details closer to the observer and less detailed parts such as the view dependent LOD. Transform as In Equation 4, a flag value (f) obtained by dividing a flag value (f) for determining whether to search to a higher level obtained by Equation 3 by the surface roughness value (e) obtained in the preprocessing step S100 is determined as a flag (f) value. .

Figure 112009037285110-pat00005
Figure 112009037285110-pat00005

여기서, v는 관측지점(view point), p는 경개구역(boundary sphere of a region), λ는 미리 정해진 문턱값(predefined threshold), ℓ은 블록의 레벨(Block's level)을 나타내며, e는 표면거칠기값을 나타낸다.Where v is the view point, p is the boundary sphere of a region, λ is the predefined threshold, ℓ is the block's level, and e is the surface roughness. Indicates a value.

단계 S100에서 시각 절두체 선별(Hierarchical View Frustum Culling, 이하 VFC)은 선별 기법의 하나로서, 선별 기법(Culling Techniques)이란 컴퓨터 그래픽스에서 렌더링하고자 하는 전체 장면 중 최종 이미지에 기여할 것으로 보이지 않는 부분들을 없애는 것을 의미한다. 물론 이때 장면의 최종 이미지에 기여하는 나머지 부분은 렌더링 파이프라인으로 보내진다. 그 중 시각 절두체 선별(VFC)은 상세 레벨 선택 과정을 통해 생성된 삼각형 메시의 수를 줄일 수 있는 가시성 결정을 위한 최적화 방법으로써 시점을 중심으로 시야(field of view) 영역의 바깥쪽에 있는 다각형(polygon)들을 제거하고 시각 절두체에 포함되는 기하 요소들만을 렌더링하 는 것이다. 시각 절두체 선별 과정을 통하여 불필요한 연산을 줄이고, GPU로 전송되어야 할 다각형의 수, 즉 데이터를 감소시킬 수 있기 때문에 렌더링 속도가 더 빨라지게 된다.In step S100, Hierarchical View Frustum Culling (VFC) is one of the screening techniques, which means that the screening techniques (Culling Techniques) means eliminating the parts of the entire scene that you want to render in computer graphics that do not appear to contribute to the final image. do. Of course, the rest that contributes to the final image of the scene is sent to the rendering pipeline. Among them, visual frustum screening (VFC) is an optimization method for determining visibility that can reduce the number of triangular meshes generated through the detail level selection process. Polygons outside the field of view area around the viewpoint ), And render only the geometric elements included in the visual frustum. Visual frustration screening speeds up rendering because it reduces unnecessary computation and reduces the number of polygons that need to be sent to the GPU, which means data.

단계 S100에서는 상세단계(LOD) 선택을 통해 각 블록에 포함된 지형을 구성할 노드들을 탐색하고, 탐색된 노드들의 각 정점들 중 시각 절두체 선별(VFC)에 의해 시야의 안쪽에 있는 정점들을 사진트리로 증식시키며 복수의 가시 정점들을 생성한다. 이를 위해 본 발명에서는 그래픽스 하드웨어의 렌더링 파이프라인에서 기하 음영 단계(Geometry Shader stage, 이하 GS) 및 스트림 출력 단계(Stream Output stage, 이하 SO)을 이용하여 병렬적으로 지형을 구성할 노드를 탐색하는 방법을 제안한다. 이 방법은 효과적으로 지형을 렌더링하기 위해 탑-다운(top-down) 방식으로 노드를 탐색한다. 기하 음영 단계(GS)는 정점들로 구성된 point, line segment, 또는 triangle 등과 같이 이미지를 구성하는 프리미티브(primitive)를 입력받아 기하정보를 수정하거나 하나 이상의 프리미티브를 구성하는 정점들을 생성하거나 삭제할 수 있다. 렌더링 파이프라인의 특성상 기하 음영 단계(GS)에서 각 프리미티브는 병렬적으로 처리되다. 기하 음영 단계(GS)를 통해 새로 생성되거나 수정된 정점 정보들을 담은 서브셋(subset)은 스트림 출력 단계(SO)를 통하여 1D 출력 버퍼(Output Buffer)로 순차적으로 출력된다. 이러한 기하 음영 단계(GS)와 스트림 출력 단계(SO)의 기능과 각 정점의 (x,y) 좌표값을 사용해 기존 사진트리에서 문제가 되었던 재귀연산과 포인터 문제를 해결할 수 있다. 시각 절두체 선 별(VFC)에 의해 복수의 가시 정점들을 생성하는 과정은 도 7과 같은 흐름에 의해 이루어진다.In step S100, the nodes constituting the terrain included in each block are selected through detailed level (LOD) selection, and among the vertices of the searched nodes, the vertices inside the field of view are selected by visual frustum screening (VFC). Multiply to create a plurality of visible vertices. To this end, in the present invention, a method for searching for nodes to form terrain in parallel using a geometry shader stage (GS) and a stream output stage (SO) in a rendering pipeline of graphics hardware. Suggest. This method traverses nodes in a top-down fashion to effectively render the terrain. The geometric shading step GS may receive primitives constituting an image, such as a point, a line segment, or a triangle composed of vertices, to modify geometric information or to generate or delete vertices constituting one or more primitives. Due to the nature of the rendering pipeline, each primitive is processed in parallel during the geometric shading phase (GS). The subset containing the newly generated or modified vertex information through the geometric shading step GS is sequentially output to the 1D output buffer through the stream output step SO. Using the functions of the geometric shading stage (GS) and the stream output stage (SO) and the (x, y) coordinate values of each vertex, it is possible to solve the problem of recursion and pointers, which have been a problem in the existing photo tree. The process of generating a plurality of visible vertices by visual frustum screening (VFC) is performed by the flow as shown in FIG. 7.

도 7은 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법에서 시각 절두체 선별(VFC)에 의해 복수의 가시 정점을 생성하는 과정을 나타낸 흐름도이다. 도 7에 도시된 바와 같이, 본 발명의 일실시예에 따른 시각 절두체 선별(VFC)에 의한 복수의 가시 정점 생성에서 렌더링 파이프라인은, 기하 음영 단계(GS) 및 스트림 출력 단계(SO)를 포함하고, 렌더링 파이프라인의 초기 값으로 사진트리의 루트 노드에 해당하는 단일 정점을 입력받는 단계(S110), 기하 음영 단계(GS)에서 입력받은 단일 정점이 각각의 노드에 대해 상위 레벨로의 탐색 여부를 판별하는 플래그 값(f)에 따른 탐색 조건을 만족하는지 상세단계(LOD) 선택을 하는 단계(S120), 상세단계(LOD) 선택 결과, 단일 정점이 탐색 조건을 만족하지 않으면 단일 정점을 기준으로 분할되는 4개의 서브블록의 중점에 자식 노드들의 정점을 생성하되, 각각의 자식 노드의 경계구(p)가 시각 절두체의 바깥에 위치하면 해당 자식 노드에서는 정점을 생성하지 않으며, 4개의 자식 노드들이 모두 시각 절두체의 바깥에 위치하면 자식 노드들에 대한 정점들뿐만 아니라 단일 정점 자신도 삭제하는 시각 절두체 선별(VFC) 연산을 수행하는 단계(S130), 단계 S130의 결과를 스트림 출력 단계(SO)를 통해 1차원 버퍼에 저장하는 단계(S140), 및 각 블록들이 위치할 장소에 각 블록의 레벨을 지정한 정점들을 생성하기 위하여 저장된 결과를 렌더링 파이프라인으로 제공하여 각 자식 노드들의 정 점마다 생성해야 하는 사진트리의 깊이만큼 단계 S110 내지 단계 S140의 과정을 반복 수행하는 단계(S150)를 포함한다.7 is a flowchart illustrating a process of generating a plurality of visible vertices by visual frustum screening (VFC) in a method of accelerating a photo-tree-based terrain rendering method using a GPU according to an embodiment of the present invention. As shown in FIG. 7, the rendering pipeline in the generation of a plurality of visible vertices by visual frustum screening (VFC) according to an embodiment of the present invention includes a geometric shading step (GS) and a stream output step (SO). Receiving a single vertex corresponding to the root node of the photo tree as an initial value of the rendering pipeline (S110) and whether the single vertex received in the geometric shading step (GS) is searched to a higher level for each node; In the step S120 of selecting whether the search condition is satisfied according to the flag value f to determine the step S120, and as a result of the selection of the detail step LOD, if the single vertex does not satisfy the search condition, Create the vertices of the child nodes at the midpoints of the four subblocks that are split.If the boundary (p) of each child node is outside the visual frustum, the child nodes do not generate vertices. When all of the child nodes are located outside the visual frustum, a step of performing a visual frustum screening (VFC) operation that deletes not only the vertices for the child nodes but also a single vertex itself (S130), and outputs the result of step S130 to the stream output step ( And storing the result in the one-dimensional buffer (S140), and generating the vertices in which each block is located at the location where each block is to be provided to the rendering pipeline for each vertex of each child node. And repeating the process of steps S110 to S140 by the depth of the picture tree to be generated (S150).

단계 S110은, 렌더링 파이프라인의 초기 값으로 사진트리의 루트 노드에 해당하는 단일 정점을 입력받는 과정이다. 렌더링 파이프라인은 초기 값으로 사진트리의 루트 노드에 해당하는 단일 정점(single vertex)을 입력받는다. 이 정점은 사진트리 텍스처에서와 같이 노드가 의미하는 블록의 중심 포인트(center point)에 위치한다.Step S110 is a process of receiving a single vertex corresponding to the root node of the photo tree as an initial value of the rendering pipeline. The rendering pipeline receives a single vertex corresponding to the root node of the photo tree as an initial value. This vertex is located at the center point of the block that the node implies, as in the phototree texture.

단계 S120은, 입력받은 단일 정점이 기하 음영 단계(GS)의 각 노드에 대해 상위 레벨로의 탐색 여부를 판별하는 플래그 값(f)에 따른 탐색 조건을 만족하는지 여부를 판단하는 단계이다. 루트 노드에 해당하는 정점은 GS에서 각각의 노드에 대해 앞의 수학식 3 및 수학식 4의 플래그 값(f), 즉, 더 상위 레벨로의 탐색 여부를 판별하는 플래그 값 (f)에 따라 탐색 조건을 만족하는지를 판단한다. 만약 단계 S120에서의 탐색 결과에 따라 다음 단계에서 더 상위 레벨이 존재하면 탐색을 계속하고, 그렇지 않은 경우는 트리의 최대 레벨까지 탐색된 경우이므로 처음으로 회귀하게 된다. Step S120 is a step of determining whether the input single vertex satisfies the search condition according to the flag value f for determining whether to search for a higher level for each node of the geometric shading step GS. The vertex corresponding to the root node is searched according to the flag value (f) of the preceding Equations 3 and 4, i.e., the flag value (f) that determines whether to navigate to a higher level for each node in GS. Determine if the condition is met. If there is a higher level in the next step according to the search result in step S120, the search is continued, otherwise, the search is performed to the maximum level of the tree, and thus the first regression is performed.

단계 S130은, 단계 S120에서의 상세단계(LOD) 선택 결과, 단일 정점이 탐색 조건을 만족하지 않으면 단일 정점을 기준으로 분할되는 4개의 서브블록의 중점에 자식 노드들의 정점을 생성하되, 각각의 자식 노드의 경계구(P)가 시각 절두체의 바깥에 위치할 경우 해당 자식 노드에서는 정점을 생성하지 않으며, 4개의 자식 노드들이 모두 시각 절두체의 바깥에 위치할 경우 자식 노드들에 대한 정점들뿐만 아니라 단일 정점 자신도 삭제하는 시각 절두체 선별(VFC) 연산을 수행한다. 본 발명의 노드 탐색 과정에서 시각 절두체 선별을 함께 진행하는 방법은 도 8을 통해 설명한다. In step S130, as a result of the LOD selection in step S120, if a single vertex does not satisfy the search condition, the vertex of the child nodes is generated at the midpoints of the four subblocks that are divided based on the single vertex. If the node's boundary (P) is located outside of the visual frustum, its child nodes do not create vertices. If all four child nodes are located outside of the visual frustum, then the vertices for the child nodes, as well as the vertices for the child nodes, Perform a Visual Frustum Screening (VFC) operation that also deletes the vertex itself. A method of performing visual frustum screening in the node search process of the present invention will be described with reference to FIG. 8.

도 8은 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법에서의 시각 절두체 선별(VFC) 방법을 나타낸 도면이다. 도 8에 도시된 시각 절두체 선별(VFC)은 앞서 살펴본 바와 같이, 시야의 바깥에 있는 정점들을 선별하여 렌더링하지 않는 방법으로서, 노드 탐색을 할 때 4개의 자식 노드들을 탐색할 때 각 자식 노드의 경계구 (P)가 시각 절두체의 바깥에 있는 경우 그 노드에서는 정점을 생성하지 않는다. 만약 4개의 자식 노드가 전부 시각 절두체의 바깥에 있다면 아무런 정점도 생성하지 않고 자기 자신도 삭제한다. 이렇게 노드를 탐색하는 과정에서 시각 절두체 선별을 적용하면 불필요한 가시 정점들에 대한 연산을 미리 차단할 수 있다.8 is a view showing a visual frustum screening (VFC) method in a method of accelerating a photo-tree-based terrain rendering method using a GPU according to an embodiment of the present invention. As described above, the visual frustum screening (VFC) shown in FIG. 8 is a method of not selecting and rendering vertices outside the field of view, and the boundary of each child node when searching for four child nodes when searching for nodes. If the sphere (P) is outside the visual frustum, the node does not create a vertex. If all four child nodes are outside the visual frustum, then no vertices are created and the self is deleted. Applying visual frustum screening in the process of searching for nodes can block operations on unnecessary visible vertices in advance.

단계 S140은, 단계 S130에서의 생성 및 삭제된 결과를 SO(Stream Output stage)를 통해 1차원 버퍼에 저장한다.In step S140, the result generated and deleted in step S130 is stored in a one-dimensional buffer through a stream output stage (SO).

단계 S150은, 각 블록들이 위치할 장소에 각 블록의 레벨을 지정한 정점들을 생성하기 위해 저장된 결과를 렌더링 파이프라인으로 제공하여 각 자식 정점마다 생성해야 하는 사진트리의 깊이만큼 단계 S110 내지 단계 S140의 과정을 반복 수행한다. 단계 S140에서 저장된 결과는 다시 렌더링 파이프라인으로 피드백되어 각 정점마다 생성해야 하는 사진트리의 깊이(depth)만큼 같은 일을 반복 수행한다. 이 결과로 지형 데이터를 분할한 각 블록들이 위치할 장소에 블록의 레벨을 지정한 정점들이 생성된다. GS의 특징상 각각의 정점마다 병렬 알고리즘이 처리되기 때문에 CPU에서 트리를 검색(traverse)하는 방법보다 빠르다.In step S150, the process of steps S110 to S140 is provided by the depth of the photo tree to be generated for each child vertex by providing the stored result to the rendering pipeline in order to generate the vertices that specify the level of each block in the place where each block is to be located. Repeat this. The result stored in step S140 is fed back to the rendering pipeline and the same thing is repeated as much as the depth of the photo tree to be generated for each vertex. As a result, the vertices that designate the level of the block are generated in the place where each block which divided the terrain data is located. The GS feature is faster than traversing a tree on the CPU because a parallel algorithm is processed for each vertex.

단계 S200은, 생성된 복수의 가시 정점들로부터 삼각 메시를 생성하고, 생성된 메시들 간의 이웃 노드 검사를 통해 크랙 제거를 위한 패치를 생성하여 정점들을 패치된 블록 메시로 변환한다. 단계 S200에서 생성된 복수의 가시 정점들은 이웃(neighbor) 노드들과 블록 레벨(block level)을 비교한 후, 패치된 블록(pached block)으로 변환된다. 이 과정에서 각 노드들 간의 레벨 차로 인하여 크랙(crack)이 발생하게 되는데, 이는 도 9를 통해 알 수 있다.Step S200 generates a triangular mesh from the generated plurality of visible vertices, generates a patch for crack removal through neighbor node inspection between the generated meshes, and converts the vertices into a patched block mesh. The plurality of visible vertices generated in operation S200 are converted into patched blocks after comparing block levels with neighbor nodes. In this process, a crack occurs due to the level difference between the nodes, which can be seen from FIG. 9.

도 9는 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법에서 메시 생성 시에 각 노드들 간의 레벨 차로 인하여 크랙이 발생한 것을 나타낸 도면이다. 도 9에 도시된 것과 같은 크랙의 발생을 없애기 위해서 이웃(neighbor) 정점들을 검사해야 한다. 기존의 방법들에서는 크랙 제거를 위해 가시성 전파 작업을 수행했는데 이 작업은 CPU에서만 이루어졌다. 따라서 본 발명에서는 GPU에서 크랙을 제거하기 위한 방법을 제안하며, 이는 도 10 내지 도 14를 통해 설명한다.FIG. 9 is a diagram illustrating a crack occurring due to a level difference between nodes during mesh generation in a method of accelerating a phototree-based terrain rendering method using a GPU according to an embodiment of the present invention. Neighbor vertices should be examined to eliminate the occurrence of cracks as shown in FIG. Existing methods performed visibility propagation to eliminate cracks, which were only done on the CPU. Therefore, the present invention proposes a method for removing cracks in the GPU, which will be described with reference to FIGS. 10 to 14.

도 10는 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법에서 크랙 제거를 위한 패치를 생성하여 블록을 변환하는 과정을 나타낸 흐름도이고, 도 11은 크랙의 발생 여부에 따라 각각 생성되는 패치를 나타낸 도면이다. 또한, 도 12는 이웃 체크(Neighbor Check)로 찾는 T-정점(T-vertex)를 나타낸 도면이고, 도 13은 패치가 생성되는 과정을, 도 14는 크랙이 제거된 모습을 나타낸 도면이다. 도 10에 도시된 바와 같이, 본 발명의 일실시예에 따른 크랙 제거를 위한 패치를 생성하여 블록을 변환하는 과정은, 단계 S100에서 생성된 복수의 가시 정점들이 나타내는 블록의 상하좌우에 위치한 동일한 레벨의 블록을 갖는 4개의 이웃 정점들의 위치를 계산하는 단계(S210), 위치가 계산된 이웃 정점들에 대하여 앞의 수학식 4를 만족하는 플래그 값(f)을 이용하여 크랙 발생 여부를 판단하고, 판단 결과에 따라 패치를 생성하여 가시 정점들을 패치된 블록 메시로 변환하는 단계(S230), 변환된 블록 메시를 SO를 통해 다시 렌더링 파이프라인으로 피드백하는 단계(S250)를 포함한다.FIG. 10 is a flowchart illustrating a process of converting a block by generating a patch for removing a crack in a method of accelerating a photo-tree-based terrain rendering method using a GPU according to an embodiment of the present invention, and FIG. It is a figure which shows the patch which generate | occur | produces each according to the presence or absence. 12 is a diagram illustrating a T-vertex found by a neighbor check, FIG. 13 is a diagram illustrating a process of generating a patch, and FIG. 14 is a diagram illustrating a state in which a crack is removed. As shown in FIG. 10, the process of transforming a block by generating a patch for crack removal according to an embodiment of the present invention includes the same level located on the top, bottom, left, and right sides of the block represented by the plurality of visible vertices generated in step S100. Computing the position of the four neighboring vertices having the block of (S210), for the neighboring vertices whose position is calculated by using a flag value (f) that satisfies the above equation (4), it is determined whether or not a crack occurs; Generating a patch according to the determination result and converting the visible vertices into the patched block mesh (S230); and feeding back the converted block mesh to the rendering pipeline through the SO (S250).

단계 S210은, 단계 S100에서 생성된 복수의 가시 정점들이 나타내는 블록의 상하좌우에 위치한 동일한 레벨의 블록을 갖는 4개의 이웃 정점들의 위치를 계산한 다. 각 정점은 도 11의 (a)와 같이 자신이 의미하는 블록의 상하좌우에 위치한 동일한 레벨의 블록을 갖는 4개의 이웃 노드들의 위치를 계산할 수 있다.In step S210, the positions of four neighboring vertices having blocks of the same level located on the top, bottom, left, and right sides of the block represented by the plurality of visible vertices generated in step S100 are calculated. Each vertex may calculate the positions of four neighboring nodes having blocks of the same level located on the top, bottom, left, and right sides of the block as shown in FIG.

단계 S230은, 위치가 계산된 이웃 정점들에 대하여 앞의 수학식 4를 만족하는 플래그 값(f)을 이용하여 크랙 발생 여부를 판단하고, 판단 결과에 따라 패치를 생성하여 가시 정점들로 구성된 메시를 패치된 블록 메시로 변환한다. 단계 S230에 대하여는 도 13을 통해 설명한다.In step S230, it is determined whether a crack has occurred using the flag value f that satisfies the above Equation 4 with respect to the neighboring vertices whose positions are calculated, and generates a patch according to the determination result to generate a mesh composed of visible vertices. Convert to a patched block mesh. Operation S230 will be described with reference to FIG. 13.

도 13에 도시된 바와 같이, 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법에서 패치를 생성하여 패치된 블록 메시로 변환하는 단계 S230은, 위치가 계산된 이웃 정점들에 해당하는 각 삼각형(triangle)들을 입력받아 이웃 노드 검사를 실시한 결과, 크랙이 발생한 경우에는 T-정점이 발견된 위치를 기준으로 삼각형을 2조각으로 쪼개는 단계(S232), 및 단계 S232를 사진 트리의 최대 레벨(Lmax) - 1 번 반복하여 패치를 생성하는 단계(S234)를 포함한다.As shown in FIG. 13, step S230 of generating a patch and converting the patch into a patched block mesh in the photo-tree-based terrain rendering method using the GPU according to an embodiment of the present invention is performed to neighboring vertices whose positions are calculated. As a result of performing neighbor node inspection by receiving the corresponding triangles, if a crack occurs, dividing the triangle into two pieces based on the location where the T-vertex is found (S232), and step S232 of the photo tree. Maximum level (L max )-repeating 1 time to generate a patch (S234).

단계 S232는, 위치가 계산된 이웃 정점들에 해당하는 각 삼각형(triangle)들을 입력받아 이웃 노드 검사를 실시한 결과, 크랙이 발생한 경우에는 T-정점이 발견된 위치를 기준으로 삼각형을 2조각으로 쪼갠다. 단계 S232는 단계 S210에서 계산된 이웃 노드들의 위치에 상세단계(LOD)에서 구해진 식을 적용했을 때 더 탐색이 가능한지를 판별한다. 전부 탐색이 불가능하다면 이웃한 블록들이 자신보다 하위 레벨이므로 T-정점(T-vertex)이 발생하지 않는다. 이 경우엔 정점을 도 11(b)의 하단과 같이 2개의 삼각형으로 된 블록 메시로 변환하여 준다. 그리고 더 탐색이 가능하다면 도 12과 같이 하위 레벨 블록의 한 변 위에 T-정점이 생성되기 때문에 크랙이 발생할 수 있다. 도 12에서 T는 T-정점이고, N은 이웃(Neighbor)이다. 이 경우엔 도 11(b)의 상단과 같이 4개의 삼각형으로 구성된 블록 메시로 변환한다. 이와 같이 변환된 메시는 스트림 출력 단계(SO)를 통하여 다시 렌더링 파이프라인으로 피드백되는데, 이때 이웃 검사 결과 크랙이 발생하므로 4개의 삼각형으로 생성된 블록에 패치를 생성해줘야 한다.In step S232, as a result of performing the neighbor node inspection by receiving the triangles corresponding to the neighboring vertices whose positions are calculated, when the crack occurs, the triangle is divided into two pieces based on the position where the T-vertex is found. . Step S232 determines whether further searching is possible when the equation obtained in the detailed step LOD is applied to the positions of neighboring nodes calculated in step S210. If the whole is impossible to search, T-vertex does not occur because neighboring blocks are lower level than themselves. In this case, the vertices are converted into a block mesh of two triangles as shown in the lower part of FIG. If further search is possible, a crack may occur because a T-vertex is generated on one side of the lower level block as shown in FIG. 12. In FIG. 12, T is a T-peak and N is a neighbor. In this case, the block mesh is converted into a block mesh composed of four triangles as shown in the upper part of FIG. The transformed mesh is fed back to the rendering pipeline through the stream output step SO. In this case, a crack is generated as a result of neighboring inspection, so a patch must be generated in a block formed of four triangles.

단계 S234는 단계 S232를 사진 트리의 최대 레벨(Lmax) - 1 번 반복하여 패치를 생성하는 과정으로서, 이때 생성되는 패치는, 단계 S230에서의 판단 결과, 크랙이 발생하지 않으면 이웃 노드들을 이용하여 생성된 2개의 삼각형으로 구성된 블록 메시이고, 크랙이 발생하면 이웃 노드들을 이용하여 생성된 4개의 삼각형으로 구성된 블록 메시이다. 도 13은 패치를 생성하는 모습을 나타낸다. 기하 음영 단계(GS)에선 각 삼각형들을 입력받아 이웃검사를 한 번씩만 한다. 이웃은 도 12의 AB의 중점에서 AT 혹은 BT의 길이만큼 AB에 수직한 정점으로 계산한다. 이 이웃 노드가 더 탐색이 가능하다면 T-정점이 발견된 위치를 기준으로 삼각형을 2조각으로 쪼갠다. 이 결과를 트리의 Lmax - 1번 반복해주어 발생할 모든 크랙에 대해서 패치를 생성해 준다. 그러나 만약 관측자와의 거리만 고려하였다면 이웃과의 상세 레벨 차이는 1 이상 나지 않는다. 그러므로 관측자와의 거리만 고려한 경우에는 1번만 수행하여 연산량을 줄인다. 도 14는 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법에서 크랙이 제거된 모습을 나타낸 도면이다.Step S234 is a process of generating a patch by repeating step S232 at the maximum level (L max )-1 time of the photo tree, wherein the generated patch uses neighboring nodes if no crack occurs as a result of the determination in step S230. It is a block mesh composed of two triangles generated, and when a crack occurs, it is a block mesh composed of four triangles created using neighboring nodes. 13 shows how to create a patch. In the geometric shading phase (GS), each triangle is input and the neighbor test is performed only once. Neighbors are computed as vertices perpendicular to AB by the length of AT or BT at the midpoint of AB in FIG. If this neighbor can be further explored, the triangle is split into two pieces based on the location where the T-vertex is found. Repeat this result L max -1 time in the tree to create a patch for every crack that will occur. However, if only the distance from the observer is taken into account, the level of detail difference from the neighbor is not more than one. Therefore, if only the distance from the observer is taken into account, it is executed only once to reduce the amount of computation. FIG. 14 is a diagram illustrating a state in which a crack is removed in a method of accelerating a photo-tree-based terrain rendering method using a GPU according to an embodiment of the present invention.

단계 S300은, 패치된 블록들로 구성된 삼각 메시에 고도 필드(height field)로부터 높이 값을 적용하고, 노말 맵으로 쉐이딩하여 지형 영상으로 렌더링한다.In operation S300, a height value is applied from a height field to a triangular mesh composed of patched blocks, and is shaded with a normal map to render a terrain image.

그러나, 앞서 설명한 방법은 GPU에서도 CPU와 마찬가지로 사진 트리와 같은 계층 자료 구조를 이용할 수 있도록 함에 비하여 각 정점 혹은 삼각형마다 많은 계산이 필요하다. 정점의 경우엔 상세 단계 선택(LOD)과 시각 절두체 선별(VFC)을 수행하고, 삼각형(Triangle)의 경우엔 이웃 노드(neighbor node) 검사를 하고 패치를 생성한다. 따라서 본 발명에서는 이러한 연산들을 줄이기 위해서 정점의 (x,y,z,w) 값들 중 사용하지 않는 좌표값을 버퍼(buffer)로 이용하여 불필요한 가시 정점들에 대한 연산을 미리 차단하도록 한다.However, the method described above requires much computation for each vertex or triangle as compared to the CPU, which allows hierarchical data structures such as photo trees to be used. In the case of vertices, detailed step selection (LOD) and visual frustum screening (VFC) are performed, and in the case of triangles, neighbor node inspection is performed and patches are generated. Therefore, in the present invention, in order to reduce such operations, unused coordinate values among (x, y, z, w) values of vertices are used as a buffer to block operations on unnecessary visible vertices in advance.

단계 S120에서 각각의 정점에 대하여 수행하는 상세 단계 선택과 단계 S130의 시각 절두체 선별(VFC) 연산 수행에 있어서 각 정점들은 (x, y, z, w)의 4개의 좌표값을 가지고, 이러한 4개의 좌표값 중, 사용하지 않는 좌표값인 (z, w) 값을 버퍼로 이용한다.Each vertex has four coordinate values of (x, y, z, w) in the detailed step selection performed for each vertex in step S120 and the visual frustum screening (VFC) operation in step S130. Among the coordinate values, the unused coordinate value (z, w) is used as a buffer.

정점별로 수행하는 상세 단계 선택(LOD)과 시각 절두체 선별(VFC)은 연산과정에서 경계구(boundary sphere)(수학식 3 또는 4에서의 P)의 반지름을 가장 많이 사용하며, 이값은 매번 정점의 위치를 이용하여 계산을 해야 한다. 이러한 비효율적인 계산을 줄이기 위해 한 정점의 4개의 좌표값 중 z 좌표값에 정점의 위치를 이용하여 계산된 경계구(P)의 반지름값을 저장하여 사용한다. 상위 레벨의 반지름을 구할 경우에도 하위 레벨의 1/2을 취해주면 되기 때문에 이 방법은 효율적이다. 또한, w 좌표값은 상세 단계 선택 시에 현재 정점의 레벨보다 더 상위 레벨로의 탐색 여부를 판별하는 플래그 값(f)을 저장한다. 이로써 상세 단계 선택(LOD)을 마친 노드들에 더 이상 불필요한 상세 단계 선택(LOD)과 시각 절두체 선별(VFC) 판별 공식을 적용하지 않아도 된다.Detailed step selection (LOD) and visual frustum screening (VFC) by vertex use the radius of the boundary sphere (P in Equation 3 or 4) most frequently during the calculation process. Calculate using location. In order to reduce this inefficient calculation, the radius value of the boundary P calculated by using the position of the vertex is stored in the z coordinate value among four coordinate values of one vertex. This method is efficient because the upper level radius needs to be 1/2 of the lower level. In addition, the w coordinate value stores a flag value f for determining whether to search for a level higher than the level of the current vertex when selecting the detail step. This eliminates the need to apply unnecessary detailed step selection (LOD) and visual frustum screening (VFC) discrimination formulas to nodes that have completed the detailed step selection (LOD).

또한, 사용하지 않은 좌표값을 버퍼로 이용하는 것은 삼각 메시의 경우에도 적용이 가능한데, 이웃 노드 검사 시에 패치 생성을 위해서 삼각형을 분할하는데 이때 매번 단계 S210과 같이 이웃 노드의 위치를 계산해 주어야 한다. 이 경우, 도 12에서 삼각 메시를 구성하는 세 정점에 대하여 삼각 메시에서 삼각형의 양 빗변을 공유하는 정점(C)의 (x, y, z, w) 좌표값 중, z 좌표값에 T-정점(T)과 이웃 정점(N)과의 거리를 저장하고, 빗변에 이웃하는 두 정점(A, B) 중 하나의 정점(A)의 z 좌표값에는 이웃 정점(N)의 방향을 저장하면 이러한 연산을 줄일 수 있다. 삼각형을 분할한 후에 각 정점 (C)엔 기존 정점(C) 값의 1/2을 저장하면 된다.In addition, the use of the unused coordinates as a buffer is applicable to the triangular mesh. When the neighbor node is inspected, the triangle is divided to generate a patch. In this case, the position of the neighbor node should be calculated as in step S210. In this case, T-vertexes are set to z coordinate values among (x, y, z, w) coordinate values of vertices C that share both hypotenuses of the triangles in the triangular mesh with respect to the three vertices constituting the triangular mesh in FIG. 12. Storing the distance between (T) and the neighboring vertex (N), and storing the direction of the neighboring vertex (N) in the z coordinate value of one of the two vertices (A, B) neighboring the hypotenuse. You can reduce the operation. After dividing the triangle, each vertex (C) can store 1/2 of the existing vertex (C) value.

단계 S120에서 수행하는 패치 생성은 스트림 출력 단계(SO)를 통하여 반복 연산을 하게 되는데 이때 기존의 방법에선 매번 모든 삼각형에 대하여 T정점이 있는지 없는지를 체크해야 했다. 이러한 불필요한 연산을 줄이기 위해서 패치 생성을 마치거나 크랙이 발생하지 않는 삼각형과 크랙이 발생하는 삼각형을 구분해야 한다. 따라서 삼각형의 한 꼭지점인 정점 (C)의 w 좌표값에 패치 생성 여부를 판별하는 플래그 값을 저장함으로써 반복적인 복잡한 과정의 수행함이 없이 동일한 효과를 얻을 수 있게 된다.The patch generation performed in step S120 is repeated through the stream output step SO. In this case, the conventional method had to check whether or not there were T vertices for every triangle. To reduce these unnecessary operations, you must distinguish between triangles that do not generate patches or triangles that cause cracks. Therefore, by storing a flag value for determining whether a patch is generated in the w coordinate value of the vertex C, which is one vertex of the triangle, the same effect can be obtained without performing a complicated repetitive process.

본 발명은 Intel Core2Duo E8400 CPU에 4GB main memory 를 갖는 시스템에서 수행되었다. 그래픽스 하드웨어는 1GB의 Video memory를 갖는 nVidia 9800GTX(+)를 사용하였고 DirectX 10 라이브러리와 Shader4.0모델을 사용하였다. viewport의 크기는 1024768로 하였다. Puget Sound(20492049)와 Grand Canyon(20492049) Data를 사용하였다.The present invention was performed in a system with 4GB main memory in the Intel Core2Duo E8400 CPU. The graphics hardware used nVidia 9800GTX (+) with 1GB of video memory, DirectX 10 library and Shader4.0 model. The size of the viewport is 1024768. Puget Sound (20492049) and Grand Canyon (20492049) data were used.

다음 표 1은 Puget Sound(20492049)을 렌더링 시에 Threshold 값에 따른 프레임, triangle 수 그리고 CPU의 이용 빈도들의 변화를 나타낸다. 이 값들은 카메라의 이동에 따라 바뀌므로 같은 시점에서 바라본 경우를 체크했다.Table 1 below shows the change of the frame, the number of triangles, and the frequency of use of the CPU according to the threshold value when rendering the Puget Sound (20492049). These values change as the camera moves, so we checked the view from the same point of view.

ThresholdThroshold FPSFPS TriangleTriangle CPU 이용율 CPU utilization 2000020000 236236 24k24k 2%2% 3000030000 139139 46k46k 1%One% 4000040000 101101 65k65k 1%One% 5000050000 7474 78k78k 0%0% 6000060000 6060 102k102k 0%0% 7000070000 4545 130k130k 0%0%

도 15는 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법에서 74 프레임을 보이는 Threshold=5000의 스크린 샷을 나타낸 도면이다. Threshold 값이 늘어나면 상세단계 간격이 커져 정교한 지형을 렌더링할 수 있게 되고 값을 줄이면 상세단계 간격이 촘촘해져 상대적으로 덜 세밀한 지형이 생성된다. CPU에서는 카메라 행렬과 관측 평면(View plane)을 매 프레임 생성을 하기 때문에 GPU에서 하는 연산을 줄여 Frame rate를 높이면 CPU의 사용빈도가 높아진다.FIG. 15 is a diagram illustrating a screen shot of Threshold = 5000 showing 74 frames in a phototree-based terrain rendering method using a GPU according to an embodiment of the present invention. Increasing the Threshold value increases the detail level spacing to render fine terrain, and decreasing the value narrows the detail level spacing to produce relatively less detailed terrain. Since the CPU generates the camera matrix and the view plane every frame, increasing the frame rate by reducing the operation performed by the GPU increases the frequency of CPU usage.

VS는 생성된 vertex들의 geometry morphing, PS는 normal-map을 이용한 shading에만 사용된다. 즉, VS와 PS는 총 4개의 pass중에서 마지막 1개의 Pass에서만 사용되므로 활용빈도가 낮다. 이에 반하여, GS는 총 3개의 패스에서 사용이 되며 SO를 통한 반복수행도 많기 때문에 가장 활용 비율이 높다.VS is only used for geometry morphing of the generated vertices, and PS is used only for shading using normal-maps. That is, VS and PS are used only in the last one of a total of four passes, so the utilization is low. On the other hand, GS is the most utilized since it is used in a total of three passes and there are many iterations through SO.

다음 표 2와 표 3은 LOD 방법에 따른 성능차이를 비교한 것이다. 표 3의 threshold 값은 표 2의 threshold 값을 표면거칠기(e) 값으로 나눈 숫자이다. 사진트리 텍스처에 저장된 표면거칠기 값들의 평균이 0.00231이므로 대략 400배를 해준 값으로 비교하였다. 표면거칠기가 적용된 경우 적용되지 않은 경우에 비하여 Threshold의 변화에 따른 삼각형 개수와 FPS의 변화폭이 안정적인 수치를 보였다. 렌더링 수행중에도 geometry popping이 표면거칠기를 적용한 방법이 훨씬 적게 나타났다. 하지만 표면 거칠기를 고려하기 위해 사진트리 텍스처에 접근하는 과정이 추가가 되었기 때문에 같은 triangle 수를 렌더링했을 때 렌더링 속도가 관측자와의 거리만 고려한 방법보다 떨어진다.Table 2 and Table 3 compare the performance differences according to the LOD method. The threshold value in Table 3 is the number obtained by dividing the threshold value in Table 2 by the surface roughness ( e ) value. Since the average of the surface roughness values stored in the photo tree texture is 0.00231, the comparison was made with a value of approximately 400 times. When the surface roughness was applied, the number of triangles and the variation of FPS were more stable than the thresholds. Much less is how geometry popping applies surface roughness during rendering. However, since the process of accessing the photo tree texture has been added to take into account the surface roughness, the rendering speed is lower than the method considering only the distance to the observer when rendering the same triangle number.

ThresholdThroshold TriangleTriangle FPSFPS CPU 이용율 CPU utilization 100100 10k10k 327327 3%3% 200200 65k65k 143143 1%One% 300300 85k85k 7676 0%0% 400400 130k130k 5555 0%0% 500500 200k200k 3434 0%0% 600600 260k260k 2424 0%0%

ThresholdThroshold TriangleTriangle FPSFPS CPU 이용율 CPU utilization 4000040000 45k45k 102102 1%One% 5000050000 56k56k 7878 0%0% 6000060000 70k70k 6565 0%0% 7000070000 85k85k 5252 0%0% 8000080000 110k110k 4646 0%0% 9000090000 125k125k 3636 0%0%

도 16은 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법에서 LOD 방식에 따른 결과 이미지를 나타낸 도면이다. 여기서 (a)는 시각 종속적 LOD만 적용된 (2049 x 2049) puget sound의 모습이고, (b)는 표면거칠기가 고려된 (2049 x 2049) puget sound의 모습이다. 여기서 상단 (a)image는 threshold가 작을 때의 결과이고, 하단 (b)image는 threshold를 크게 했을 때의 결과이다.16 is a view showing a resultant image according to the LOD method in the photo-tree-based terrain rendering method using a GPU according to an embodiment of the present invention. Where (a) is the (2049 x 2049) puget sound with only visually dependent LOD applied, and (b) is the (2049 x 2049) puget sound with surface roughness considered. The upper (a) image is the result when the threshold is small, and the lower (b) image is the result when the threshold is increased.

도 17은 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법에서의 렌더링 파이프라인에서의 시각 절두체 선별(VFC) 결과를 나타낸 도면이다. 도 17에서 (a)는 다른 시각에서 바라본 결과이고, (b)는 원래의 시각에서 바라본 영상이다.17 is a view showing visual frustum screening (VFC) results in a rendering pipeline in a phototree-based terrain rendering method using a GPU according to an embodiment of the present invention. In FIG. 17, (a) shows the result from another point of view, and (b) shows the image from the original point of view.

다음 표 4는 시각 절두체 선별(VFC)을 통하여 Culling된 지형을 렌더링한 결과이다. 시각 절두체 선별(VFC)을 적용한 결과 위의 표 1에 비하여 생성되는 Triangle 개수가 줄어들었고 FPS는 상승하였다.Table 4 below shows the results of rendering the culled terrain through visual frustum screening (VFC). As a result of the application of visual frustum screening (VFC), the number of generated triangles was reduced and FPS was increased as compared with Table 1 above.

ThresholdThroshold TriangleTriangle FPSFPS CPU 이용율 CPU utilization 4000040000 100k100k 3939 0%0% 5000050000 135k135k 2626 0%0% 6000060000 155k155k 2020 0%0% 7000070000 180k180k 1616 0%0% 8000080000 205k205k 1313 0%0% 9000090000 230k230k 1111 0%0%

본 발명에서는 사진트리-기반 지형을 그래픽스 하드웨어의 렌더링 pipeline만으로 시각화하는 방법을 소개하였다. Shader Model 4.0의 GS와 SO를 통하여 parallel하게 트리 탐색을 하는 동시에 VFC를 수행하여 전체적인 렌더링 성능이 기존의 사진트리-기반의 렌더링 방법들에 비해 향상되었음을 확인할 수 있었다.In the present invention, a method of visualizing a photo tree-based terrain using only a rendering pipeline of graphics hardware is introduced. Through GS and SO of Shader Model 4.0, tree search can be performed in parallel and VFC can be performed to show that the overall rendering performance is improved compared to the existing photo tree-based rendering methods.

이상 설명한 본 발명은 본 발명이 속한 기술분야에서 통상의 지식을 가진 자에 의하여 다양한 변형이나 응용이 가능하며, 본 발명에 따른 기술적 사상의 범위는 아래의 특허청구범위에 의하여 정해져야 할 것이다.The present invention described above may be variously modified or applied by those skilled in the art, and the scope of the technical idea according to the present invention should be defined by the following claims.

도 1은 본 발명의 일실시예에 따른 그래픽스 처리 유닛(Graphics Processing Unit, 이하 GPU)을 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법의 흐름도.1 is a flowchart of a method for accelerating a photo-tree based terrain rendering method using a graphics processing unit (GPU) according to an embodiment of the present invention.

도 2는 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법에서 생성되는 사진트리 텍스처를 나타낸 도면.2 is a view showing a photo tree texture generated in a method for accelerating a photo tree-based terrain rendering method using a GPU according to an embodiment of the present invention.

도 3은 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법에서 블록에 포함된 정점 및 기하오차값을 나타낸 도면.3 is a view showing vertices and geometric error values included in a block in a method of accelerating a photo-tree-based terrain rendering method using a GPU according to an embodiment of the present invention.

도 4는 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법에서 블록의 크기에 따라 가중치가 부여된 모습을 나타낸 도면.4 is a view showing a weighted value according to a block size in a method of accelerating a photo-tree-based terrain rendering method using a GPU according to an embodiment of the present invention.

도 5는 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법에서 시점 거리를 갖는 상세단계(LOD)의 와이어프레임의 이미지를 나타낸 도면.FIG. 5 is a view showing an image of a wireframe of a detailed step (LOD) having a viewpoint distance in a method of accelerating a photo-tree-based terrain rendering method using a GPU according to an embodiment of the present invention. FIG.

도 6은 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법의 표면 거칠기 값이 적용된 연속 상세 단계(CLOD)에서의 이미지를 나타낸 도면.FIG. 6 is a view showing an image in a continuous detail step (CLOD) to which surface roughness values of a method of accelerating a phototree-based terrain rendering method using a GPU according to an embodiment of the present invention are applied. FIG.

도 7은 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법에서 시각 절두체 선별(VFC)에 의해 복수의 가시 정점을 생성하는 과정을 나타낸 흐름도.7 is a flowchart illustrating a process of generating a plurality of visible vertices by visual frustum screening (VFC) in a method of accelerating a phototree-based terrain rendering method using a GPU according to an embodiment of the present invention.

도 8은 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법에서의 시각 절두체 선별(VFC) 방법을 나타낸 도면.8 is a view showing a view frustum screening (VFC) method in a method for accelerating a photo-tree-based terrain rendering method using a GPU according to an embodiment of the present invention.

도 9는 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법에서 메시 생성 시에 각 노드들 간의 레벨 차로 인하여 크랙이 발생한 것을 나타낸 도면.9 is a view showing that a crack occurs due to a level difference between nodes during mesh generation in a method of accelerating a photo-tree based terrain rendering method using a GPU according to an embodiment of the present invention.

도 10은 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법에서 크랙 제거를 위한 패치를 생성하여 블록을 변환하는 과정을 나타낸 흐름도10 is a flowchart illustrating a process of converting a block by generating a patch for crack removal in a method of accelerating a photo-tree-based terrain rendering method using a GPU according to an embodiment of the present invention.

도 11은 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법에서 크랙의 발생여부에 따라 각각 생성되는 패치를 나타낸 도면.FIG. 11 is a view illustrating patches generated according to whether cracks are generated in a method of accelerating a photo-tree-based terrain rendering method using a GPU according to an embodiment of the present invention. FIG.

도 12은 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법에서 이웃 체크(Neighbor Check)로 찾는 T-정점(T-vertex)를 나타낸 도면.12 is a diagram illustrating a T-vertex found by a neighbor check in a method of accelerating a photo-tree-based terrain rendering method using a GPU according to an embodiment of the present invention.

도 13는 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법에서 패치가 생성되는 과정을 나타낸 도면.FIG. 13 illustrates a process of generating a patch in a method of accelerating a photo-tree-based terrain rendering method using a GPU according to an embodiment of the present invention. FIG.

도 14은 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법에서 크랙이 제거된 모습을 나타낸 도면.14 is a view showing a state in which a crack is removed in a method of accelerating a photo-tree-based terrain rendering method using a GPU according to an embodiment of the present invention.

도 15는 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법에서 74 프레임을 보이는 Threshold=5000 의 스크린 샷을 나타낸 도면. FIG. 15 is a diagram illustrating a screen shot of Threshold = 5000 showing 74 frames in a phototree-based terrain rendering method using a GPU according to an embodiment of the present invention. FIG.

도 16은 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법에서 LOD 방식에 따른 결과 이미지를 나타낸 도면.16 is a view showing a resultant image according to the LOD method in the photo-tree-based terrain rendering method using a GPU according to an embodiment of the present invention.

도 17은 본 발명의 일실시예에 따른 GPU를 이용한 사진트리 기반의 지형 렌더링 방법에서의 렌더링 파이프라인에서의 시각 절두체 선별(VFC) 결과를 나타낸 도면.FIG. 17 is a view showing visual frustum screening (VFC) results in a rendering pipeline in a phototree-based terrain rendering method using a GPU according to an embodiment of the present invention. FIG.

<도면 중 주요 부분에 대한 부호의 설명><Explanation of symbols for main parts of the drawings>

S100 : 상세단계(LOD) 선택을 통해 노드를 탐색하고, 시각 절두체 선별(VFC)에 의해 가시 정점(visible vertices)들을 생성하는 단계 S100: Searching for nodes by selecting the detailed level (LOD) and generating visible vertices by visual frustum screening (VFC)

S200 : 이웃 노드 검사 및 크랙 제거를 위한 패치를 생성하는 단계 S200: step of generating a patch for neighbor node inspection and crack removal

S300 : 높이 값 적용 및 지형 영상으로 렌더링하는 단계S300: applying height value and rendering to terrain image

Claims (5)

그래픽스 처리 유닛(Graphics Processing Unit, 이하 GPU)을 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법으로서,As a method for accelerating a phototree-based terrain rendering method using a graphics processing unit (GPU), (1) 상세단계(LOD) 선택을 통해 각 블록에 포함된 지형을 구성할 노드들을 탐색하고, 상기 탐색된 노드들의 각 정점(Vertex)들 중 시각 절두체 선별(Hierarchical View Frustum Culling, 이하 VFC)에 의해 시야의 안쪽에 있는 정점들을 사진트리로 증식시키며 복수의 가시 정점(visible vertices)들을 생성하는 단계;(1) Search for nodes that will make up the terrain included in each block by selecting the detailed level (LOD), and in the Hierarchical View Frustum Culling (VFC) among the vertices of the searched nodes. Multiplying the vertices inside the field of view into the picture tree to generate a plurality of visible vertices; (2) 상기 생성된 복수의 가시 정점들로부터 삼각 메시를 생성하고, 상기 생성된 메시들 간의 이웃 노드 검사를 통해 크랙 제거를 위한 패치를 생성하여 상기 메시를 패치된 블록 메시로 변환하는 단계; 및(2) generating a triangular mesh from the generated plurality of visible vertices, generating a patch for crack removal through neighbor node inspection between the generated meshes, and converting the mesh into a patched block mesh; And (3) 상기 패치된 블록들로 구성된 삼각 메시에 고도 필드로부터 높이 값을 적용하고, 노말 맵으로 쉐이딩 하여 지형 영상으로 렌더링 하는 단계(3) applying a height value from an altitude field to the triangular mesh composed of the patched blocks, shading as a normal map and rendering the terrain image; 를 포함하는 것을 특징으로 하는 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법.Method for accelerating the photo-tree-based terrain rendering method using a GPU comprising a. 제1항에 있어서, 상기 GPU의 렌더링 파이프라인은, 기하 음영 단계(Geometry Shader stage, 이하 GS) 및 스트림 출력 단계(Stream Output stage, 이하 SO)를 포함하고,The rendering pipeline of claim 1, wherein the rendering pipeline of the GPU comprises a geometry shader stage (GS) and a stream output stage (SO), 복수의 가시 정점들을 생성하는 상기 단계 (1)은,The step (1) of generating a plurality of visible vertices, (a) 상기 렌더링 파이프라인의 초기 값으로 상기 사진트리의 루트 노드에 해당하는 단일 정점을 입력받는 단계;(a) receiving a single vertex corresponding to a root node of the photo tree as an initial value of the rendering pipeline; (b) 상기 기하 음영 단계(GS)에서 상기 입력받은 단일 정점이 각각의 노드에 대해 상위 레벨로의 탐색 여부를 판별하는 플래그 값(f)에 따른 탐색 조건을 만족하는지 상세단계(LOD) 선택을 하는 단계;(b) In the geometric shading step (GS), whether the input single vertex satisfies the search condition according to the flag value (f) for determining whether to search for each node to a higher level. Making; (c) 상기 상세단계(LOD) 선택 결과, 상기 단일 정점이 탐색 조건을 만족하지 않으면 상기 단일 정점을 기준으로 분할되는 4개의 서브블록의 중점에 자식 노드들의 정점을 생성하되, 상기 각각의 자식 노드의 경계구(p)가 시각 절두체의 바깥에 위치하면 해당 자식 노드에서는 정점을 생성하지 않으며, 4개의 자식 노드들이 모두 시각 절두체의 바깥에 위치할 경우 상기 자식 노드들에 대한 정점들뿐만 아니라 상기 단일 정점 자신도 삭제하는 시각 절두체 선별(VFC) 연산을 수행하는 단계; (c) if the single vertex does not satisfy the search condition as a result of the detailed step (LOD) selection, a vertex of child nodes is generated at a midpoint of four subblocks divided based on the single vertex, wherein the respective child nodes If the boundary (p) of is located outside of the visual frustum, the corresponding child node does not create a vertex, and if all four child nodes are outside of the visual frustum, the single as well as the vertices for the child nodes Performing a visual frustum screening (VFC) operation that also deletes the vertex itself; (d) 상기 단계 (c)의 결과를 스트림 출력 단계(SO)를 통해 1차원 버퍼에 저장하는 단계; 및(d) storing the result of step (c) in a one-dimensional buffer through a stream output step (SO); And (e) 각 블록들이 위치할 장소에 각 블록의 레벨을 지정한 정점들을 생성하기 위하여 상기 저장된 결과를 상기 렌더링 파이프라인으로 제공하여 각 자식 노드들의 정점마다 생성해야 하는 사진트리의 깊이만큼 상기 단계 (a) 내지 단계 (d)의 과정을 반복 수행하는 단계를 포함하는 것을 특징으로 하는 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법.(e) providing the stored result to the rendering pipeline in order to generate the vertices specifying the level of each block in the place where each block is to be located, and the depth of the photo tree to be generated for each vertex of each child node (a) And repeating the steps of (d) to). 제2항에 있어서, 상기 플래그 값(f)은 아래 수학식을 만족하는 것을 특징으로 하는 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법.3. The method of claim 2, wherein the flag value f satisfies the following equation. 4.
Figure 112009070719018-pat00006
Figure 112009070719018-pat00006
여기서, v는 view point, p는 경계구(boundary sphere of a region), λ는 미리 지정된 임계값, ℓ은 블록의 레벨을 나타내며, e는 표면 거칠기 값을 각각 나타낸다.Here, v denotes a view point, p denotes a boundary sphere of a region, λ denotes a predetermined threshold value, ℓ denotes a level of a block, and e denotes a surface roughness value.
제1항에 있어서, 상기 GPU의 렌더링 파이프라인은, 기하 음영 단계(Geometry Shader stage, 이하 GS) 및 스트림 출력 단계(Stream Output stage, 이하 SO)를 포함하고,The rendering pipeline of claim 1, wherein the rendering pipeline of the GPU comprises a geometry shader stage (GS) and a stream output stage (SO), 상기 단계 (3)은,Step (3), (f) 상기 생성된 복수의 가시 정점들이 나타내는 블록의 상하좌우에 위치한 동일한 레벨의 블록을 갖는 4개의 이웃 정점들의 위치를 계산하는 단계;(f) calculating positions of four neighboring vertices having blocks of the same level located above, below, left and right of the block represented by the generated plurality of visible vertices; (g) 상기 위치가 계산된 이웃 정점들에 대하여 아래 수학식을 만족하는 플래그 값(f)을 이용하여 크랙 발생 여부를 판단하고, 상기 판단 결과에 따라 패치를 생성하여 상기 가시 정점들을 패치된 블록 메시로 변환하는 단계; 및(g) Determining whether or not a crack has occurred by using a flag value f that satisfies the following equation for neighboring vertices whose position is calculated, and generating a patch according to the determination result to patch the visible vertices. Converting to a mesh; And (h) 상기 변환된 블록 메시를 상기 SO를 통해 다시 상기 렌더링 파이프라인으로 피드백 시키는 단계를 포함하는 것을 특징으로 하는 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법.and (h) feeding back the transformed block mesh back to the rendering pipeline via the SO.
Figure 112010021711704-pat00011
Figure 112010021711704-pat00011
여기서, v는 view point, p는 경계구(boundary sphere of a region), λ는 미리 지정된 임계값, ℓ은 블록의 레벨을 나타내며, e는 표면거칠기값을 각각 나타낸다.Here, v denotes a view point, p denotes a boundary sphere of a region, λ denotes a predetermined threshold value, ℓ denotes a level of a block, and e denotes a surface roughness value.
제1항에 있어서, 상기 정점들은 (x, y, z, w)의 4개의 좌표값을 가지고, 상기 4개의 좌표값 중, 사용하지 않는 좌표값을 버퍼로 이용하며,The method of claim 1, wherein the vertices have four coordinate values of (x, y, z, w), and among the four coordinate values, unused coordinate values are used as a buffer. 상기 삼각 메시를 구성하는 세 정점에 대하여,For the three vertices that make up the triangular mesh, 상기 삼각 메시에서 삼각형의 양 빗변을 공유하는 정점의 (x, y, z, w) 좌표값 중, z 좌표값에 T-정점(T)과 이웃 정점(N)과의 거리를, w 좌표값에 패치 생성 여부를 판별하는 플래그 값(f)을 저장하고,Among the (x, y, z, w) coordinate values of the vertices that share both hypotenuses of the triangle in the triangular mesh, the z coordinate value is the distance between the T-vertex (T) and the neighboring vertex (N), and the w coordinate value. Stores a flag value (f) that determines whether a patch is created in 빗변에 이웃하는 두 정점 중 하나의 정점의 (x, y, z, w) 좌표값 중, z 좌표값에 이웃 정점(N)의 방향을 저장하는 것을 특징으로 하는 GPU를 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법.Photo-tree-based terrain using a GPU, which stores a direction of a neighboring vertex N in a z coordinate value among (x, y, z, w) coordinate values of one of two vertices neighboring the hypotenuse. How to accelerate the rendering method.
KR1020090054996A 2009-06-19 2009-06-19 A method for accelerating terrain rendering based on quadtree using graphics processing unit KR100959349B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090054996A KR100959349B1 (en) 2009-06-19 2009-06-19 A method for accelerating terrain rendering based on quadtree using graphics processing unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090054996A KR100959349B1 (en) 2009-06-19 2009-06-19 A method for accelerating terrain rendering based on quadtree using graphics processing unit

Publications (1)

Publication Number Publication Date
KR100959349B1 true KR100959349B1 (en) 2010-05-20

Family

ID=42281985

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090054996A KR100959349B1 (en) 2009-06-19 2009-06-19 A method for accelerating terrain rendering based on quadtree using graphics processing unit

Country Status (1)

Country Link
KR (1) KR100959349B1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101359661B1 (en) 2012-03-05 2014-02-10 한국과학기술원 conversion system and method for 3D object represented by triangle mesh to 3D object represented by DoSurface
KR101417714B1 (en) * 2014-03-04 2014-07-16 인하대학교 산학협력단 Acceleration method of quad-tree triangulation for realtime terrain rendering using bimodal vertex splitting method
KR101491896B1 (en) 2013-02-18 2015-02-11 인하대학교 산학협력단 Method for terrain rendering using bimodal vertex splitting
CN106875486A (en) * 2017-02-22 2017-06-20 哈尔滨工程大学 A kind of multi-beam terrain blocks method based on nodal information amount statistics
CN107833269A (en) * 2017-09-19 2018-03-23 浙江科澜信息技术有限公司 The transparent method of landform is realized in a kind of three-dimensional scenic
CN108198143A (en) * 2017-12-28 2018-06-22 中国测绘科学研究院 A kind of dimensional topography avoiding cracks method that LoD levels is gone to constrain
CN111507926A (en) * 2020-04-30 2020-08-07 九江精密测试技术研究所 Max L OD Map-based quadtree terrain crack repairing method
KR20220130925A (en) * 2021-03-19 2022-09-27 인하대학교 산학협력단 Method for realtime terrain modeling and rendering using hierarchical vertex cohesion map

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060100157A (en) * 2005-03-16 2006-09-20 윤홍식 Distorting modeling method for transforming the presize position of partial/positional information
KR20060128803A (en) * 2006-11-24 2006-12-14 인하대학교 산학협력단 An improved method for selecting level-of-details using viewpoint adjustment in stereoscopic terrain visualization

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060100157A (en) * 2005-03-16 2006-09-20 윤홍식 Distorting modeling method for transforming the presize position of partial/positional information
KR20060128803A (en) * 2006-11-24 2006-12-14 인하대학교 산학협력단 An improved method for selecting level-of-details using viewpoint adjustment in stereoscopic terrain visualization

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101359661B1 (en) 2012-03-05 2014-02-10 한국과학기술원 conversion system and method for 3D object represented by triangle mesh to 3D object represented by DoSurface
KR101491896B1 (en) 2013-02-18 2015-02-11 인하대학교 산학협력단 Method for terrain rendering using bimodal vertex splitting
KR101417714B1 (en) * 2014-03-04 2014-07-16 인하대학교 산학협력단 Acceleration method of quad-tree triangulation for realtime terrain rendering using bimodal vertex splitting method
CN106875486A (en) * 2017-02-22 2017-06-20 哈尔滨工程大学 A kind of multi-beam terrain blocks method based on nodal information amount statistics
CN106875486B (en) * 2017-02-22 2020-04-07 哈尔滨工程大学 Multi-beam terrain partitioning method based on node information volume statistics
CN107833269A (en) * 2017-09-19 2018-03-23 浙江科澜信息技术有限公司 The transparent method of landform is realized in a kind of three-dimensional scenic
CN108198143A (en) * 2017-12-28 2018-06-22 中国测绘科学研究院 A kind of dimensional topography avoiding cracks method that LoD levels is gone to constrain
CN108198143B (en) * 2017-12-28 2021-08-27 中国测绘科学研究院 Three-dimensional terrain crack eliminating method for removing LoD (LoD) level constraint
CN111507926A (en) * 2020-04-30 2020-08-07 九江精密测试技术研究所 Max L OD Map-based quadtree terrain crack repairing method
CN111507926B (en) * 2020-04-30 2023-12-12 九江精密测试技术研究所 Quadtree terrain crack repairing method based on MaxLOD Map
KR20220130925A (en) * 2021-03-19 2022-09-27 인하대학교 산학협력단 Method for realtime terrain modeling and rendering using hierarchical vertex cohesion map
KR102497535B1 (en) 2021-03-19 2023-02-08 인하대학교 산학협력단 Method for realtime terrain modeling and rendering using hierarchical vertex cohesion map

Similar Documents

Publication Publication Date Title
KR100959349B1 (en) A method for accelerating terrain rendering based on quadtree using graphics processing unit
KR100935886B1 (en) A method for terrain rendering based on a quadtree using graphics processing unit
US8570322B2 (en) Method, system, and computer program product for efficient ray tracing of micropolygon geometry
US8810590B2 (en) Method and apparatus for spatial binning on a GPU and global path planning to avoid spatially binned objects
US8725466B2 (en) System and method for hybrid solid and surface modeling for computer-aided design environments
Ernst et al. Early split clipping for bounding volume hierarchies
US20140354626A1 (en) Block Based Level of Detail Representation
KR20080018404A (en) Computer readable recording medium having background making program for making game
KR20150093391A (en) Method for rendering terrain
JP2017199354A (en) Rendering global illumination of 3d scene
CN112070909A (en) Engineering three-dimensional model LOD output method based on 3D Tiles
Lee et al. Geometry splitting: an acceleration technique of quadtree-based terrain rendering using GPU
CN112843700B (en) Terrain image generation method and device, computer equipment and storage medium
Chen et al. An improved texture-related vertex clustering algorithm for model simplification
Li et al. Feature-based visibility-driven CLOD for terrain
CN116402973A (en) Oblique photography model optimization method and system based on LOD reconstruction
Lee et al. A bimodal empty space skipping of ray casting for terrain data
Lee et al. Bimodal vertex splitting: Acceleration of quadtree triangulation for terrain rendering
Chang et al. Hierarchical simplification of city models to maintain urban legibility.
KR100715669B1 (en) Device and method for representation of multi-level lod 3-demension image
KR101228118B1 (en) Method for constructing a Kd-tree based on polygon importance
Masood et al. A novel method for adaptive terrain rendering using memory-efficient tessellation codes for virtual globes
Shakaev et al. View-Dependent Level of Detail for Real-Time Rendering of Large Isosurfaces
Li Real-world large-scale terrain model reconstruction and real-time rendering
CN111729303B (en) Large map baking and cutting method and restoration method

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130325

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140303

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150216

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160404

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee