KR101555426B1 - 지형 렌더링 방법 및 장치 - Google Patents

지형 렌더링 방법 및 장치 Download PDF

Info

Publication number
KR101555426B1
KR101555426B1 KR1020140014101A KR20140014101A KR101555426B1 KR 101555426 B1 KR101555426 B1 KR 101555426B1 KR 1020140014101 A KR1020140014101 A KR 1020140014101A KR 20140014101 A KR20140014101 A KR 20140014101A KR 101555426 B1 KR101555426 B1 KR 101555426B1
Authority
KR
South Korea
Prior art keywords
edge
tessellation factor
vertex
terrain
node
Prior art date
Application number
KR1020140014101A
Other languages
English (en)
Other versions
KR20150093391A (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 KR1020140014101A priority Critical patent/KR101555426B1/ko
Priority to US15/116,812 priority patent/US9959670B2/en
Priority to PCT/KR2014/002497 priority patent/WO2015119325A1/ko
Publication of KR20150093391A publication Critical patent/KR20150093391A/ko
Application granted granted Critical
Publication of KR101555426B1 publication Critical patent/KR101555426B1/ko

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/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing
    • 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/20Finite element generation, e.g. wire-frame surface description, tesselation
    • 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
    • G06T15/003D [Three Dimensional] image rendering
    • 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/005Tree description, e.g. octree, quadtree
    • 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
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware

Landscapes

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

Abstract

본 발명은 GPU 테셀레이션을 이용한 다중 해상도 지형 렌더링 방법에 관한 것이다.
본 발명의 일실시예에 의한 지형 렌더링 방법은 GPU 테셀레이션(tessellation)을 이용한 지형 렌더링 방법에 있어서, 부모 노드 및 자식 노드를 포함하는 quadtree를 이용하여 inner tessellation factor 및 edge tessellation factor가 할당된 쿼드패치(quad patch)를 생성하는 단계; 상기 쿼드패치를 이용하여 베이스 메쉬를 생성하는 단계; 및 상기 베이스 메쉬에 디스플레이스먼트 맵(displacement map)을 적용하여 지형을 복원시키는 단계를 포함할 수 있다.

Description

지형 렌더링 방법 및 장치{METHOD AND APPARATUS FOR RENDERING TERRAIN}
본 발명은 지형 렌더링 방법에 관한 것으로, 보다 상세하게는 GPU 테셀레이션을 이용한 다중 해상도 지형 렌더링 방법에 관한 것이다.
지형 렌더링(terrain rendering)은, 지리 정보 시스템(Geographic Information System; GIS), 비행 시뮬레이션, 대화식 컴퓨터 게임 등과 같은 다양한 분야에서 이용되고 있다. 지형 렌더링을 위한 방법으로 삼각형 메쉬나 다른 다각형 모델들이 흔히 사용되고 있다.
지형 렌더링에 필요한 지리 정보 데이터의 크기는 적게는 수백 GB 에서 수십 TB까지 그 용량의 크기가 매우 크기 때문에, 이를 실시간에 렌더링 하기 위해서는, 사용자의 시점과 표면의 굴곡 등을 고려하여 mesh를 간략화하여 렌더링 할 수 있는 기법들을 적용해야 한다. 관련된 선행문헌으로 대한민국 등록특허 제10-0726031호가 있다.
지형 렌더링 기법은 크게 두 가지로 그룹으로 분류 할 수 있다. 첫 번째 그룹은 regular hierarchical structure를 사용하는 그룹인데 가장 대표적인 예가 hierarchies of right triangles (HRT) 이다. 두 번째 그룹은 triangulated irregular networks (TINs)이다. TINs은 지형을 비균일하게 샘플링 할 수 있기 때문에 불필요한 삼각형의 수를 최소화 시킬 수 있다는 장점이 있으나, multi-resolution을 달성하기 위해 복잡한 연산과 더 큰 저장 공간이 필요하다는 단점이 있다.
따라서 최근에는 multi-resolution을 효율적으로 달성하기 위한 지형 렌더링 기법에 대한 연구가 필요한 실정이다.
본 발명의 목적은 크랙(crack) 문제를 해결하면서, 다중 해상도를 달성할 수 있는 지형 렌더링 방법을 제공하는 데 있다.
상기 목적을 달성하기 위해 본 발명의 일실시예에 의하면, GPU 테셀레이션(tessellation)을 이용한 지형 렌더링 방법에 있어서, 부모 노드 및 자식 노드를 포함하는 quadtree를 이용하여 inner tessellation factor 및 edge tessellation factor가 할당된 쿼드패치(quad patch)를 생성하는 단계; 상기 쿼드패치를 이용하여 베이스 메쉬를 생성하는 단계; 및 상기 베이스 메쉬에 디스플레이스먼트 맵(displacement map)을 적용하여 지형을 복원시키는 단계를 포함하는 지형 렌더링 방법이 제공된다.
상기 목적을 달성하기 위해 본 발명의 일실시예에 의하면, GPU 테셀레이션(tessellation)을 이용한 지형 렌더링 장치에 있어서, 부모 노드 및 자식 노드를 포함하는 quadtree를 이용하여 inner tessellation factor 및 edge tessellation factor가 할당된 쿼드패치(quad patch)를 생성하는 연산 처리부; 및 상기 쿼드패치를 이용하여 베이스 메쉬를 생성하고, 상기 베이스 메쉬에 디스플레이스먼트 맵(displacement map)을 적용하여 지형을 복원시키는 그래픽 처리부를 포함하는 지형 렌더링 장치가 제공된다.
본 발명의 일실시예에 의한 지형 렌더링 방법 및 장치는 다중 해상도를 달성하면서도 크랙 문제를 해결할 수 있다.
또한, 본 발명의 일실시예에 의하면, GPU의 Tessellator를 이용해 빠른 속도로 지형을 렌더링 할 수 있으면서도, 지형의 굴곡 정보와 카메라의 위치에 따라 적응적인 해상도를 결정할 수 있어서 불필요하게 소모되는 렌더링 자원을 최소화 할 수 있다.
또한, 본 발명의 일실시예에 의하면, 전체 지형이 quadtree라는 간략화된 데이터 구조를 통해 관리되기 때문에, 대용량 지형이라도 매우 적은 메모리 소모만을 통하여 관리할 수 있으며, 적응적 해상도를 결정하고, 데이터를 업데이트 하는 일들을 매우 빠르고 효율적이며 간단하게 처리 할 수 있어 전반적인 성능이 큰 폭으로 향상된다.
도 1은 본 발명의 일실시예와 관련된 지형 렌더링 장치의 블록도이다.
도 2는 본 발명의 일실시예와 관련된 지형 렌더링 방법을 나타내는 흐름도이다.
도 3은 본 발명의 일실시예와 관련된 지형 렌더링 방법에서 오브젝트 스페이스 에러를 계산에 이용되는 메쉬의 계층 구조를 나타낸다.
도 4는 본 발명의 일실시예와 관련된 지형 렌더링 방법에서 각 타일에 대한 quadtree를 생성을 설명하기 위한 도면이다.
도 5는 본 발명의 일실시예와 관련된 지형 렌더링 방법에서 그래픽 처리부(GPU)에서 지형 렌더링 파이프 라인을 나타낸다.
도 6은 본 발명의 일실시예와 관련된 지형 렌더링 방법에서 height map과 특징 보존 기하학 이미지(FGI, Feature preserving Geometry Image)을 이용하여 지형을 복원하는 결과를 나타낸다.
도 7은 본 발명의 일실시예와 관련된 지형 렌더링 방법에서 FGI를 사용하여 돌출된 기하 이미지를 복원하는 예를 나타낸다.
도 8은 본 발명의 일실시예와 관련된 지형 렌더링 방법에서 FGI를 생성하는 과정을 나타내는 도면이다.
도 9은 본 발명의 일실시예와 관련된 지형 렌더링 방법에서 노드 머징(merging) 알고리즘을 나타낸다.
도 10은 본 발명의 일실시예와 관련된 지형 렌더링 방법에서 노드 스플리팅(splitting) 알고리즘을 나타낸다.
이하, 본 발명의 일실시예와 관련된 지형 렌더링 방법 및 장치에 대해 도면을 참조하여 설명하도록 하겠다.
본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
도 1은 본 발명의 일실시예와 관련된 지형 렌더링 장치의 블록도이다.
도시된 바와 같이, 지형 렌더링 장치(100)는 전처리부(110), 연산 처리부(120) 및 그래픽 처리부(130)를 포함할 수 있다.
전처리부(110)는 지형 렌더링 수행 전의 전처리 절차를 수행할 수 있다. 예들 들어, 전처리부(110)는 오브젝트 스페이스 에러(Object-space Errors)를 측정할 수도 있고, 지형 메쉬(terrain mesh)를 파라미터화(parameterization)하여 기하 이미지(Geometry Image)를 생성할 수 있다. 오브젝트 스페이스 에러 및 기하 이미지에 대해서는 후술하도록 하겠다.
연산 처리부(120)는 그래픽 처리부(130)에서 지형 렌더링을 수행하기 위한 다양한 데이터를 연산하거나 생성할 수 있다. 예를 들어, 연산 처리부(120)는 측정된 오브젝트 스페이스 에러를 이용하여 quadtree를 생성하고 inner tessellation factor을 결정할 수 있다. 그리고 연산 처리부(120)는 상기 inner tessellation factor을 이용하여 edge tessellation factor를 결정할 수 있다.
그래픽 처리부(130)는 상기 연산 처리부(120)에서 처리된 데이터를 이용하여 지형 렌더링을 수행할 수 있다. 그래픽 처리부(130)는 GPU(Graphics Processing Unit)이라 할 수 있다. 예를 들어, 그래픽 처리부(130)는 상기 연산 처리부에서 생성된 쿼드패치(quad patch) 정보를 이용하여 지형을 복원할 수 있다. quadtree에 포함된 복수의 노드 중 하나의 노드가 쿼드패치(quad patch)가 될 수 있다.
하나의 쿼드패치 당 고려해야 하는 tessellation factor는 총 6개로 각 edge에 대한 tessellation factor 4개와 내부의 가로, 세로 분할 수에 해당하는 inner tessellation factor 2개가 있다.
상기 연산처리부(120)와 상기 그래픽 처리부(130)에서 수행되는 작업은 전처리부(110)와 달리 매 프레임마다 수행된다.
도 2는 본 발명의 일실시예와 관련된 지형 렌더링 방법을 나타내는 흐름도이다.
전처리부(110)는 오프젝트 스페이스 에러를 측정할 수 있다(S210). 상기 오브젝트 스페이스 에러는 스크린 스페이스 에러(screen-space error)를 구하는데 이용될 수 있다. 오프젝트 스페이스 에러가 screen상에서 몇 pixel에 해당하는지를 나타내는 값이 스크린 스페이스 에러이다. 오브젝트 스페이스 에러는 다음과 방식으로 측정될 수 있다.
도 3은 본 발명의 일실시예와 관련된 지형 렌더링 방법에서 오브젝트 스페이스 에러를 계산에 이용되는 메쉬의 계층 구조를 나타낸다. 도 3(a)는 height map 지형(Height-mapped terrain)이고, 도 3(b)는 특징 보존 기하 지형(FGI-mapped terrain)이다. height map이 3차원 좌표상에서 메쉬 구조의 각 버텍스(vertex)를 높이에 맞게 단순히 수직으로 올려 생성한 맵이라면, 특징 보존 기하 이미지 지형(FGI)는 3차원 좌표상에서 메쉬 구조의 각 버텍스(vertex)을 지형을 특징을 고려한 벡터에 따라 올려 생성한 맵이라 할 수 있다.
이하 실시예에서는 디스플레이스먼트 맵(displacement map)이 최대 513 × 513의 해상도를 가지는 경우에 대해 예를 들어 설명하기로 한다. 이 경우, 그래픽 처리부(130)에서 처리할 수 있는 최대 해상도는 하드웨어적인 한계로 인해 65 X 65 이다.
오브젝트 스페이스 에러는 전처리 단계에서 도 3과 같이 지형의 해상도(resolution)를 순차적으로 낮춰가면서 각 메쉬(mesh) 버텍스(vertex)에서의 높이를 512 level의 메쉬(mesh) 버텍스의 높이와 비교하여 그 차이를 계산하고 최종적으로 가장 큰 값이 각 레벨에서의 오브젝트 스페이스 에러(object space error)로 결정된다. 즉, 513 × 513의 해상도를 가지는 지형의 오브젝트 스페이스 에러는 총 8 × 8의 block으로 쪼개져, 그 영역 내에서 가장 큰 높이값의 차이가 level 별 오브젝트 스페이스 에러가 된다. 이는 지형이 513 × 513의 최대 해상도를 가질 경우 해상도를 반씩 나눠가면서 영역 내에서 가장 큰 높이값의 차이를 저장하는 것인데, 513 × 513에서부터 257 × 257, . . , 3 × 3, 2 × 2까지 해상도를 낮춰가면서 영역내의 최대값(최대 높이값의 차이)이 저장된다. (2n + 1)×(2n + 1)개의 버텍스를 갖는 메쉬를 2n 레벨이라 한다.
스크린 스페이스 에러(screen-space error)는 상기 오브젝트 스페이스 에러를 screen space(모니터에서 보여지는 실제 위치)로 프로젝션(projection) 했을 때, 몇 pixel에 해당하는지를 나타내는 값이다.
연산 처리부(120)는 상기 스크린 스페이스 에러를 이용하여 quadtree를 생성하고, inner tessellation factor를 결정할 수 있다(S220). 각 node는 2의 승수에 해당하는 inner tessellation factor를 가지며, 그래픽 처리부(130)에서 처리할 수 있는 최대 해상도는 65 × 65이기 때문에 최대 64의 값을 가질 수 있다.
가장 처음에 quadtree를 구성할 때에는 가장 성긴 레벨에서부터 시작한다(Level 1). 각 8×8의 object-space error 영역에 대해, 영역 내에서 viewpoint에 가장 가까운 점에 해당 error를 위치시키고, screen-space로 projection시켜 screen-space error 값을 구한다. 만약 스크린 스페이스 에러가 미리 정해진 한계값(threshold)보다 작다면, 해당 타일의 inner tessellation factor는 1로 설정된다.
하지만 스크린 스페이스 에러가 상기 한계값(threshold)보다 크다면, level을 하나씩 증가시키면서 error값이 threshold 이하가 될 때까지 반복한다. 만약 타일의 inner tessellation factor가 64보다 크다면 GPU의 한계를 넘어서게 되므로, 타일을 4개의 patch로 쪼개고(즉, 자식 노드(child node)를 생성함), 각 쪼개진 patch들에 대해 다시 level에 따른 error값을 측정한다. 지형의 최대 해상도가 513×513인 경우에는 quadtree의 depth는 4로 제한된다.
그리고 이하 실시예에서는 가로 분할 수에 해당하는 inner tessellation factor와 세로 분할 수에 해당하는 inner tessellation factor가 동일한 값을 가지는 것을 가정하고 설명하기로 한다.
연산 처리부(120)는, quadtree의 모든 자식 노드(leaf 노드)에 대하여 inner tessellation factor가 결정되면, edge tessellation factor를 계산할 수 있다(S230).
테셀레이션(tessellation)을 통해서 생성되는 삼각형의 숫자를 최대한 줄여야 하므로, 연산 처리부(120)는 threshold를 만족하는 최소의 edge tessellation factor 값을 결정할 수 있다. 이는 만들어진 quadtree를 breadth-first 순회하여 결정하게 된다.
도 4는 본 발명의 일실시예와 관련된 지형 렌더링 방법에서 각 타일에 대한 quadtree(quad tree)를 생성을 설명하기 위한 도면이다.
도 4에서 inner tessellation factor 8을 가지는 노드(node) A를 보면, 더 작은 inner tessellation factor를 가지는 노드(node)인 B, C와 edge를 공유하고 있다. 노드 B와 C는 똑같이 inner tessellation factor 2를 가지고 있는데, 노드 A와 비교하기 위해 이들을 동일한 비율로 증가시키면 inner tessellation factor 가 4가 된다. 즉, 노드 B와 C의 edge 길이를 노드 A의 edge 길이와 통일시키기 위해서 노드 B와 C의 edge 길이를 2배 증가시키면, 노드 B와 C의 inner tessellation factor는 4가 된다. 그러면 [4,8] 사이의 영역에서 가장 작은 크기이고 다음의 2가지 조건을 만족하는 수가 해당 edge에서의 edge tessellation factor 로 결정된다.
1) 추출되는 숫자는 2의 승수이어야 함
2) edge 길이 비에 따라 크기 비에 따라 나누어져 자연수를 가질 수 있는 값이어야 함
상기 조건을 만족하는 최소의 수는 4이므로, 연산 처리부(120)는 노드 A의 왼쪽 edge tessellation factor에 4로 설정하고, 노드 B와 노드 C에는 edge 길이 비에 따라 4를 나눠 각각 2씩 설정한다.
노드 A의 위쪽 edge를 보면, 서로 다른 크기를 갖는 노드 D, E, F와 edge를 공유하고 있다. 노드 D, E, F에서 길이 비에 따라 증가시킨 inner tessellation factor 값들 중 가장 큰 값은 64이다. 그리고 노드 A는 8이므로 edge tessellation factor 의 범위는 [8, 64]이다. 여기서 전술한 2가지 조건을 만족시키는 값은 8이다. 그러므로 노드 A의 위쪽 edge tessellation factor 는 8로 설정되고, 노드 D, E, F에는 길이 비에 따라 이 값이 나눠지면서 각각 4, 2, 2의 값을 가진다.
노드 G의 아래쪽 edge를 보면, G보다 작은 노드 B와 H가 위치하고 있다 노드 G의 값은 1이고, 노드 H, B의 길이 비에 따른 값은 4이다. 그러므로 edge tessellation factor의 범위는 [1,4]가 된다. 여기서 1은 길이 비에 따라 나눠질 수 없어, 상기 2번 조건을 만족시키지 못하므로 2가 노드 G의 아래쪽 edge tessellation factor로 결정됨과 동시에 H와 B에 각각 1씩 설정된다. 같은 크기를 가지는 노드 E와 노드 I의 inner tessellation factor 중 작은 값은 16이며 따라서 이 값을 E와 I의 edge tessellation factor로 결정한다.
상기 설명한 방법에 의해 타일의 해상도가 결정되면, crack이 없이 다중 해상도를 가질 수 있게 된다. 상기 과정은 2개의 타일에 의해 공유된 edge에 대해서도 동일하게 적용된다. 이를 위해 edge tessellation factor가 계산되기 전에, view frustum 내의 모든 타일에 대한 quadtree 데이터와 inner tessellation factor 값들이 결정되어야 한다.
연산 처리부(120)는 quadtree, 생성된 inner tessellation factor 및 edge tessellation factor를 이용하여 도 4와 같은 쿼드패치(quad patch)를 생성할 수 있다(S240).
상기 쿼드패치에 대한 정보는 그래픽 처리부(130)로 입력될 수 있다. 그래픽 처리부(130)는 입력된 쿼드패치 정보 및 테셀레이터(tessellator)를 이용하여 지형 렌더링을 수행할 수 있다(S250).
도 5는 본 발명의 일실시예와 관련된 지형 렌더링 방법에서 그래픽 처리부(GPU, 130)에서 지형 렌더링 파이프 라인을 나타낸다.
먼저 그래픽 처리부(130)의 입력으로 쿼드패치 정보가 입력된다. 쿼드패치 정보는 semi-uniform (u,v) grid 라 불리는 평평한 베이스 메쉬(base mesh)를 만드는데 사용되는 정보이다. 추후에 domain shader에서 높이값(displacement map으로 height map 적용 시) 또는 vector값(displacement map으로 FGI 적용 시)을 이용하여 상기 베이스 메쉬의 각 점을 3차원 좌표계에서 이동시켜 지형을 복원한다.
hull shader는 연산 처리부(120) 에서 결정된 tessellation factor를 tessellator로 전해주는 역할을 한다. Tessellator는 입력된 tessellation factor에 맞는 해상도를 갖는 patch인 semi-uniform (u,v) grid를 실제로 생성하는 부분이다. 이렇게 생성된 grid는 domain shader 단계에서 displacement map이라는 지형의 정보를 이용해서 각 점을 이동시킴으로써 최종 지형을 복원하여 렌더링을 수행할 수 있다. 상기 displacement map은 height map, 기하 이미지(Geometry Image) 등을 포함할 수 있다. 상기 기하 이미지(Geometry Image)의 예로 변화율을 고려한 특징 보존 기하 이미지(FGI, Feature preserving Geometry Image)가 있다.
도 6은 본 발명의 일실시예와 관련된 지형 렌더링 방법에서 height map과 특징 보존 기하 이미지(FGI, Feature preserving Geometry Image)을 이용하여 지형을 복원하는 결과를 나타낸다.
도 6(a)는 충분한 해상도를 가지고 height map을 이용해 지형을 복원한 결과이고, 도 6(b)는 tessellation factor가 줄어들어 부족한 해상도를 가지게 된 상태를 나타내고, 도 6(c)는 FGI를 사용하여 정점들이 높은 변화율이 있는 곳으로 위치하게 되어 부족한 해상도로 복원한 상태를 나타낸다.
height map을 이용하여 복원하는 기술은 충분한 해상도를 가지지 못하면 변화율이 높은 지형을 제대로 복원하지 못하는 문제가 있다. 하지만 FGI를 사용하게 되면, 변화율이 높은 점으로 더 많은 정점이 위치하게 되어 적은 해상도로도 더 뛰어난 복원을 할 수 있다.
도 7은 FGI를 사용하여 돌출된 기하 이미지를 복원하는 예를 나타낸다.
도 7(a)는 돌출된 기하 이미지를 나타내고, 도 7(b)는 FGI를 이용하여 상기 도 7(a)를 복원한 예를 나타낸다.
도시된 바와 같이, height map을 이용하는 경우는 도 7(a)와 같은 돌출된 기하 이미지를 제대로 복원할 수 없지만, FGI를 이용하여 도 7(a)와 같은 돌출된 기하 이미지도 제대로 복원할 수 있다.
FGI는 하기 수학식 1을 이용하여 생성될 수 있다.
Figure 112014012224055-pat00001
여기서,하첨자 v는 임의의 한 버텍스(vertex)를 나타내고,
Figure 112015047801527-pat00035
는 버텍스(vertex) v에서의 vertex weight(변화율)를 나타내고,
Figure 112015047801527-pat00036
는 굴곡 정도를 측정한 변수이고,
Figure 112015047801527-pat00037
는 모든 버텍스(vertex)의
Figure 112015047801527-pat00038
합을 나타내고,
Figure 112015047801527-pat00039
는 ridge에 포함된 점에 대하여 weight를 증가시키기 위해 주는 값이고,
Figure 112015047801527-pat00040
는 버텍스(vertex)를 공유하는 삼각형의 넓이 합이다.
Figure 112015047801527-pat00041
는 모든 버텍스(vertex)의
Figure 112015047801527-pat00042
Figure 112015047801527-pat00043
합을 나타낸다. 또한, α는 user-defined parameter이고,
Figure 112015047801527-pat00044
는 v에 연결된 edge e의 외부 이면각이다. t는 임의의 버텍스(vertex) v와 이웃하는 모든 정점을 의미하고, At는 해당 버텍스(vertex) v와 t가 속해있는 삼각형의 넓이를 나타낸다. weight는 변화율로 해석될 수 있으며, 변화율이 높은 지점이 높은 weight를 가지며, 변화율이 작은 지점은 낮은 weight를 가지게 된다.
도 8은 본 발명의 일실시예와 관련된 지형 렌더링 방법에서 FGI를 생성하는 과정을 나타내는 도면이다.
도 8(a)는 height map을 나타내고, 도 8(b)는 regular grid mesh를 나타낸다. 상기 수학식 1에 의해 측정된 vertex weight는 저장되고, 해당 mesh는 parameterization 될 수 있다.
도 8(b)를 보로노이 영역을 이용하여 weight가 큰 점이 조금 더 큰 영역을 가지고 weight가 작은 점이 조금 더 적은 영역을 가지도록 parameterization 결과를 수정할 수 있다. 상기 수정의 많은 반복을 통해 더 정확한 값을 가지도록 조정할 수 있다. 도 8(c)는 수정을 1번 반복한 결과이고, 도 8(d)는 상기 수정을 수백 번(약 500번) 반복한 결과이다. 그리고 도 8(e)는 parameterization 결과를 sampling하여 위치 값을 texture에 저장 함으로써 최종적으로 FGI이다.
한편, FGI를 사용하는 경우에는 전처리 단계에서 Zippering 과정을 수행해야 crack 발생을 방지할 수 있다.
FGI는 parameterization후에 sampling을 통해서 얻어내는 값을 텍스쳐화 한 것이기 때문에 boundary영역에서 미세한 값의 차이가 발생한다. 이는 같은 서로 인접한 타일 형식의 2개의 texture가 boundary에서 같은 영역을 참조함에도 불구하고, 미세한 값의 차이가 발생하여 완전히 동일한 값을 가지지 않게 되는 현상을 가져오고, 이는 결국 crack을 발생시키게 된다. 이를 방지하기 위해, 서로 인접한 boundary를 가지는 2개의 texture중 1개를 골라 해당 boundary영역의 데이터를 다른 texture에 강제로 복사하여 동일한 값을 맞춰 주는 방법을 Zippering이라 한다.
한편, 본 발명의 일실시예에 의하면, 상기와 같이 한 번 타일의 quadtree가 구성되고 난 후에는, view의 위치가 바뀜에 따라서 실시간에 quadtree가 업데이트될 수 있다. 이전 프레임에서 사용되었던 quadtree를 각각 merging과 splitting 과정을 통해 업데이트 함으로써 가장 처음에 quadtree를 구성할 때 보다 훨씬 적은 연산 자원을 사용하여 다중 해상도 타일을 구성할 수 있다.
도 9은 본 발명의 일실시예와 관련된 지형 렌더링 방법에서 노드 머징(merging) 알고리즘을 나타낸다.
view가 변화하면, 연산 처리부(120)는 우선 merging을 수행한다. merging은 bottom-up 과 breadth-first 방법을 이용하여 4개의 자식 노드(leaf node)를 가지는 부모 노드(parent node)들에 대하여 tessellation factor 64를 이용하여 screen-space error를 측정해보고, error가 threshold 이하라면 leaf node를 제거하는 merging을 수행하고, 그렇지 않다면 그대로 두는 방식의 연산을 수행한다.
좀 더 구체적으로, 우선 Merging은 더 이상 조밀하게 표현할 필요가 없는 node에 대해서 수행하게 된다. 현재 node의 screen space error를 측정하였는데 충분한 resolution을 가지는 것으로 판명(error가 threshold 이하)되면, 자기와 같은 부모 node를 가지는 다른 자식들에서도 screen space error를 측정한다. 여기서도 error가 threshold 이하였다면 마지막으로, 부모 node에서도 다시 한번 screen space error를 측정한다. 여기서도 충분한 resolution을 가지는 것으로 판명되면 4개의 자식node들을 유지할 필요가 없으므로 4개의 자식 node들을 없애고 부모 node만 남긴다. 이 과정이 merging이다.
merging이 수행된 후에는 splitting을 수행한다.
도 10은 본 발명의 일실시예와 관련된 지형 렌더링 방법에서 노드 스플리팅(splitting) 알고리즘을 나타낸다.
각 자식 노드(leaf node)들에 대하여 tessellation factor 64로 screen-space error를 측정하여 error threshold 이하인지 체크한다. 만약 error가 threshold를 넘는다면, 4개의 leaf node를 생성하는 splitting을 수행한다.
좀 더 구체적으로 splitting은 가장 말단의 node들을 순회하면서 변화된 Camera의 위치를 고려하여 측정한 screen space error가 threshold 이하인지를 판별한다. 만약 error가 threshold보다 크다면, 충분한 resolution을 가지지 못한 것이므로 추가적으로 노드를 쪼개어 4개의 자식 node들을 생성한다. 이 과정이 splitting이다.
상기 merging과 splitting은 아래의 multi-resolution scheme을 만족하면서 수행될 수 있다.
1. quadtree의 depth는 4로 한정되며, CPU의 자원을 최소한으로 사용하여 구성한다.
2. quadtree는 GPU pipeline 내에서 서로 완전히 독립적으로 처리되지만, quadtree를 통해 생성된 전체 지형은 '기하학적 연속'을 만족한다.
3. quadtree는 regular 구조이므로, GPU pipeline에 4개의 corner 점을 전송하는 대신, 한 node의 index 정보만 보내도 충분히 렌더링이 가능하다.
전술한 본 발명의 일실시예에 의한 지형 렌더링 방법은 다중 해상도를 달성하면서도 크랙 문제를 해결할 수 있다.
또한, 본 발명의 일실시예에 의하면, GPU의 Tessellator를 이용해 빠른 속도로 지형을 렌더링 할 수 있으면서도, 지형의 굴곡 정보와 카메라의 위치에 따라 적응적인 해상도를 결정할 수 있어서 불필요하게 소모되는 렌더링 자원을 최소화 할 수 있다.
또한, quadtree를 통해 지형을 렌더링 하는데 필요한 tile들을 효율적이고 간단하게 관리하여 전반적인 성능이 향상되므로, 대용량 지형을 실시간에 렌더링 할 수 있다.
상술한 지형 렌더링 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 판독 가능한 기록 매체에 기록될 수 있다. 이때, 컴퓨터로 판독 가능한 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 한편, 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터로 판독 가능한 기록매체에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM, DVD와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
한편, 이러한 기록매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다.
또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
상기와 같이 설명된 지형 렌더링 방법 및 장치는 상기 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
100: 지형 렌더링 장치
110: 전처리부
120: 연산 처리부
130: 그래픽 처리부

