KR100551132B1 - method for filtering of triangle strip in rendering system of view-dependency Level Of Detail based - Google Patents
method for filtering of triangle strip in rendering system of view-dependency Level Of Detail based Download PDFInfo
- Publication number
- KR100551132B1 KR100551132B1 KR1020030051895A KR20030051895A KR100551132B1 KR 100551132 B1 KR100551132 B1 KR 100551132B1 KR 1020030051895 A KR1020030051895 A KR 1020030051895A KR 20030051895 A KR20030051895 A KR 20030051895A KR 100551132 B1 KR100551132 B1 KR 100551132B1
- Authority
- KR
- South Korea
- Prior art keywords
- triangle
- strip
- vertices
- triangular
- triangles
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
- G06T2207/10021—Stereoscopic video; Stereoscopic image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
본 발명은 뷰-의존 LOD(Level Of Detail) 메쉬를 효과적으로 렌더링하기 위한 스킵 스트립(skip strip) 구조에서 반복 정점을 효과적으로 제거하여 디스플레이를 위한 삼각형 스트립을 효과적으로 생성하는 효율적인 삼각형 스트립의 필터링 방법을 제공하기 위한 것으로서, 3차원 그래픽 영상에서 삼각형으로 구성되는 삼각형 메쉬를 삼각형 스트립으로 표현하는 단계와, 상기 생성된 삼각형 메쉬에 대해 선축약(edge collapse) 연산자와 같은 간략한 과정을 상기 삼각형의 두 정점에 적용하는 단계와, 상기 간략화 과정을 스킵 스트립으로 표현하는 단계와, 상기 스킵 스트립에서 추출된 삼각형 스트립을 퇴화 삼각형 제거 필터(Degenerate Triangle Free-Filter : DTFF)를 통해 삼각형을 이루는 정점들만 추출하여 이 추출된 유효한 삼각형을 이용하여 삼각형 스트립으로 정점들을 최적화 시키는 단계와, 상기 유효한 삼각형을 이용하여 삼각형 스트립으로 최적화된 정점들을 그래픽 엔진으로 보내 렌더링을 수행하는 단계를 포함하여 이루어지는데 있다.The present invention provides an efficient triangular strip filtering method that effectively removes the repetitive vertices from a skip strip structure for effectively rendering a view-dependent level of detail (LOD) mesh to effectively produce a triangular strip for display. Representing a triangular mesh consisting of triangles in a three-dimensional graphic image as a triangular strip, and applying a simple process such as an edge collapse operator to the two vertices of the triangle for the generated triangular mesh Expressing the simplification process as a skip strip, extracting only triangle vertices through a degenerate triangle free-filter (DTFF), and extracting the triangle strip extracted from the skip strip. Vertices in a triangular strip using triangles And optimizing the vertices and sending the vertices optimized to the triangular strip to the graphics engine using the valid triangles to perform rendering.
3차원 그래픽스 하드웨어, 삼각형 메쉬, 삼각형 스트립, 스킵 스트립, LOD3D Graphics Hardware, Triangle Mesh, Triangle Strip, Skip Strip, LOD
Description
도 1(a)(b)은 종래 기술에 따른 삼각형 스트립의 두 가지 종류인 순차 스트립(a sequential strip)과 일반화된 스트립(a generalized strip)을 나타낸 도면1 (a) (b) show two types of triangular strips according to the prior art, a sequential strip and a generalized strip;
도 2 는 본 발명에 따른 뷰-의존 LOD 기반 렌더링 시스템에서 삼각형 스트립의 필터링 방법을 나타낸 흐름도2 is a flowchart illustrating a method of filtering triangle strips in a view-dependent LOD based rendering system according to the present invention.
도 3(a)은 본 발명에 따른 레귤러 스트립 노드로부터 정점을 스캐닝하는 시퀀스의 실시예3 (a) is an embodiment of a sequence for scanning vertices from a regular strip node in accordance with the present invention.
도 3(b)은 본 발명에 따른 스왑 스트립 노드로부터 정점을 스캐닝하는 시퀀스의 실시예3 (b) is an embodiment of a sequence for scanning vertices from a swap strip node according to the present invention.
도 4 는 본 발명에 따른 스킵 스트립 노드로부터 정점을 스캐닝하는 시퀀스의 실시예4 is an embodiment of a sequence for scanning vertices from a skip strip node in accordance with the present invention.
도 5(a) 내지 5(h)는 본 발명에 따른 삼각형 스트립의 필터링 방법을 실험에서 사용한 다양한 모델들을 나타낸 도면5 (a) to 5 (h) show various models using the method of filtering a triangular strip according to the present invention in an experiment.
도 6a, 6b, 6c, 6d는 다양한 LOD 레벨에서 그래픽 엔진으로 전송되는 정점의 개수를 보여준 그래프6A, 6B, 6C, and 6D are graphs showing the number of vertices sent to the graphics engine at various LOD levels.
본 발명은 3차원 그래픽 가속기에 관한 것으로, 특히 뷰-의존 LOD 기반 렌더링 시스템에서 효과적으로 삼각형 메쉬를 렌더링하기 위한 스킵 스트립 구조를 위한 향상된 삼각형 스트립의 필터링 방법에 관한 것이다.TECHNICAL FIELD The present invention relates to a three-dimensional graphics accelerator, and more particularly, to an improved triangular strip filtering method for skip strip structures for rendering triangular meshes effectively in a view-dependent LOD based rendering system.
최근 3차원 그래픽 기법들이 PC에 도입되면서 좀 더 현실감 있고 화려한 화면을 구성하기 위해서 많은 수의 폴리곤 처리와 광원효과와 같은 특수효과를 효율적으로 처리할 수 있는 3차원 그래픽 하드웨어들이 시장의 주류를 이루게 되었다.Recently, 3D graphics techniques have been introduced to the PC, and 3D graphics hardware, which can efficiently handle a large number of polygons and special effects such as light effects, has become the mainstream of the market in order to construct a more realistic and colorful screen. .
특히, 3차원 화면을 이용하여 사용자들에게 높은 현실감을 제공하는 게임들이 큰 호응을 얻으면서 이에 대한 연구가 큰 발전을 이루게 되었다.In particular, as games that provide high realism to users using 3D screens have received great response, research on this has made great progress.
이와 같은 3차원 그래픽 영상은 주로 점, 선, 다각형으로 구성되며, 대부분의 3차원 렌더링 처리는 주로 삼각형을 고속으로 처리하는 구조를 갖는다.Such 3D graphic images are mainly composed of points, lines, and polygons, and most 3D rendering processes mainly have a structure of processing triangles at high speed.
이와 같이 상기 3차원 그래픽 영상은 삼각형으로 구성되는 삼각형 집합인 삼각형 메쉬(mesh)로 나타낼 수 있으며, 효과적인 렌더링을 위해 삼각형 메쉬를 구성하는 삼각형들을 독립적으로 처리하기보다는 일련의 삼각형 스트립으로 구성하여 렌더링하는 삼각형 스트립구조가 제안되었다. 또한 상기 삼각형 메쉬를 뷰-의존 LOD 기반 렌더링 시스템에서 효율적인 렌더링을 위해 삼각형 스트립 구조를 사용하기 위한 대표적인 데이터 구조로 스킵 스트립 구조가 제안되었다.As described above, the 3D graphic image may be represented by a triangle mesh, which is a set of triangles composed of triangles. For efficient rendering, the 3D graphic image is formed by forming a series of triangular strips instead of independently processing triangles constituting the triangle mesh. Triangular strip structures have been proposed. In addition, a skip strip structure has been proposed as a representative data structure for using the triangle strip structure for efficient rendering of the triangle mesh in a view-dependent LOD based rendering system.
일반적으로 뷰-의존 기판 렌더링을 위해서는 선축약(edge collapse)과 같은 간략화 연산자를 두 정점에 적용하며, 이러한 두 정점은 보통 부모-자식 관계로 나타내어지는 정점 위계 트리(vertex hierarchy tree)로 표현된다.In general, for view-dependent substrate rendering, simplification operators, such as edge collapse, are applied to two vertices, and these two vertices are represented by a vertex hierarchy tree, usually represented by a parent-child relationship.
그리고 상기 삼각형 스트립은 상기 삼각형 메쉬에 대한 간결한 표현을 제공하는 데이터 구조 중에 하나로서 시작하는 삼각형을 제외한 두 개의 연속적인 삼각형의 변을 공유한다.And the triangular strip shares the sides of two consecutive triangles except the triangle starting as one of the data structures providing a concise representation of the triangular mesh.
즉, 메쉬에서 각각의 삼각형은 3개의 정점을 그래픽 엔진에 개별적으로 보냄으로 렌더링되게 되는데, 일반적인 정규 메쉬에서 T개의 삼각형을 렌더링하기 위해 삼각형을 독립적으로 렌더링하면, 3T개의 정점이 그래픽 엔진으로 보내진다. In other words, each triangle in the mesh is rendered by sending three vertices separately to the graphics engine. If you render triangles independently to render T triangles in a normal regular mesh, 3T vertices are sent to the graphics engine. .
그러나 상기 삼각형 스트립은 각 스트립의 첫 번째 삼각형을 제외한 나머지 삼각형에서 이전 삼각형의 두 정점을 재사용하여 T+2개의 정점만을 그래픽 엔진으로 보내지게 된다. 따라서, 정점 반복 횟수와 렌더링 시간을 대략 1/2에서 1/3 정도로 감소시키게 된다.However, the triangular strip reuses two vertices of the previous triangle in all but the first triangle of each strip, so that only T + 2 vertices are sent to the graphics engine. Thus, the number of vertex iterations and rendering time is reduced by approximately 1/2 to 1/3.
이러한 삼각형 스트립은 현재 그래픽 하드웨어와 OpenGL과 같은 표준 그래픽 라이브러리에서 직접 지원된다.These triangular strips are currently supported directly by graphics hardware and standard graphics libraries such as OpenGL.
도 1(a)(b)은 종래 기술에 따른 삼각형 스트립의 두 가지 종류인 순차 스트립(a sequential strip)과 일반화된 스트립(a generalized strip)을 나타낸 도면이다.1 (a) and (b) show two types of triangular strips according to the prior art, a sequential strip and a generalized strip.
도 1(a)에서 나타내는 순차 스트립은 스트립 형성의 방향이 시계방향(CW)과 반시계 방향(CCW)이 교대로 반복된다. 반면, 도 1(b)에서 나타내는 일반화된 스트립은 스트립 형성의 방향이 반복되지 않을 수 있다. 따라서, 상기 일반화된 스트립 을 순차 스트립으로 변환하기 위해서 스왑(swap) 연산이 필요하다.In the sequential strip shown in Fig. 1A, the strip forming directions are alternately repeated in the clockwise direction CW and the counterclockwise direction CCW. On the other hand, the generalized strip shown in FIG. 1 (b) may not repeat the direction of strip formation. Therefore, a swap operation is required to convert the generalized strip into a sequential strip.
이 스왑 연산은 이전의 두 정점의 순서를 바꾸는 역할을 하는데, 정점을 반복함으로 구현된다.This swap operation reverses the order of the two previous vertices, implemented by iterating over them.
즉, 도 1(b)에서 정점 'c'를 반복함으로, 삼각형 'bcd'와 삼각형 'dcf'사이의 'cdc'를 생성한다.That is, by repeating the vertex 'c' in FIG. 1 (b), 'cdc' between the triangle 'bcd' and the triangle 'dcf' is generated.
그렇지만, 이러한 정점의 반복은 퇴화 삼각형(degenerate triangles)을 생성하게 된다.However, the repetition of these vertices produces degenerate triangles.
그리고 두 정점이 선축약 되는 간략화 과정에서 삼각형 스트립은 축약되어 사라지는 정점(자식정점)을 축약된 정점(부모노드)으로 대체한다.In the simplification process, where two vertices are pre-condensed, the triangular strip replaces the shortened and dissipated vertices with the abbreviated vertex (parent).
뷰-의존 LOD 기반 렌더링 시스템과 같이 삼각형 메쉬의 위상 정보가 매 프레임별로 변하는 경우에 위와 같은 삼각형 스트립 구조의 렌더링 효율성을 이용하기 위해서는 선축약 연산자에 의해 변화되는 삼각형 스트립 구조를 표현하는 스킵 스트립 구조가 필요하다.Like the view-dependent LOD-based rendering system, in order to use the rendering efficiency of the triangle strip structure when the phase information of the triangle mesh changes every frame, the skip strip structure representing the triangle strip structure that is changed by the prediction operator is used. need.
그리고 스킵 스트립 기법에서는 가장 높은 해상도의 삼각형 메쉬를 삼각형 스트립으로 표현하고, 주어진 LOD 메쉬를 렌더링하기 위해 주어진 단계의 삼각형 스트립에 나타나는 자식 노드를 부모 노드로 대체한 수정된 삼각형 스트립을 그래픽스 엔진으로 보낸다.In the skip strip technique, the highest resolution triangular mesh is represented as a triangular strip, and a modified triangular strip is substituted to the graphics engine by substituting parent nodes for child nodes appearing in the triangular strip at a given stage to render a given LOD mesh.
이때, 상기 스킵 스트립에서 추출된 노드들은 낮은 해상도에 있을수록 간략화로 인한 동일한 정점이 반복, 축적되어 있으며, 이러한 정점들은 크기가 제로(zero)인 상기 퇴화 삼각형을 만들게 된다.In this case, the nodes extracted from the skip strip are repeatedly accumulated and accumulated at a lower resolution, and these vertices form the degenerate triangle having a zero size.
이와 같은 퇴화 삼각형의 증가는 그래픽 데이터의 크기를 증가시킬 뿐만 아니라 데이터의 복잡도를 증가시켜 그래픽 엔진의 성능에 악영향을 미치게 된다.The increase in the degenerate triangle not only increases the size of the graphic data but also increases the complexity of the data, thereby adversely affecting the performance of the graphic engine.
따라서, 이러한 퇴화 삼각형은 최종화면에 기여하지 못하는 삼각형으로 이러한 정점의 시퀀스를 효과적으로 필터링 하는 기법이 필요하다. Therefore, such a degenerate triangle is a triangle that does not contribute to the final screen and a technique for effectively filtering the sequence of these vertices is required.
현재 이를 해결하기 위해 단순 삼각형 스트립 스캐너(STSS)가 제안되었다[J. El-Sana,F. Evans, S. Skiena, and E. Azanli, Efficiently Computing and Updating Triangle Strips for Real-Time Rendering'', The Journal Computer-Aided Design, vol 32, no 13, 2000, pp. 753-772.]At present, a simple triangle strip scanner (STSS) has been proposed to solve this problem. El-Sana, F. Evans, S. Skiena, and E. Azanli, Efficiently Computing and Updating Triangle Strips for Real-Time Rendering '', The Journal Computer-Aided Design , vol 32,
상기 STSS는 디스플레이 스트립에서 반복되는 정점의 시퀀스를 찾고, 이 정점들을 줄여 렌더링하지 않는 방식으로, 스킵 스트립 노드로부터 (aa)+와 (ab)+의 정점 패턴을 감지하여 (aa)와 (ab)로 각각 교체한다. 그 후에 수정된 디스플레이 스트립이 그래픽 엔진으로 보내진다. The STSS detects a vertex pattern of (aa) + and (ab) + from the skip strip node in such a way that it finds a sequence of repeated vertices in the display strip and does not render these vertices by rendering them (aa) and (ab) Replace each with. The modified display strip is then sent to the graphics engine.
그러나 상기 STSS는 모델 레벨이 높은 경우에는 퇴화 삼각형을 잘 제거하지만, 레벨이 낮은 경우엔 여전히 비효율적이다. 왜냐하면, (aabb) 및 (abbc)과 같은 패턴의 퇴화 삼각형들을 제거할 방법이 없고, 이러한 삼각형들은 모델이 낮은 레벨로 갈수록 더 많이 생기기 때문이다.However, the STSS removes the degenerate triangle well when the model level is high, but is still inefficient when the level is low. Because there is no way to remove degenerate triangles of patterns such as (aabb) and (abbc), these triangles are more likely to occur as the model goes to lower levels.
따라서 본 발명은 상기와 같은 문제점을 해결하기 위해 안출한 것으로서, 스왑 연산을 제외한 반복 정점을 효율적으로 제거하여 삼각형 스트립을 구성하는 효 율적인 삼각형 스트립의 필터링 방법을 제공하는데 그 목적이 있다.Accordingly, an object of the present invention is to provide an efficient triangular strip filtering method constituting a triangular strip by efficiently removing the repetitive vertices except for a swap operation.
본 발명의 다른 목적은 DTFF(Degenerate Triangle Free-Filter)를 사용하여 그래픽 엔진으로 보내는 장점의 수를 감소시킬 수 있는 삼각형 스트립의 필터링 방법을 제공하는데 있다. Another object of the present invention is to provide a triangular strip filtering method that can reduce the number of advantages sent to the graphics engine by using a degenerate triangle free-filter (DTFF).
상기와 같은 목적을 달성하기 위한 본 발명에 따른 3차원 그래픽 가속기에서 삼각형 스트립의 필터링 방법의 특징은 3차원 그래픽 영상에서 삼각형으로 구성되는 삼각형 메쉬를 삼각형 스트립으로 표현하는 단계와, 상기 생성된 삼각형 메쉬에 대해 선축약(edge collapse) 연산자와 같은 간략화 과정을 상기 삼각형의 두 정점에 적용하는 단계와, 상기 간략화 과정을 스킵 스트립으로 표현하는 단계와, 상기 스킵 스트립에서 추출된 삼각형 스트립을 퇴화 삼각형 제거 필터(Degenerate Triangle Free-Filter : DTFF)를 통해 삼각형을 이루는 정점들만 추출하여 이 추출된 유효한 삼각형을 이용하여 삼각형 스트립으로 정점들을 최적화 시키는 단계와, 상기 유효한 삼각형을 이용하여 삼각형 스트립으로 최적화된 정점들을 그래픽 엔진으로 보내 렌더링을 수행하는 단계를 포함하여 이루어지는데 있다.In the three-dimensional graphics accelerator according to the present invention for achieving the above object, the feature of the filtering method of the triangular strip is the step of expressing a triangular mesh consisting of triangles in a three-dimensional graphics image as a triangular strip, the generated triangular mesh Applying a simplification process such as an edge collapse operator to the two vertices of the triangle, expressing the simplification process as a skip strip, and degenerating a triangle strip from the skip strip Extracting only vertices that form a triangle through the Degenerate Triangle Free-Filter (DTFF), optimizing the vertices with a triangular strip using the extracted valid triangles, and graphicizing the vertices optimized with a triangular strip using the valid triangles. Send it to the engine to perform the rendering It consists of including.
이때, 상기 DTFF를 통해 반복 정점을 줄이는 단계는 상기 스킵 스트립으로부터 정점의 시퀀스를 스캔하여 삼각형을 이루는 정점과 방향만을 추출하는 단계와, 상기 추출된 정점 및 방향을 통해 이웃하는 두 삼각형의 연속적인 패턴을 조사하는 단계와, 상기 조사 결과, 삼각형 정점의 연속적인 패턴의 방향이 서로 다르고, 시작하는 삼각형을 제외한 두 개의 연속적인 삼각형의 변을 공유하면, 레귤러(regular) 처리를 수행하는 단계와, 상기 조사 결과, 삼각형 정점의 연속적인 패턴이 방향이 서로 같고, 시작하는 삼각형을 제외한 두 개의 연속적인 삼각형의 변을 공유하면, 스왑(swap) 처리를 수행하는 단계와, 상기 조사 결과, 삼각형 정점의 연속적인 패턴이 위의 두 경우 이 외이면, 리셋(reset) 처리를 수행하는 단계를 포함하여 이루어지는 것이 바람직하다.In this case, reducing the repeating vertex through the DTFF may include scanning a sequence of vertices from the skip strip, extracting only vertices and directions forming a triangle, and successive patterns of two neighboring triangles through the extracted vertices and directions. Performing a regular process if the directions of the continuous patterns of the triangle vertices are different from each other and the sides of two consecutive triangles except for the starting triangle are shared. If the continuous pattern of triangle vertices is the same in direction and shares two consecutive triangles except for the starting triangle, performing a swap process; If the typical pattern is other than the above two cases, it is preferable to include the step of performing a reset process.
또한, 상기 리셋 처리는 삼각형 스트립의 스트립 형성시 이웃하는 삼각형의 공통 변이 존재하지 않는 삼각형의 두 정점을 검출하는 단계와, 상기 검출된 두 정점을 갖는 삼각형까지 포함하는 삼각형 스트립을 구현하는 단계와, 상기 검출된 두 정점 중 어느 하나의 정점과 공유되는 정점을 포함하는 삼각형부터 삼각형의 공통 변이 존재하지 않는 삼각형의 두 정점을 검출하는 단계와, 상기 단계를 반복 수행하는 단계를 포함하여 이루어지는 것이 바람직하다.In addition, the reset process may include detecting two vertices of a triangle in which a common side of neighboring triangles does not exist when forming a strip of the triangle strip, implementing a triangle strip including up to a triangle having the detected two vertices; And detecting two vertices of a triangle having no common side of the triangle from a triangle including a vertex shared with one of the two vertices detected, and repeating the above steps. .
또한, 상기 리셋 처리는 하나의 삼각형에 의해 하나의 스트립이 끝나고, 다른 하나의 삼각형에 의해 다른 스트립이 시작되는 것이 바람직하다.In addition, the reset process preferably ends with one strip by one triangle and another strip by another triangle.
본 발명의 다른 목적, 특성 및 이점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.Other objects, features and advantages of the present invention will become apparent from the following detailed description of embodiments with reference to the accompanying drawings.
본 발명에 따른 3차원 그래픽 가속기에서 삼각형 스트립의 필터링 방법의 바람직한 실시예에 대하여 첨부한 도면을 참조하여 설명하면 다음과 같다.A preferred embodiment of the triangular strip filtering method in the 3D graphic accelerator according to the present invention will be described with reference to the accompanying drawings.
도 2 는 본 발명에 따른 3차원 그래픽 가속기에서 삼각형 스트립의 필터링 방법을 나타낸 흐름도이다.2 is a flowchart illustrating a method of filtering triangular strips in a three-dimensional graphics accelerator according to the present invention.
도 2를 참조하여 설명하면, 먼저 3차원 그래픽 영상에서 삼각형으로 구성되 는 삼각형 메쉬는 효율적인 렌더링을 위해 삼각형 스트립으로 표현된다(S10).Referring to FIG. 2, first, a triangular mesh composed of triangles in a 3D graphic image is represented by a triangular strip for efficient rendering (S10).
그리고 삼각형 메쉬에서 선축약(edge collapse)과 같은 간략화 연산자를 상기 삼각형의 두 정점에 적용하여, 삼각형 메쉬를 간략화 한다(S20).In addition, a triangulation operator such as edge collapse is applied to the two vertices of the triangle in the triangular mesh to simplify the triangular mesh (S20).
이때, 간략화되는 두 정점은 축약되어 사라지는 자식 정점과 축약되는 정점인 부모 정점의 관계를 가지며, 간략화에 따른 부모-자식 관계는 스킵 스트립 구조로 표현된다.In this case, two simplified vertices have a relationship between a shortened child vertex and a shortened parent vertex, and the parent-child relationship according to the simplified representation is represented by a skip strip structure.
따라서, 원본 메쉬의 삼각형 스트립은 주어진 LOD 레벨에서 스트립으로 메쉬를 렌더링하기 위해 각각의 단순화된 정점들이 가장 가까운 활성화된 조상(ancestor)으로 교체된다. 이때, 상기 활성화는 주어진 뷰-의존 조건에 의해 보여지는 정점이다(S30).Thus, the triangular strip of the original mesh is replaced with each of the simplified vertices closest to the active ancestor to render the mesh to the strip at a given LOD level. In this case, the activation is a vertex seen by a given view-dependent condition (S30).
상기 스킵 스트립에서 삼각형 스트립은 렌더링을 위해 2개의 형태를 가진다.The triangular strip in the skip strip has two forms for rendering.
하나는 원본 모델에 대한 스트립이고, 다른 하나는 LOD 레벨에 맞는 디스플레이를 위한 스트립이다.One is a strip for the original model, and the other is a strip for displays that fit the LOD level.
상기 디스플레이 스트립은 렌더링 단계에서 스킵 스트립 노드로부터 추출되는데, 스킵 스트립 노드는 정점의 기하학적 정보와 부모와 자식의 리스트에 대한 정보를 가지고 있다. 이때, 자식의 포인터는 정확히 하나만 활성화된다.The display strip is extracted from the skip strip node in the rendering stage, which has the geometric information of the vertices and the information of the parent and the child list. At this time, exactly one child pointer is activated.
또한 단순화 과정에서 노드가 부모 노드로 컬렙스 되면, 노드의 부모 포인터는 활성화로 표시되고, 그렇지 않으면 비활성화로 표시된다.Also, in the simplification process, if a node is collapsed as a parent node, the node's parent pointer is marked as active, otherwise it is marked as inactive.
만약에 노드의 부모가 활성화이면 비활성화 부모가 나올 때까지 계속 따라간다. 현재의 단계에서 노드는 비활성화된 포인터에 의해 보여지게 된다.If the node's parent is active, continue following until the inactive parent is found. In the current step, the node is shown by the deactivated pointer.
그러나, 모델의 레벨이 낮아질수록 반복되는 정점들이 디스플레이 스트립에 여러 번 나타나게 된다. 이것은 그래픽 엔진으로 보내지는 정점의 수를 증가시키게 된다.However, as the level of the model decreases, repeated vertices appear several times in the display strip. This will increase the number of vertices sent to the graphics engine.
따라서, 상기 스킵 스트립을 통해 업데이트된 삼각형 스트립을 퇴화 삼각형 제거 필터(Degenerate Triangle Free-Filter : DTFF)를 통해 삼각형을 이루는 정점들만 추출하여 이 추출된 유효한 삼각형을 이용하여 삼각형 스트립으로 정점들을 최적화 시키게 된다(S40).Therefore, the triangle strip updated through the skip strip is extracted only through vertices forming a triangle through a degenerate triangle free-filter (DTFF), and the vertices are optimized by using the extracted valid triangle. (S40).
좀더 상세히 설명하면, 상기 DTFF는 먼저, 상기 스킵 스트립으로부터 정점의 시퀀스를 스캔하여 삼각형을 이루는 정점과 방향만을 추출한다.In more detail, the DTFF first scans the sequence of vertices from the skip strip to extract only the vertices and directions that form a triangle.
그리고 상기 추출된 정점 및 방향을 통해 이웃하는 두 삼각형의 연속적인 패턴을 조사한다.Then, through the extracted vertices and directions, a continuous pattern of two neighboring triangles is examined.
상기 조사 결과, 도 3(a)과 같이 삼각형 정점의 연속적인 패턴의 방향이 서로 다르고, 삼각형은 'abc'와 'def'일 때, "(b=d) AND (c=e)"라면, 레귤러(regular) 처리를 수행하여 'abcf'의 시퀀스를 디스플레이 스트립에 추가한다. 이 결과로 공통 변(b,c)을 재사용하기 때문에 삼각형 'def'은 두 개의 정점을 감소시킨다.As a result of the above investigation, when the direction of the continuous pattern of the triangle vertices is different from each other as shown in FIG. 3 (a), and the triangles are 'abc' and 'def', Perform regular processing to add a sequence of 'abcf' to the display strip. As a result, the triangle 'def' reduces two vertices, because the common side (b, c) is reused.
이때, 상기 레귤러 처리는 삼각형 스트립의 스트립형성 방향이 시계 방향과 반시계 방향이 교대로 반복되는 이웃하는 삼각형의 공통 변의 두 정점을 검출하고, 상기 검출된 두 정점을 재사용하는 삼각형 스트립을 구현하는 과정으로 이루어진다.In this case, the regular process detects two vertices of a common side of a neighboring triangle in which the strip forming direction of the triangular strip is alternately repeated in the clockwise direction and the counterclockwise direction, and implements the triangular strip reusing the detected two vertices. Is done.
그리고 상기 조사 결과, 도 3(b)과 같이, 삼각형 정점의 연속적인 패턴이 방향이 서로 같고, 삼각형은 'abc'와 'def'일 때, "(b=e) AND (c=d)"라면, 스왑(swap) 처리를 수행하여 'abcbf'의 시퀀스를 디스플레이 스트립에 추가한다. 이때, 정점 b가 스왑 연산으로 인해 반복되므로 삼각형 'def'는 한 개의 정점을 감소시킨다.As a result of the investigation, as shown in FIG. 3 (b), when the continuous patterns of the triangle vertices have the same direction and the triangles are 'abc' and 'def', "(b = e) AND (c = d)" If so, a swap process is performed to add the sequence of 'abcbf' to the display strip. At this time, since vertex b is repeated due to the swap operation, the triangle 'def' reduces one vertex.
이때, 상기 스왑 처리는 삼각형 스트립의 스트립형성 방향이 시계 방향과 반시계 방향이 교대로 반복되지 않는 이웃하는 삼각형의 두 정점들을 검출하고, 상기 검출 된 두 정점 중 먼저 시작되는 정점을 한번 반복하는 삼각형 스트립을 구현하는 과정으로 이루어진다.In this case, the swap process detects two vertices of neighboring triangles in which the strip forming direction of the triangular strip is not repeated in the clockwise direction and the counterclockwise direction, and repeats the first vertex of the detected two vertices once. The process consists of implementing the strip.
또한 상기 조사 결과, 도 4와 같이 삼각형 정점의 연속적인 패턴이 위의 두 경우가 아니라면, 리셋(reset) 처리를 수행하여 새로운 디스플레이 스트립을 구성한다. 다시 말하면 현재의 디스플레이 스트립은 삼각형 'abc'로 끝내고, 다시 새로운 디스플레이 스트립 'def'를 생성한다.In addition, as a result of the investigation, if the continuous pattern of the triangle vertices as shown in FIG. 4 is not the above two cases, a reset process is performed to form a new display strip. In other words, the current display strip ends with a triangle 'abc' and again creates a new display strip 'def'.
이와 같이, 상기 퇴화 삼각형 제거 필터(Degenerate Triangle Free-Filter : DTFF)를 통해 유효한 삼각형을 검출하여 삼각형 스트립으로 최적화된 정점들을 그래픽 엔진으로 보내 렌더링을 수행하게 된다(S50).As described above, valid triangles are detected through the degenerate triangle free-filter (DTFF), and vertices optimized to triangle strips are sent to the graphics engine for rendering.
이와 같이 이루어지는 본 발명에 따른 삼각형 스트립의 필터링 방법을 실시예를 통해 상세히 설명하면 다음과 같다.The triangular strip filtering method according to the present invention as described above will be described in detail by way of examples.
도 4 는 본 발명에 따른 스킵 스트립 노드로부터 정점을 스캐닝하는 시퀀스의 실시예이다.4 is an embodiment of a sequence for scanning vertices from a skip strip node in accordance with the present invention.
도 4를 참조하여 스킵 스트립을 수행한 경우, 종래 STSS는 디스플레이 스트립으로 615 515 502 615 206 620 620 580 66 761 761 258 761 의 정점 시퀀스를 얻는다. When the skip strip is performed with reference to FIG. 4, the conventional STSS obtains a vertex sequence of 615 515 502 615 206 620 620 580 66 761 761 258 761 as a display strip.
반면에 DTFF는 502 615 206 620 (-1) 620 580 66 761을 얻으며, (-1)는 새로운 삼각형 스트립의 시작을 가리키고 렌더링되지 않는다. 따라서 502 615 206 620까지 렌더링을 수행한 후, 다시 620 580 66 761까지 렌더링을 수행하게 된다.DTFF, on the other hand, gets 502 615 206 620 (-1) 620 580 66 761, where (-1) points to the beginning of a new triangular strip and is not rendered. Therefore, after rendering up to 502 615 206 620, rendering up to 620 580 66 761 is performed again.
이 실시예에서는 그래픽 엔진으로 전송되는 정점의 수가 각각 STSS의 경우 13, DTFF의 경우 8임을 알 수 있고, 개별적으로 정점을 전송하는 경우 12개임을 알 수 있다.In this embodiment, it can be seen that the number of vertices transmitted to the graphics engine is 13 for STSS and 8 for DTFF, and 12 for transmitting vertices individually.
표 1은 실험에서 사용된 3차원 데이터 모듈들을 나타낸다. 이 표에서 T는 삼각형의 수를 나타내고, V는 정점의 개수, VTS는 스트립 안에서 정점의 개수를 나타낸다. 또한, TS는 삼각형 스트립의 개수이며, S는 스왑 연산의 개수이다.Table 1 shows the three-dimensional data modules used in the experiment. In this table, T represents the number of triangles, V represents the number of vertices, and VTS represents the number of vertices in the strip. TS is the number of triangular strips, and S is the number of swap operations.
각각의 3차원 모델들은 STRIPE 2.0을 통해 스트리퍼피케이션을 수행했다.Each three-dimensional model was stripped by STRIPE 2.0.
또한 스킵 스트립을 구성하기 위해서 반쇠퇴 연산(half-edge collapse)으로 단순화 과정을 수행했으며, 메트릭은 QEM(Quadric Error Metric)을 이용했다.In addition, a simplification process was performed with half-edge collapse to construct a skip strip, and the metric used a quadratic error metric (QEM).
단순화의 연산으로 반쇠퇴 연산을 이용하는 이유는 이전 레벨의 정점에 대한 기하 정보를 재사용할 수 있기 때문이다. 이것은 모델의 레벨이 변할 때 저장 공간 을 줄이는 장점을 준다.The reason for using the semi-decay operation as a simplification is that you can reuse the geometry information for the vertices of the previous level. This has the advantage of reducing storage space as the model's level changes.
또한, QEM은 속도가 빠르고 정확하며 구현하기 쉬운 장점을 가지고 있어 널리 알려져 있다.QEMs are also well known for their speed, accuracy and ease of implementation.
도 5(a) 내지 5(h)는 본 발명에 따른 삼각형 스트립의 필터링 방법을 실험에서 사용한 다양한 모델들을 나타낸 도면이다. 이때, 도 5(a) 내지 5(h)는 스킵 스트립 노드에서 정점의 시퀀스를 균일하게 추출했으며, 시점 의존의 제약을 제한하지 않았다.5 (a) to 5 (h) are diagrams showing various models using the filtering method of the triangular strip according to the present invention in an experiment. 5 (a) to 5 (h) uniformly extract the sequence of vertices in the skip strip node, and do not limit the viewpoint dependence.
그러한 추출은 필터링 알고리즘에 영향을 주지 않으며 연속 LOD의 일반성을 제공한다.Such extraction does not affect the filtering algorithm and provides the generality of continuous LOD.
실험에서 그래픽 엔진으로 보내지는 정점의 수를 다양한 LOD 레벨에서 4개의 3차원 모델을 통해 각각 DTFF와 STSS에 대해서 계산했다. 또한 삼각형을 개별적으로 전송할 때(TETI)의 정점의 수와 DTFF와 STSS를 비교했다.In the experiment, the number of vertices sent to the graphics engine was calculated for DTFF and STSS, respectively, using four three-dimensional models at various LOD levels. We also compared the number of vertices and the DTFF and STSS of the triangles individually transmitted (TETI).
도 6a, 6b, 6c, 6d는 다양한 LOD 레벨에서 그래픽 엔진으로 전송되는 정점의 개수를 보여준 그래프이다.6A, 6B, 6C, and 6D are graphs showing the number of vertices sent to the graphics engine at various LOD levels.
도 6a, 6b, 6c, 6d에서 나타낸 것과 같이, 실험 결과에서 특히 모델이 낮은 레벨로 갈수록 DTFF는 STSS 보다 상당히 많은 정점의 수를 감소시킬 수 있게 된다. As shown in Figures 6A, 6B, 6C, and 6D, the experimental results show that DTFF can reduce the number of vertices significantly greater than STSS, especially as the model goes to a lower level.
이때, 상기 DTFF는 또한 모델의 전체 레벨에서 TETI 보다 성능이 더 좋았다. At this time, the DTFF also performed better than TETI at the overall level of the model.
반면 상기 STSS는 모델 레벨이 높을 때에는 DTFF 정도의 정점을 감소했지만 낮은 레벨에서는 TETI보다도 정점의 수가 많았다.On the other hand, the STSS reduced the peak of DTFF when the model level was high, but the number of vertices was higher than that of TETI at the low level.
표 2는 렌더링을 위해 전송되는 정점 감소 비율을 보여준다.Table 2 shows the rate of vertex reduction sent for rendering.
표 1에서 보는 바와 같이, 상기 DTFF는 평균적으로 TETI와 STSS보다 약 44.4%와 22.2%의 정점의 수를 감소시켰음을 알 수 있다.As shown in Table 1, it can be seen that the DTFF reduced the number of vertices of about 44.4% and 22.2% than TETI and STSS on average.
이와 같이, 본 발명에서는 연속 LOD에서 자주 쓰이는 시점 의존 LOD 렌더링에 기반한 효율적인 필터링 알고리즘을 제안하고 있으며, 상기 DTFF의 핵심 아이디어는 렌더링 시 스킵 스트립 노드로부터 얻은 정점의 시퀀스에서 연속적인 삼각형의 공통 변을 공유하는 것으로, 전체 레벨에서 TETI보다 좋은 성능을 보였고, 특히 모델의 레벨이 낮아질수록 STSS 보다 더 좋은 성능을 나타낸다.As such, the present invention proposes an efficient filtering algorithm based on view-dependent LOD rendering that is frequently used in continuous LOD, and the core idea of DTFF is to share common sides of consecutive triangles in a sequence of vertices obtained from skip strip nodes during rendering. As a result, the performance is better than TETI at the overall level, and the lower the level of the model, the better than the STSS.
아울러, 상기 DTFF는 구현하기 쉬우며 기존의 스킵 스트립의 접근법에 잘 부합된다.In addition, the DTFF is easy to implement and fits well with existing skip strip approaches.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.Those skilled in the art will appreciate that various changes and modifications can be made without departing from the spirit of the present invention.
따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.Therefore, the technical scope of the present invention should not be limited to the contents described in the embodiments, but should be defined by the claims.
이상에서 설명한 바와 같은 본 발명에 따른 3차원 그래픽 가속기에서 삼각형 스트립의 필터링 방법은 모델이 낮은 레벨로 갈수록 DTFF가 STSS에 비하여 그래픽 엔진으로 보내는 장점의 수를 감소시킬 수 있으며, 또한 모든 레벨에서 DTFF는 각각의 삼각형을 개별적으로 보내는데 큰 성능을 보여준다. 즉, STSS와 비교해볼 때 DTFF는 평균적으로 정점의 수를 73.2%에서 22.2%까지 감소시킬 수 있다.In the three-dimensional graphics accelerator according to the present invention as described above, the filtering method of the triangular strip can reduce the number of advantages that the DTFF has to the graphics engine as compared to the STSS as the model goes to a lower level. Sending each triangle individually shows great performance. In other words, compared to STSS, DTFF can reduce the number of vertices from 73.2% to 22.2% on average.
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030051895A KR100551132B1 (en) | 2003-07-28 | 2003-07-28 | method for filtering of triangle strip in rendering system of view-dependency Level Of Detail based |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030051895A KR100551132B1 (en) | 2003-07-28 | 2003-07-28 | method for filtering of triangle strip in rendering system of view-dependency Level Of Detail based |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050013287A KR20050013287A (en) | 2005-02-04 |
KR100551132B1 true KR100551132B1 (en) | 2006-02-13 |
Family
ID=37224810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030051895A KR100551132B1 (en) | 2003-07-28 | 2003-07-28 | method for filtering of triangle strip in rendering system of view-dependency Level Of Detail based |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100551132B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106157354A (en) * | 2015-05-06 | 2016-11-23 | 腾讯科技(深圳)有限公司 | A kind of three-dimensional scenic changing method and system |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1688885B1 (en) | 2005-02-03 | 2013-06-19 | Samsung Electronics Co., Ltd. | Method, apparatus, and medium for transforming graphic data of an object |
KR101236980B1 (en) * | 2011-03-04 | 2013-02-25 | (주)로딕스 | Apparatus for transforming image data in rendering system and method thereof |
CN117456110B (en) * | 2023-12-25 | 2024-03-19 | 北京飞渡科技股份有限公司 | Three-dimensional scene metamorphosis grid data lightweight processing method |
CN117953181B (en) * | 2024-03-27 | 2024-06-21 | 江苏狄诺尼信息技术有限责任公司 | Vertex layering and incremental LOD method and system for WEB3D |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030016477A (en) * | 2001-08-20 | 2003-03-03 | 엘지전자 주식회사 | Remeshing optimizing method and apparatus for polyhedral surface |
-
2003
- 2003-07-28 KR KR1020030051895A patent/KR100551132B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030016477A (en) * | 2001-08-20 | 2003-03-03 | 엘지전자 주식회사 | Remeshing optimizing method and apparatus for polyhedral surface |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106157354A (en) * | 2015-05-06 | 2016-11-23 | 腾讯科技(深圳)有限公司 | A kind of three-dimensional scenic changing method and system |
CN106157354B (en) * | 2015-05-06 | 2019-08-23 | 腾讯科技(深圳)有限公司 | A kind of three-dimensional scenic switching method and system |
Also Published As
Publication number | Publication date |
---|---|
KR20050013287A (en) | 2005-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5005090B2 (en) | Cutting simulation display device, cutting simulation display method, and cutting simulation display program | |
KR101220412B1 (en) | A method and apparatus for reading film grain patterns in a raster order in film grain simulation | |
KR101186295B1 (en) | Method and Apparatus for rendering 3D graphic object | |
EP2933777A1 (en) | Three dimensional modeling | |
EP1688885B1 (en) | Method, apparatus, and medium for transforming graphic data of an object | |
JP4398257B2 (en) | Method and program for optimizing the space used by a texture image | |
JP2002501640A (en) | Adaptive mesh refinement method and apparatus | |
JP2002501639A (en) | Adaptive mesh refinement method and apparatus | |
KR100959349B1 (en) | A method for accelerating terrain rendering based on quadtree using graphics processing unit | |
WO2009142333A1 (en) | Image processing method, image processing apparatus, image processing program, and memory medium | |
JP3892016B2 (en) | Image processing apparatus and image processing method | |
US11087511B1 (en) | Automated vectorization of a raster image using a gradient mesh with arbitrary topology | |
US20220005261A1 (en) | Method for instant rendering of voxels | |
CN101231761A (en) | Graticule model simplification method for keeping external appearance characteristic | |
He et al. | Real-Time Extendible-Resolution Display of On-line Dynamic Terrain. | |
KR100551132B1 (en) | method for filtering of triangle strip in rendering system of view-dependency Level Of Detail based | |
JP2010035173A (en) | Image processing apparatus and method | |
JPH06203153A (en) | Method and device for processing image | |
KR101491896B1 (en) | Method for terrain rendering using bimodal vertex splitting | |
KR101215126B1 (en) | Method of decreasing a total computation time for a visual simulation loop in a virtual world application | |
CN117726774B (en) | Triangle rasterization method and device based on line generation algorithm and related equipment | |
JP2010282498A (en) | Polygon processor, program and information recording medium | |
Sim et al. | Construction of regular 3D point clouds using octree partitioning and resampling | |
JPH0652304A (en) | Device and method for processing image | |
KR20060069232A (en) | Device and method for representation of multi-level lod 3-demension image |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130204 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140129 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20150611 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20160122 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20170113 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20180112 Year of fee payment: 13 |
|
FPAY | Annual fee payment |
Payment date: 20190114 Year of fee payment: 14 |