Claims (16)

  1. GPU 테셀레이션(tessellation)을 이용한 지형 렌더링 방법에 있어서,
    부모 노드 및 자식 노드를 포함하는 quadtree를 이용하여 inner tessellation factor 및 edge tessellation factor가 할당된 쿼드패치(quad patch)를 생성하는 단계- 상기 edge tessellation factor는 edge에 대한 분할 수를 나타내고, 상기 inner tessellation factor는 edge부분을 제외한 내부의 가로 또는 세로 분할 수를 나타냄-;
    상기 쿼드패치를 이용하여 베이스 메쉬를 생성하는 단계; 및
    상기 베이스 메쉬에 디스플레이스먼트 맵(displacement map)을 적용하여 지형을 복원시키는 단계를 포함하되,
    특정 edge를 공유하고 있는 제1쿼드패치와 제2쿼드패치에서 상기 특정 edge에 대한 edge tessellation factor는 동일한 값을 사용하는 것을 특징으로 하는 지형 렌더링 방법.
  2. 제 1 항에 있어서, 상기 edge tessellation factor는
    인접한 쿼드패치의 inner tessellation factor를 이용하여 결정되는 것을 특징으로 하는 지형 렌더링 방법.
  3. 제 2 항에 있어서, 상기 edge tessellation factor는
    2의 승수이고, edge 길이 비에 따라 크기 비에 따라 나누어져 자연수를 가질 수 있는 값 중 최소값인 것을 특징으로 하는 지형 렌더링 방법.
  4. 제 3 항에 있어서, 상기 쿼드패치 생성 단계는
    특정 노드에서 스크린 스페이스 에러가 설정된 한계값 이상인 경우, inner tessellation factor를 증가시키는 단계를 포함하는 것을 특징으로 하는 지형 렌더링 방법.
  5. 제 3 항에 있어서, 상기 디스플레이스먼트 맵은
    height map 및 geometry image 중 어느 하나인 것을 특징으로 하는 지형 렌더링 방법.
  6. 제 5 항에 있어서, 상기 geometry image는
    하기 수학식 1에 의해 결정되는 것을 특징으로 하는 지형 렌더링 방법.
    [수학식 1]
    Figure 112015047801527-pat00045

    (여기서, 하첨자 v는 임의의 한 버텍스(vertex)를 나타내고,
    Figure 112015047801527-pat00046
    는 버텍스(vertex) v에서의 vertex weight(변화율)를 나타내고,
    Figure 112015047801527-pat00047
    는 굴곡 정도를 측정한 변수이고,
    Figure 112015047801527-pat00048
    는 모든 버텍스(vertex)의
    Figure 112015047801527-pat00049
    합을 나타내고,
    Figure 112015047801527-pat00050
    는 ridge에 포함된 점에 대하여 weight를 증가시키기 위해 주는 값이고,
    Figure 112015047801527-pat00051
    는 버텍스(vertex)를 공유하는 삼각형의 넓이 합이다.
    Figure 112015047801527-pat00052
    는 모든 버텍스(vertex)의
    Figure 112015047801527-pat00053
    Figure 112015047801527-pat00054
    합을 나타낸다. 또한, α는 user-defined parameter이고,
    Figure 112015047801527-pat00055
    는 v에 연결된 edge e의 외부 이면각이다. t는 임의의 버텍스(vertex) v와 이웃하는 모든 정점을 의미하고, At는 해당 버텍스(vertex) v와 t가 속해있는 삼각형의 넓이를 나타낸다.)
  7. 제 3 항에 있어서, 상기 지형 렌더링 방법은
    뷰(view) 위치가 변화에 따라 상기 부모 노드의 스크린 스페이스 에러가 한계값 이하로 된 경우, 상기 부모 노드에 종속된 자식 노드를 삭제하는 단계를 더 포함하는 것을 특징으로 하는 지형 렌더링 방법.
  8. 제 3 항에 있어서, 상기 지형 렌더링 방법은
    뷰(view) 위치가 변화에 따라 상기 자식 노드의 스크린 스페이스 에러가 한계값을 초과한 경우, 상기 자식 노드를 복수 개의 노드로 분할하는 단계를 더 포함하는 것을 특징으로 하는 지형 렌더링 방법.
  9. GPU 테셀레이션(tessellation)을 이용한 지형 렌더링 장치에 있어서,
    부모 노드 및 자식 노드를 포함하는 quadtree를 이용하여 inner tessellation factor 및 edge tessellation factor가 할당된 쿼드패치(quad patch)를 생성하는 연산 처리부- 상기 edge tessellation factor는 edge에 대한 분할 수를 나타내고, 상기 inner tessellation factor는 edge부분을 제외한 내부의 가로 또는 세로 분할 수를 나타냄-; 및
    상기 쿼드패치를 이용하여 베이스 메쉬를 생성하고, 상기 베이스 메쉬에 디스플레이스먼트 맵(displacement map)을 적용하여 지형을 복원시키는 그래픽 처리부를 포함하되,
    특정 edge를 공유하고 있는 제1쿼드패치와 제2쿼드패치에서 상기 특정 edge에 대한 edge tessellation factor는 동일한 값을 사용하는 것을 특징으로 하는 지형 렌더링 장치.
  10. 제 9 항에 있어서, 상기 edge tessellation factor는
    인접한 쿼드패치의 inner tessellation factor를 이용하여 결정되는 것을 특징으로 하는 지형 렌더링 장치.
  11. 제 10 항에 있어서, 상기 edge tessellation factor는
    2의 승수이고, edge 길이 비에 따라 크기 비에 따라 나누어져 자연수를 가질 수 있는 값 중 최소값인 것을 특징으로 하는 지형 렌더링 장치.
  12. 제 11 항에 있어서, 상기 연산 처리부는
    특정 노드에서 스크린 스페이스 에러가 설정된 한계값 이상인 경우, inner tessellation factor를 증가시키는 것을 특징으로 하는 지형 렌더링 장치.
  13. 제 12 항에 있어서, 상기 디스플레이스먼트 맵은
    height map 및 geometry image 중 어느 하나인 것을 특징으로 하는 지형 렌더링 장치.
  14. 제 13 항에 있어서, 상기 geometry image는
    하기 수학식 1에 의해 결정되는 것을 특징으로 하는 지형 렌더링 장치.
    [수학식 1]
    Figure 112015047801527-pat00056

    (여기서, 하첨자 v는 임의의 한 버텍스(vertex)를 나타내고,
    Figure 112015047801527-pat00057
    는 버텍스(vertex) v에서의 vertex weight(변화율)를 나타내고,
    Figure 112015047801527-pat00058
    는 굴곡 정도를 측정한 변수이고,
    Figure 112015047801527-pat00059
    는 모든 버텍스(vertex)의
    Figure 112015047801527-pat00060
    합을 나타내고,
    Figure 112015047801527-pat00061
    는 ridge에 포함된 점에 대하여 weight를 증가시키기 위해 주는 값이고,
    Figure 112015047801527-pat00062
    는 버텍스(vertex)를 공유하는 삼각형의 넓이 합이다.
    Figure 112015047801527-pat00063
    는 모든 버텍스(vertex)의
    Figure 112015047801527-pat00064
    Figure 112015047801527-pat00065
    합을 나타낸다. 또한, α는 user-defined parameter이고,
    Figure 112015047801527-pat00066
    는 v에 연결된 edge e의 외부 이면각이다. t는 임의의 버텍스(vertex) v와 이웃하는 모든 정점을 의미하고, At는 해당 버텍스(vertex) v와 t가 속해있는 삼각형의 넓이를 나타낸다.)
  15. 제 12 항에 있어서, 상기 연산 처리부는
    뷰(view) 위치가 변화에 따라 상기 부모 노드의 스크린 스페이스 에러가 한계값 이하로 된 경우, 상기 부모 노드에 종속된 자식 노드를 삭제하는 것을 특징으로 하는 지형 렌더링 장치.
  16. 제 12 항에 있어서, 상기 연산 처리부는
    뷰(view) 위치가 변화에 따라 상기 자식 노드의 스크린 스페이스 에러가 한계값을 초과한 경우, 상기 자식 노드를 복수 개의 노드로 분할하는 것을 특징으로 하는 지형 렌더링 장치.
KR1020140014101A 2014-02-07 2014-02-07 지형 렌더링 방법 및 장치 KR101555426B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020140014101A KR101555426B1 (ko) 2014-02-07 2014-02-07 지형 렌더링 방법 및 장치
US15/116,812 US9959670B2 (en) 2014-02-07 2014-03-25 Method for rendering terrain
PCT/KR2014/002497 WO2015119325A1 (ko) 2014-02-07 2014-03-25 지형 렌더링 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140014101A KR101555426B1 (ko) 2014-02-07 2014-02-07 지형 렌더링 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20150093391A KR20150093391A (ko) 2015-08-18
KR101555426B1 true KR101555426B1 (ko) 2015-09-25

Family

ID=53778114

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140014101A KR101555426B1 (ko) 2014-02-07 2014-02-07 지형 렌더링 방법 및 장치

Country Status (3)

Country Link
US (1) US9959670B2 (ko)
KR (1) KR101555426B1 (ko)
WO (1) WO2015119325A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2537922B (en) * 2015-04-30 2019-01-16 Univ Cape Town Systems and methods for synthesising a terrain
US10839598B2 (en) * 2016-07-26 2020-11-17 Hewlett-Packard Development Company, L.P. Indexing voxels for 3D printing
CN106846474B (zh) * 2016-12-29 2020-04-03 中国科学院电子学研究所苏州研究院 基于时序特征和粒子系统的WebGIS时空过程模拟方法
JP6715200B2 (ja) * 2017-02-28 2020-07-01 株式会社小松製作所 地形情報処理装置、地形情報処理方法、およびプログラム
KR101940272B1 (ko) * 2017-08-01 2019-04-11 에스케이텔레콤 주식회사 3차원 가상 컨텐츠 확대 장치 및 방법
CN108986212B (zh) * 2018-06-21 2022-05-13 东南大学 一种基于裂缝消除的三维虚拟地形lod模型的生成方法
US11184285B2 (en) * 2019-04-23 2021-11-23 Cesium GS, Inc. Systems and methods for prioritizing requests for hierarchical level of detail content over a communications network
WO2020235979A1 (ko) * 2019-05-23 2020-11-26 삼성전자 주식회사 포인트 클라우드 기반 데이터를 렌더링하는 방법 및 장치
CN111507926B (zh) * 2020-04-30 2023-12-12 九江精密测试技术研究所 一种基于MaxLOD Map的四叉树地形裂缝修补方法
CN112233241B (zh) * 2020-11-02 2024-03-22 网易(杭州)网络有限公司 虚拟场景地形的高度图的生成方法、装置和存储介质
CN113160378B (zh) * 2021-03-25 2023-05-05 网易(杭州)网络有限公司 一种地面裂纹处理方法及装置
CN115953541B (zh) * 2023-03-10 2023-06-23 中国地质大学(武汉) 一种四叉树lod地形生成方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100935886B1 (ko) * 2009-06-19 2010-01-07 인하대학교 산학협력단 그래픽스 처리 유닛을 이용한 사진트리 기반의 지형 렌더링 방법
KR101129084B1 (ko) 2011-09-14 2012-03-23 인하대학교 산학협력단 정점 편향 배분을 이용한 지형 렌더링 방법

Family Cites Families (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5990896A (en) * 1996-09-30 1999-11-23 Mitsubishi Electric Information Technology Center America, Inc. (Ita) Rapid and efficient terrain surface finding system
US6108006A (en) * 1997-04-03 2000-08-22 Microsoft Corporation Method and system for view-dependent refinement of progressive meshes
US6137492A (en) * 1997-04-03 2000-10-24 Microsoft Corporation Method and system for adaptive refinement of progressive meshes
US6313837B1 (en) 1998-09-29 2001-11-06 Schlumberger Technology Corporation Modeling at more than one level of resolution
US6707452B1 (en) * 2000-07-19 2004-03-16 Pixar Method and apparatus for surface approximation without cracks
US6889176B1 (en) * 2000-07-24 2005-05-03 Ford Global Technologies, Llc Method for reconstructing the topology of a polygonal soup
US6809738B2 (en) * 2001-12-21 2004-10-26 Vrcontext S.A. Performing memory management operations to provide displays of complex virtual environments
US6940505B1 (en) * 2002-05-20 2005-09-06 Matrox Electronic Systems Ltd. Dynamic tessellation of a base mesh
US7239311B2 (en) * 2002-09-26 2007-07-03 The United States Government As Represented By The Secretary Of The Navy Global visualization process (GVP) and system for implementing a GVP
US7564455B2 (en) * 2002-09-26 2009-07-21 The United States Of America As Represented By The Secretary Of The Navy Global visualization process for personal computer platforms (GVP+)
US7382369B2 (en) * 2003-10-10 2008-06-03 Microsoft Corporation Systems and methods for robust sampling for real-time relighting of objects in natural lighting environments
US7425952B2 (en) * 2004-11-23 2008-09-16 Metavr, Inc. Three-dimensional visualization architecture
US7551182B2 (en) * 2005-01-18 2009-06-23 Oculus Info Inc. System and method for processing map data
US7561156B2 (en) * 2006-02-08 2009-07-14 INOVO Limited Adaptive quadtree-based scalable surface rendering
US20070247458A1 (en) * 2006-04-11 2007-10-25 Samsung Electronics Co., Ltd. Adaptive computation of subdivision surfaces
US8762493B1 (en) * 2006-06-22 2014-06-24 Google Inc. Hierarchical spatial data structure and 3D index data versioning for generating packet data
US8217936B1 (en) * 2007-05-30 2012-07-10 Adobe Systems Incorporated Minimizing tessellation of surfaces
US7948489B1 (en) * 2007-05-30 2011-05-24 Adobe Systems Incorporated Minimizing tessellation of surfaces
US7928979B2 (en) * 2008-02-01 2011-04-19 Microsoft Corporation Efficient geometric tessellation and displacement
US8482560B2 (en) * 2008-12-31 2013-07-09 Intel Corporation Image forming techniques
US20100164954A1 (en) * 2008-12-31 2010-07-01 Sathe Rahul P Tessellator Whose Tessellation Time Grows Linearly with the Amount of Tessellation
US20100253683A1 (en) * 2009-04-01 2010-10-07 Munkberg Carl J Non-uniform tessellation technique
US8493403B2 (en) * 2009-09-04 2013-07-23 Hewlett-Packard Development Company, L.P. Color transformation sample point identification
US8884957B2 (en) * 2009-09-09 2014-11-11 Advanced Micro Devices, Inc. Tessellation engine and applications thereof
US9245371B2 (en) * 2009-09-11 2016-01-26 Nvidia Corporation Global stores and atomic operations
US9589310B2 (en) * 2009-10-07 2017-03-07 Nvidia Corporation Methods to facilitate primitive batching
US8698802B2 (en) * 2009-10-07 2014-04-15 Nvidia Corporation Hermite gregory patch for watertight tessellation
US8570324B2 (en) * 2009-10-12 2013-10-29 Nvidia Corporation Method for watertight evaluation of an approximate catmull-clark surface
KR101669873B1 (ko) * 2009-10-16 2016-10-27 삼성전자주식회사 삼차원 메쉬 압축장치 및 방법
US8537158B2 (en) * 2009-12-02 2013-09-17 Microsoft Corporation Parallel triangle tessellation
KR101686169B1 (ko) * 2010-02-09 2016-12-14 삼성전자주식회사 옥트리 기반의 3차원 맵 생성 장치 및 방법
US8886445B1 (en) * 2010-03-05 2014-11-11 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Automatic aircraft collision avoidance system and method
US20110285718A1 (en) * 2010-05-21 2011-11-24 Kilgard Mark J Point containment for quadratic bèzier strokes
US8665266B2 (en) * 2010-06-23 2014-03-04 The United States Of America, As Represented By The Secretary Of The Navy Global visualization process terrain database builder
US8880341B2 (en) * 2010-08-30 2014-11-04 Alpine Electronics, Inc. Method and apparatus for displaying three-dimensional terrain and route guidance
KR101181199B1 (ko) * 2011-01-03 2012-09-18 한국과학기술원 배경 지형 장면의 입체 이미지 생성 방법, 시스템 및 이를 위한 기록매체
US9165403B2 (en) * 2011-01-14 2015-10-20 Intel Corporation Planetary scale object rendering
FR2976386B1 (fr) * 2011-06-09 2018-11-09 Mbda France Procede et dispositif pour determiner automatiquement les contours de hauteurs du relief d'une zone geographique.
US9123183B1 (en) * 2011-10-30 2015-09-01 Lockheed Martin Corporation Multi-layer digital elevation model
US8842122B2 (en) * 2011-12-15 2014-09-23 Qualcomm Incorporated Graphics processing unit with command processor
US9196079B2 (en) * 2011-12-30 2015-11-24 Advanced Micro Devices, Inc. Accelerated compute tessellation by compact topological data structure
KR101764341B1 (ko) * 2012-01-03 2017-08-02 한국전자통신연구원 절차적 방법에 의해 생성된 지형 데이터를 편집하는 방법
US9607435B2 (en) * 2012-01-10 2017-03-28 Thomson Licensing Method for rendering an image synthesis and corresponding device
EP2831719A4 (en) * 2012-03-30 2016-01-06 Intel Corp DELIVERY OF TESSELLATION FROM A GRAPHIC PROCESSOR TO A CENTRAL UNIT
DE102012103011A1 (de) * 2012-04-05 2013-10-10 Krauss-Maffei Wegmann Gmbh & Co. Kg Verfahren zur synchronen Wiedergabe einer virtuellen Realität in einer verteilten Simulationsvorrichtung
US8976169B1 (en) * 2012-05-01 2015-03-10 Google Inc. Rendering terrain patches
US8650220B2 (en) * 2012-06-05 2014-02-11 Google Inc. System and method for storing and retrieving geospatial data
US20130342535A1 (en) * 2012-06-20 2013-12-26 Microsoft Corporation Hierarchical Tree Traversal in Graphics Pipeline Stages
US9142060B2 (en) * 2012-08-30 2015-09-22 Qualcomm Incorporated Computation reduced tessellation
US9076260B2 (en) * 2012-08-30 2015-07-07 Qualcomm Incorporated Stitching for primitives in graphics processing
US9082204B2 (en) * 2012-08-30 2015-07-14 Qualcomm Incorporated Storage structures for stitching primitives in graphics processing
US8982124B2 (en) * 2012-09-29 2015-03-17 Intel Corporation Load balancing and merging of tessellation thread workloads
US10139937B2 (en) * 2012-10-12 2018-11-27 Microsoft Technology Licensing, Llc Multi-modal user expressions and user intensity as interactions with an application
US9305397B2 (en) * 2012-10-24 2016-04-05 Qualcomm Incorporated Vertex order in a tessellation unit
EP2750109B1 (en) * 2012-12-28 2021-07-07 Dassault Systèmes Tessellation of a parameterized 3D modeled object
US9123168B2 (en) * 2013-01-30 2015-09-01 Qualcomm Incorporated Output ordering of domain coordinates for tessellation
US9704291B2 (en) * 2013-11-08 2017-07-11 Here Global B.V. Structure model creation from a three dimensional surface
AU2013267004A1 (en) * 2013-12-04 2015-06-18 Canon Kabushiki Kaisha Method, apparatus and system for tessellating a parametric patch
US9996976B2 (en) * 2014-05-05 2018-06-12 Avigilon Fortress Corporation System and method for real-time overlay of map features onto a video feed
US9311565B2 (en) * 2014-06-16 2016-04-12 Sony Corporation 3D scanning with depth cameras using mesh sculpting
US9779528B2 (en) * 2014-09-12 2017-10-03 Microsoft Technology Licensing, Llc Text realization
US10134171B2 (en) * 2014-09-29 2018-11-20 Arm Limited Graphics processing systems
WO2016176511A1 (en) * 2015-04-29 2016-11-03 Data Cocoon LLC Tessellated data visualization system
GB2533444B (en) * 2015-06-05 2017-08-16 Imagination Tech Ltd Tessellation method
GB2533443B (en) * 2015-06-05 2018-06-06 Imagination Tech Ltd Tessellation method using recursive sub-division of triangles
US20170091993A1 (en) * 2015-09-25 2017-03-30 Microsoft Technology Licensing, Llc 3D Model Generation From Map Data and User Interface
US10204447B2 (en) * 2015-11-06 2019-02-12 Microsoft Technology Licensing, Llc 2D image processing for extrusion into 3D objects
US10489970B2 (en) * 2015-11-06 2019-11-26 Microsoft Technology Licensing, Llc 2D image processing for extrusion into 3D objects
GB2546286B (en) * 2016-01-13 2020-02-12 Sony Interactive Entertainment Inc Apparatus and method of image rendering

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100935886B1 (ko) * 2009-06-19 2010-01-07 인하대학교 산학협력단 그래픽스 처리 유닛을 이용한 사진트리 기반의 지형 렌더링 방법
KR101129084B1 (ko) 2011-09-14 2012-03-23 인하대학교 산학협력단 정점 편향 배분을 이용한 지형 렌더링 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
사진트리 기반 지형렌더링을 위한 GPU 기반의 적응형 상세단계 조절 방법, 인하대학교 대학원 정보공학과(2009.02)*

Also Published As

Publication number Publication date
US20170116780A1 (en) 2017-04-27
US9959670B2 (en) 2018-05-01
WO2015119325A1 (ko) 2015-08-13
KR20150093391A (ko) 2015-08-18

Similar Documents

Publication Publication Date Title
KR101555426B1 (ko) 지형 렌더링 방법 및 장치
US10504253B2 (en) Conservative cell and portal graph generation
CN106251384B (zh) 使用三角形的递归再分的细分方法
CN106327577B (zh) 基于局部曲率熵和四叉树结构的三维地形曲面优化方法
CN104966265B (zh) 图形处理方法和设备
CN109685080B (zh) 基于霍夫变换与区域生长的多尺度平面提取方法
CN107767453B (zh) 一种基于规则约束的建筑物lidar点云重构优化方法
CN111275633B (zh) 基于图像分割的点云去噪方法、系统、装置和存储介质
US10713844B2 (en) Rendering based generation of occlusion culling models
Truong-Hong et al. Octree-based, automatic building facade generation from LiDAR data
CN113012063B (zh) 一种动态点云修复方法、装置及计算机设备
US20140347373A1 (en) Method of generating terrain model and device using the same
CN114202642A (zh) 三维三角网模型中超大空洞的填补方法及设备
KR20140103407A (ko) 이중모드 정점 분할기법을 이용한 지형 렌더링 가속화 방법
Lesparre et al. Simplified 3D city models from LiDAR
KR101228118B1 (ko) 다각형 중요도에 기반을 둔 교차 검사 가속화 자료 구조 구성 방법
KR101673442B1 (ko) 비주얼 헐 근사화에 대해 dbss로 재메쉬화하는 방법 및 장치
JP2020071501A (ja) 地形推定プログラム、地形推定方法、及び、地形推定装置
CN111729303B (zh) 一种大地图烘焙切割方法及恢复方法
KR102506751B1 (ko) 3차원 객체 시각화 방법 및 장치
CN117807782B (zh) 一种实现三维仿真模型的方法
CN117274535B (zh) 基于点云密度重构实景三维模型的方法、装置及电子设备
KR102497535B1 (ko) 계층적 정점 응집 맵을 이용한 실시간 지형 모델링 및 렌더링 방법
US20240144419A1 (en) Systems, methods, and media for determining a stopping condition for model decimation
Dong et al. Basics of LiDAR Data Processing

Legal Events

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

Payment date: 20180723

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190808

Year of fee payment: 5