KR20080018405A - Computer-readable recording medium for recording of 3d terrain production program - Google Patents

Computer-readable recording medium for recording of 3d terrain production program Download PDF

Info

Publication number
KR20080018405A
KR20080018405A KR1020060080456A KR20060080456A KR20080018405A KR 20080018405 A KR20080018405 A KR 20080018405A KR 1020060080456 A KR1020060080456 A KR 1020060080456A KR 20060080456 A KR20060080456 A KR 20060080456A KR 20080018405 A KR20080018405 A KR 20080018405A
Authority
KR
South Korea
Prior art keywords
terrain
module
tile
texture
lod
Prior art date
Application number
KR1020060080456A
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 KR1020060080456A priority Critical patent/KR20080018405A/en
Publication of KR20080018405A publication Critical patent/KR20080018405A/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • 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/05Geographic models

Abstract

A computer readable recording medium for recording a 3D terrain production program is provided to enhance productivity in developing games by reducing works overlapped among game developing companies for using the 3D terrain. A computer readable recording medium comprises a terrain production module(110), an LOD(Level Of Detail) module(120), a texture module(130) and an XML parsing module(140). The terrain production module(110) sets the number and the size of tiles forming the 3D terrain and inputs a height value at a terrain of a range selected by a user. The LOD module(120) includes a precompiled mesh LOD function and an ROAM(Real Time Optimally Adapting Meshes) function wherein the precompiled mesh LOD function provides selective utilization of the 3D terrain differently modeled according to a distance and the ROAM function provides one map or multi-texturing by producing detailed meshes for each proper level. The LOD module(120) adjusts mesh precision degree of the 3D terrain step by step by The texture module(130) includes a splat texture function and a frame buffer mixing function wherein the splat texture function provides mixture among nonlinear textures for the 3D terrain by using independent tiling textures and the frame buffer mixing function provides rendering of each polygon for mixture of textures. The texture module(130) arranges a set tile for making the set tile have continuity with an adjacent tile in case of converting a tile into one among set tiles which have different shapes according to the kind of terrain. The XML parsing module(140) parses the 3D terrain at an XML template parser and outputs the parsed terrain in an XML format.

Description

3차원 지형의 제작을 제공하는 지형 제작 프로그램을 기록한 컴퓨터 판독가능 기록매체{Computer-Readable Recording Medium for Recording of 3D Terrain Production Program}Computer-Readable Recording Medium for Recording of 3D Terrain Production Program

도 1은 본 발명의 바람직한 실시예에 따른 지형 제작 프로그램의 내부 구조를 간단하게 나타낸 도면, 1 is a view showing simply the internal structure of the terrain production program according to an embodiment of the present invention,

도 2는 본 발명의 바람직한 실시예에 따른 본체 색인 버퍼를 나타낸 도면,2 is a diagram illustrating a main body index buffer according to a preferred embodiment of the present invention;

도 3은 본 발명의 바람직한 실시예에 따라 연결부 색인 버퍼를 이용하여 세부 수준이 다른 두 개의 타일 간을 연결하는 도면,3 is a view illustrating a connection between two tiles having different levels of detail by using a connection index buffer according to a preferred embodiment of the present invention;

도 4a 내지 4d는 본 발명의 바람직한 실시예에 따라 생성한 3차원 지형에서 개체를 렌더링하기 위하여 타일에 사분 트리를 적용하는 과정을 나타낸 도면,4A to 4D are diagrams illustrating a process of applying a quadrant tree to tiles to render an object in a three-dimensional terrain generated according to a preferred embodiment of the present invention.

도 5는 본 발명의 바람직한 실시예에 따른 3차원 지형의 평면도에서의 카메라 뷰 프러스텀을 나타낸 도면이다.5 is a view showing a camera view frustum in a plan view of a three-dimensional terrain according to a preferred embodiment of the present invention.

< 도면의 주요 부분에 대한 부호의 설명 ><Description of Symbols for Main Parts of Drawings>

100: 지형 제작 프로그램 110: 지형 생성 모듈100: terrain maker 110: terrain generation module

120: LOD 모듈 130: 텍스처 모듈120: LOD module 130: texture module

140: XML 파싱 모듈140: XML parsing module

본 발명은 3차원 지형의 제작을 제공하는 지형 제작 프로그램을 기록한 컴퓨터 판독가능 기록매체에 관한 것이다. 더욱 상세하게는, 사분 트리(Quad Tree)와 높이 맵을 이용하여 맵 타일을 생성하고, 메시 데이터의 정밀도를 조정하기 위하여 프리컴파일드 메시 타입 LOD(Level of Detail)와 ROAM(Real-time Optimally Adapting Meshes)을 이용하며, 타일 텍스처링, 스플래팅 텍스처(Splatting Texture) 및 프레임 버퍼 혼합을 이용하여 텍스처를 매핑하여 생성된 3차원 지형을 XML(Extended Markup Language) 포맷의 파일로 출력하는 지형 제작 프로그램에 관한 것이다.The present invention relates to a computer readable recording medium having recorded thereon a terrain production program that provides for the production of three-dimensional terrain. More specifically, the quad-tree and height maps are used to generate map tiles, and to adjust the precision of the mesh data, the precompiled mesh types LOD (Level of Detail) and Real-time Optimally Adapting (ROAM). Meshes), and a terrain creation program that outputs a three-dimensional terrain created by mapping textures using tile texturing, splatting textures, and frame buffer blends to a file in Extended Markup Language (XML) format. will be.

온라인 게임은 데스크탑 컴퓨터, 노트북 컴퓨터 또는 이동통신 단말기 등을 이용하여 게임 제조사에서 제공하는 서버에 사용자가 접속하여 이용하는 게임으로서, 대표적인 예로는 블리자드사의 월드 오브 워크래프트, 스타크래프트 등이 있다. 물론 스타크래프트는 온라인이 아닌 상태에서 사용자가 이용할 수 있지만 월드 오브 워크래프트는 게임 제조사에서 제공하는 서버에 접속해야만 게임을 이용할 수 있다. An online game is a game that a user connects to a server provided by a game manufacturer using a desktop computer, a notebook computer, or a mobile communication terminal. Examples of the online game include Blizzard's World of Warcraft and StarCraft. Of course, StarCraft can be used by users without being online, but World of Warcraft can only use the game by connecting to a server provided by the game manufacturer.

현재 국내에는 다양한 다중접속 역할수행 게임(MMORPG: Massive Multi-player Online Role Playing Game)이 개발되고 있다. 대부분의 MMORPG는 열린 공간의 지형을 사용하여 게임을 제작한다.Currently, various multi-player role playing games (MMORPGs) are being developed in Korea. Most MMORPGs create games using terrain in open space.

이러한 게임에서의 지형은 캐릭터나 어떤 사물이 표현될 공간을 말한다. 바 닥의 높이를 가지고 물, 나무, 바위 등과 같은 오브젝트가 배치되며 비, 바람, 눈 등과 같은 자연 현상을 표현하는 데, 일반적으로 게임 개발에서 지형은 바닥의 높낮이를 구성하고 캐릭터나 오브젝트의 배치와 충돌 처리, 빠른 렌더링을 위한 공간 검출의 기능을 가진다.The terrain in these games is the space in which a character or something is represented. Objects such as water, trees, rocks, etc. are placed on the floor and represent natural phenomena such as rain, wind, snow, etc. Generally, in game development, terrain constitutes the height of the floor and collides with the placement of characters or objects. Has the function of processing, spatial detection for fast rendering.

지형은 외부지형(Out Door)과 내부지형(In Door)으로 나뉘어지며, 외부 지형은 주로 온라인 게임에서 많이 사용하고, 내부 지형은 1인칭 FPS(First Person Shooting) 게임 같은 사방이 막힌 곳에 주로 사용한다.The terrain is divided into Out Door and In Door, and the outer terrain is mainly used in online games, and the inner terrain is mainly used in blocked places such as first person FPS (First Person Shooting) games.

한편, 외부 지형의 구현은 지형의 높이를 구현하는 방법, 넓은 지형 구조를 관리하는 방법, 지형 간의 이동에 대한 구현 방법, 부드러운 지형을 표현하는 방법, 바닥의 텍스처 맵핑 방식 등의 여러 가지 요소들을 고려해야 하기 때문에 다양한 높낮이를 표현하고 지형의 굴곡을 표현할 때에 좀 더 쉽고 빠르게 제작하기 위한 유저인터페이스를 제공하고, 손쉽게 지형의 텍스처를 적용하기 위하여 지형 메시(Mesh) 같은 경우는 각 게임 개발사마다 자체적으로 제작한 레벨 에디터를 이용하여 제작하고 있다.On the other hand, the implementation of the external terrain should take into account several factors such as how to implement the height of the terrain, how to manage the wide terrain structure, how to implement the movement between the terrain, how to represent the smooth terrain, how the texture mapping of the floor, etc. Therefore, in order to express various heights and curves of the terrain, it provides a user interface for making it easier and faster, and in order to easily apply the texture of the terrain, such as the terrain mesh, each game developer has made their own. I am using the Level Editor.

그러나 각 게임 개발사마다 자체적으로 제작한 레벨 에디터(Level Editor)를 이용하여 제작한 지형 파일은 각 게임 개발사의 레벨 에디터에서만 생성, 수정, 삭제 및 저장할 수 있기 때문에 게임 개발사 상호 간에 공통적인 작업을 중복해서 수행하여야 하는 문제점이 있었다. However, each game developer can create, modify, delete, and save terrain files created using their own level editor. Therefore, common tasks between game developers can be duplicated. There was a problem to be performed.

이러한 문제점을 해결하기 위해 본 발명은, 사분 트리(Quad Tree)와 높이 맵 을 이용하여 맵 타일을 생성하고, 메시 데이터의 정밀도를 조정하기 위하여 프리컴파일드 메시 타입 LOD(Level of Detail)와 ROAM(Real-time Optimally Adapting Meshes)을 이용하며, 타일 텍스처링, 스플래팅 텍스처(Splatting Texture) 및 프레임 버퍼 혼합을 이용하여 텍스처를 매핑하여 생성된 3차원 지형을 XML(Extended Markup Language) 포맷의 파일로 출력하는 지형 제작 프로그램을 제공하는 것을 그 목적으로 한다.In order to solve this problem, the present invention generates a map tile using a quad tree and a height map, and in order to adjust the precision of mesh data, a precompiled mesh type LOD (Level of Detail) and ROAM ( It uses Real-time Optimally Adapting Meshes and outputs three-dimensional terrain created by mapping textures using tile texturing, splatting textures, and frame buffer blends to XML (Extended Markup Language) format files. The purpose is to provide a terrain production program.

이러한 목적을 달성하기 위하여, 본 발명의 제 1 목적에 의하면, 3차원 지형을 생성하는 지형 제작 프로그램을 기록한 기록매체에 있어서 프로그램은, 사용자의 입력에 따라 3차원 지형을 구성하는 타일(Tile) 수와 타일의 크기를 설정하고, 사용자가 선택한 범위의 3차원 지형에 높이 값을 입력하는 지형 생성 모듈; 거리에 따라 서로 다르게 모델링된 3차원 지형의 선택적 사용을 제공하는 프리컴파일드 메시 타입 LOD(Precompiled Mesh Type LOD) 기능과 적절한 레벨별로 디테일 메시를 제작하여 원맵(One Map) 또는 멀티 텍스처링(Multi Texturing)을 제공하는 ROAM(Real-Time Optimally Adapting Meshes) 기능을 포함하여 3차원 지형의 메시 정밀도를 단계별로 조정하는 LOD 모듈; 독립 타일링 텍스처들을 이용하여 3차원 지형에 비선형적인 텍스처 간 혼합을 제공하는 스플래팅 텍스처(Splatting Texture) 기능과 그래픽 카드의 프레임 버퍼(Frame Buffer) 내에서 텍스처 간의 혼합을 위하여 각 폴리곤들의 렌더링을 제공하는 프레임 버퍼 혼합 기능을 포함하며, 3차원 지형을 구성하는 타일을 지형의 종류마다 모양이 다르게 만들어진 타일 세트 중 어느 하나의 세트 타일로 변경하는 경우에 인접한 타일과의 연속성을 가지도록 세트 타일을 배치하는 텍스처 모듈; 및 3차원 지형을 XML 템플릿 파서(Extended Markup Language Templet Phaser)에서 파싱하여 XML 포맷으로 출력하는 XML 파싱 모듈을 포함하는 것을 특징으로 하는 3차원 지형을 생성하는 프로그램을 기록한 컴퓨터 판독가능한 기록매체를 제공한다.In order to achieve this object, according to the first object of the present invention, in a recording medium for recording a terrain production program for generating three-dimensional terrain, the program is the number of tiles constituting the three-dimensional terrain according to the user's input A terrain generation module configured to set a size of the tile and input a height value to a three-dimensional terrain of a range selected by the user; Precompiled Mesh Type LOD, which provides selective use of three-dimensional terrain modeled differently according to distance, and one-map or multi-texturing by creating detail meshes at appropriate levels. LOD module for adjusting the mesh precision of the three-dimensional terrain step by step including a Real-Time Optimally Adapting Meshes (ROAM) function to provide a; The Splatting Texture feature, which provides nonlinear inter-texture blending on three-dimensional terrain using independent tiling textures, and the rendering of each polygon for inter-texture blending within the frame buffer of the graphics card. It includes frame buffer blending, and sets set tiles to have continuity with adjacent tiles when the tiles constituting the 3D terrain are changed to any set tiles of the tile sets that have different shapes for each type of terrain. Texture module; And an XML parsing module for parsing the 3D terrain in an XML template parser and outputting the 3D terrain in XML format. .

이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어서, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. First of all, in adding reference numerals to the components of each drawing, it should be noted that the same reference numerals are used as much as possible even if displayed on different drawings. In addition, in describing the present invention, when it is determined that the detailed description of the related well-known configuration or function may obscure the gist of the present invention, the detailed description thereof will be omitted.

도 1은 본 발명의 바람직한 실시예에 따른 지형 제작 프로그램의 내부 구조를 간단하게 나타낸 도면이다. 1 is a view simply showing the internal structure of a terrain production program according to a preferred embodiment of the present invention.

본 발명의 바람직한 실시예에 따른 지형 제작 프로그램(100)은 지형 생성 모듈(110), LOD(Level of Detail) 모듈(120), 텍스처(Texture) 모듈(130) 및 XML 파싱 모듈(Extended Markup Language Phasing Module)(140)을 포함하여 구성된다. The terrain production program 100 according to the preferred embodiment of the present invention includes a terrain generation module 110, a level of detail (LOD) module 120, a texture module 130, and an XML parsing module (Extended Markup Language Phasing). Module 140).

본 발명의 바람직한 실시예에 따른 지형 생성 모듈(110)은 사용자의 입력에 따라 생성하는 지형의 타일(Tile) 수, 타일의 크기를 설정하고, 사용자가 선택한 범위의 지형에 높이 값을 입력하도록 한다. The terrain generation module 110 according to the preferred embodiment of the present invention sets the tile number and the size of the tile to be generated according to the user's input, and inputs a height value to the terrain in the range selected by the user. .

지형을 생성하기 위해서는 생성되는 지형의 정밀도에 따라 타일의 수와 타일 의 크기가 달라지기 때문에 생성하고자 하는 지형의 정밀도에 따라 타일 수와 타일의 크기를 설정하여 높이 값이 입력되지 않은 지형(이하 '기본 지형'이라 함)을 생성하고, 기본 지형에서 사용자가 선택한 범위에 높이 값을 입력하여 기본 지형의 높이를 변경하도록 한다. In order to create a terrain, the number of tiles and the size of tiles vary according to the precision of the terrain to be created. Therefore, the terrain with no height value is set by setting the number of tiles and the size of the tiles according to the precision of the terrain to be created. And change the height of the base terrain by entering a height value in the range selected by the user in the base terrain.

기본 지형은 다수 개의 타일로 구성되는 데, 각각의 타일은 타일 맵 인덱스 데이터, 높이 필드 데이터 및 사분 트리(Quad Tree) 구조 데이터를 포함한다.The basic terrain consists of a plurality of tiles, each tile comprising tile map index data, height field data, and quad tree structure data.

맵 인덱스 데이터는 기본 지형에서의 타일 위치를 저장하고 있고, 높이 필드 데이터는 타일 내의 각각의 좌표에 입력된 높이 값을 저장하고 있으며, 사분 트리 구조 데이터는 타일 내에 개체가 존재하여 개체에 대한 렌더링(Rendering)을 하는 경우에 타일에 사분 트리를 적용하기 위한 구조 데이터가 저장되어 있다. 본 발명에서 개체를 렌더링하기 위하여 타일에 사분 트리를 적용하는 방법은 도 4에서 자세히 설명하기로 한다. The map index data stores the tile position in the basic terrain, the height field data stores the height values entered at each coordinate in the tile, and the quadrant tree structure data contains the objects within the tile to render the objects ( In case of rendering, the structure data for applying the quadrant tree to the tiles is stored. In the present invention, a method of applying a quadrant tree to tiles to render an object will be described in detail with reference to FIG. 4.

지형 생성 모듈(110)은 기본 지형의 각 타일에 대하여 규칙적인 격자 형태로 정렬된 높이 값의 2차원 배열에 대하여 각각의 (x, y) 위치마다 z 값을 저장하는 데, 이 z 값이 각각의 (x y) 위치에 있는 지형의 높이가 된다. The terrain generation module 110 stores a z value at each (x, y) position for a two-dimensional array of height values arranged in a regular grid for each tile of the base terrain, each of which is a z value. This is the height of the terrain at position (xy) of.

지형 생성 모듈(110)은 기본 지형의 각 타일에 대한 높이가 일정하도록 설정한 후 무작위의 지형을 만들기 위하여 z 값을 높이거나 낮추는 중점 높이 이동 기능을 제공하는 데, 이때에는 높이를 조정할 부분을 사분면으로 나눈 뒤 각 모퉁이에서 높이를 조정하도록 한다. The terrain generation module 110 provides a center height shift function that sets the height of each tile of the basic terrain to be constant, and then increases or decreases the z value in order to create a random terrain. Divide by to adjust the height at each corner.

예를 들어, 기본 지형의 각 타일에 대한 z 값을 모두 0으로 설정하고, 지형 을 높이거나 낮추는 z 값의 범위를 (-128, +128)로 설정한 후 사용자의 입력에 따라 각 타일의 z 값을 -128에서 +128 범위 내에서 높이거나 낮추어 각 타일의 높이를 설정하는 것이다. For example, set all z values for each tile in the base terrain to 0, set a range of z values to raise or lower the terrain to (-128, +128), and then set the z for each tile based on user input. You can set the height of each tile by increasing or decreasing the value within the range -128 to +128.

본 발명의 바람직한 실시예에 따른 LOD 모듈(120)은 지형의 메시 정밀도를 단계별로 조정한다. The LOD module 120 according to the preferred embodiment of the present invention adjusts the mesh precision of the terrain step by step.

거리에 따라 서로 다르게 모델링 된 3차원 지형을 선택적으로 사용하기 위하여 프리컴파일드 메시 타입 LOD(Precompiled Mesh Type LOD) 기능을 사용한다. Precompiled Mesh Type LOD (Precompiled Mesh Type LOD) is used to selectively use 3D terrain modeled differently according to distance.

프리컴파일드 메시 타입 LOD 기능은 카메라와 렌더링 될 대상물체와의 거리에 따라 폴리곤(Polygon)의 개수가 다른 모델링 데이터를 선택적으로 렌더링 하는 방법으로서, 카메라와의 거리가 멀 경우 적은 수의 폴리곤을 갖는 모델링 데이터를 사용하여 실제로 렌더링 될 때 사용되는 폴리곤의 수를 줄여서 렌더링 속도를 향상시킨다. 화면에 나타날 3차원 개체가 멀리 있을 경우에는 적은 데이터를 가진 모델을 사용하여 렌더링 속도를 높이고, 화면에 가까이 보여야하는 경우에는 고품질의 데이터를 사용하여 현실감을 높일 수 있다. The precompiled mesh type LOD function is a method of selectively rendering modeling data in which the number of polygons differs depending on the distance between the camera and the object to be rendered, and has a small number of polygons when the distance from the camera is far. Use modeling data to speed up rendering by reducing the number of polygons used when actually rendered. If you have three-dimensional objects that will appear far away on the screen, you can use a model with less data to speed up rendering, and if you need to look closer to the screen, you can use high-quality data to increase realism.

본 발명에서 폴리곤은 3차원 지형에서 입체적인 형상을 표현할 때 사용하는 가장 작은 단위인 다각형으로서, 3차원 공간에서 시작점과 끝점이 선으로 연결된 폴리 라인으로 곡선 위에 있는 몇 개의 점을 직선으로 이어서 곡선을 표현하며, 물체의 테두리를 나타내기 위해 사용된다.In the present invention, a polygon is a polygon that is the smallest unit used to express a three-dimensional shape in a three-dimensional terrain, and is a polyline connected with a start point and an end point by a line in three-dimensional space to express a curve by straightening a few points on the curve. It is used to indicate the edge of an object.

따라서 3차원 지형을 모델링할 때, 카메라로부터의 위치를 고려하여서 폴리곤수를 가변적으로 조정하면 화질의 저하 없이 좀 더 빠른 처리 속도를 얻을 수 있 다.Therefore, when modeling three-dimensional terrain, by adjusting the polygon number in consideration of the position from the camera, a faster processing speed can be obtained without degrading the image quality.

프리컴파일드 메시 타입 LOD 기능은 GPU(Graphic Processor Unit)에 의존적이기 때문에 매우 빠르고, 캐쉬(Cache)의 용량에 비례하여 지형을 디테일하게 조정한다. The precompiled mesh type LOD feature is very fast because it depends on the GPU (Graphic Processor Unit) and fine tunes the terrain in proportion to the capacity of the cache.

그러나 프리컴파일드 메시 타입 LOD 기능은 팝핑 이펙트와 타일 텍스처링에 문제가 있기 때문에 본 발명의 LOD 모듈(120)에서는 ROAM(Real-Time Optimally Adapting Meshes) 기능을 함께 사용하도록 하고 있다. However, since the precompiled mesh type LOD function has a problem in popping effects and tile texturing, the LOD module 120 of the present invention uses a real-time optimized adapting meshes (ROAM) function together.

ROAM 기능은 적절한 레벨별로 디테일 메시를 제작하고, 원맵 도는 멀티 텍스처링을 이용한 빠른 텍스처링을 이용하기 때문에 프리컴파일드 메시 타입 LOD 기능의 팝핑 이펙트와 타일 텍스처링에 대한 문제점을 해결할 수 있다.The ROAM feature creates detail meshes at appropriate levels and uses fast texturing with one-map or multi-texturing to solve the popping effects and tile texturing problems of the precompiled mesh type LOD feature.

ROAM 기능은 전체 지형 중 자세히 그릴 필요가 없는 부분, 예를 들면 어느 정도 평평한 부분이나 카메라로부터 멀리 떨어져 있는 부분들의 폴리곤 수를 줄여 렌더링 성능을 높여준다. 즉, 카메라와 가깝거나 굴곡이 심한 지형처럼 좀 더 많은 폴리곤이 필요한 부분을 자세하게 그리기 위하여 지형에서 필요한 부분에는 더 많은 폴리곤을 렌더링하고, 필요하지 않은 부분에는 더 적은 폴리곤들을 렌더링하도록 한다.The ROAM feature improves rendering performance by reducing the number of polygons in parts of the terrain that don't need to be drawn in detail, such as partly flat or far away from the camera. That is, in order to draw in detail the parts that need more polygons, such as the terrain close to the camera or the bend, the more polygons are rendered in the necessary part of the terrain, and the less polygons are rendered in the parts that are not needed.

ROAM 기능은 세부 수준이 낮은 영역과 높은 영역 사이에 매끄러운 전이가 일어나도록 하기 위해 지형을 절차적으로 생성하는 방식을 사용하는 데, 삼각형 교점들의 이진 트리를 이용해서 주어진 높이 필드로부터 실제 지형 기하 구조를 만들어 낸다. The ROAM feature uses a procedural generation of terrain to smoothly transition between low and high detail areas, using a binary tree of triangular intersections to extract the actual terrain geometry from a given height field. Make it up

ROAM 기능은 각 타일의 정점에 대하여 렌더링 템플릿을 씌우는 색인 버퍼를 생성한다. 색인 버퍼는 각 타일로부터 삼각형들을 뽑아내는 방법을 정의하고, 타일을 어떤 세부 수준으로 그릴 것인가를 제어한다. 모든 타일의 색인 버퍼는 동일한 순서로 저장되어 있으므로, 색인 버퍼를 서로 교환하는 것이 가능하다. The ROAM function creates an index buffer that covers the rendering template for each tile vertex. The index buffer defines how triangles are extracted from each tile, and controls the level of detail at which tiles are drawn. Since the index buffers of all tiles are stored in the same order, it is possible to exchange index buffers with each other.

예를 들어 9*9 격자의 경우, 어떠한 9*9 타일들에도 적용되는 최고 세부 수준의 색인 버퍼들을 정의하고, 세부 수준이 더 낮은 타일의 경우에는 그 색인 버퍼가 가리키는 정점들 일부를 건너뛰어서 렌더링하면 된다. 최상위 색인 버퍼들은 81개의 정점을 모두 사용해서 128개의 삼각형을 그리는 반면, 가장 낮은 수준에서는 네 개의 정점만 사용해서 한 쌍의 삼각형들로 이루어진 사각형 하나만 그리게 되고, 그 사이에는 삼각형 32 개짜리 세부 수준과 8 개짜리 세부 수준이 존재한다. For example, for a 9 * 9 grid, define the highest detail index buffers that apply to any 9 * 9 tiles, and for tiles with lower detail, skip some of the vertices that the index buffer points to. Just do it. The top index buffers draw 128 triangles using all 81 vertices, while the lowest level draws only one rectangle of a pair of triangles using only four vertices, with 32 triangle detail levels and There are eight levels of detail.

색인 버퍼를 생성하여 세부 수준을 설정한 ROAM 기능은 서로 다른 세부 수준의 타일 간의 매끄러운 연결을 위하여 인접한 타일들의 세부 수준 차이에 상관없이 타일의 삼각형들이 틈을 만들지 않고 서로 맞물리도록 하는 데, 이를 위해서 서로 다른 세부 수준의 타일들을 서로 연결하는데 사용하기 위하여 본체 색인 버퍼와 연결부 색인 버퍼로 구성된 연결 색인 버퍼를 생성한다. The ROAM function, which creates an index buffer and sets the level of detail, ensures that the triangles of the tiles interlock with each other without creating gaps, regardless of the difference in the level of detail of adjacent tiles, for seamless connection between tiles of different levels of detail. Creates a connection index buffer consisting of a body index buffer and a connection index buffer for use in linking tiles of different levels of detail.

본체 색인 버퍼는 주어진 세부 수준에서의 타일의 주된 부분을 표현하고, 인접 타일과는 직접 맞닿지 않는다. 연결부 색인 버퍼는 이름 그대로 인접 타일과의 끊어짐 없는 연결을 위한 것으로, 서로 다른 세부 수준의 타일들이 연결될 때 틈이 생기지 않게 하는 역할을 한다. The body index buffer represents the main part of the tile at a given level of detail and does not directly contact adjacent tiles. The joint index buffer, as its name implies, is designed to seamlessly connect adjacent tiles and prevent gaps when tiles at different levels of detail are connected.

도 2는 본 발명의 바람직한 실시예에 따른 본체 색인 버퍼를 나타낸 도면이 다. 2 is a diagram illustrating a main body index buffer according to a preferred embodiment of the present invention.

본 발명에서는 발명의 이해를 돕기 위하여 타일들은 높은 세부 수준의 타일이 인접한 낮은 수준의 타일에 맞는 자신의 연결부를 선택해서 낮은 수준의 타일과 연결하는 것으로 가정한다. In the present invention, for the sake of understanding of the present invention, it is assumed that the tiles are connected to the low-level tiles by selecting their connection to the adjacent low-level tiles.

도 2에서 각 본체 색인 버퍼의 흰색 바탕 부분은 낮은 수준의 인접 타일과 매끄럽게 연결된 수 있는 연결부 색인 버퍼에 의해 대체된다. 연결부 색인 버퍼는 본체 색인 버퍼보다 작은 색인 버퍼로서, 본체 색인 버퍼의 가장자리 부분을 대체하게 된다. In FIG. 2 the white background portion of each body index buffer is replaced by a connection index buffer that can be seamlessly connected to the low level adjacent tiles. The connection index buffer is an index buffer smaller than the body index buffer, and replaces the edge portion of the body index buffer.

연결부 색인 버퍼는 낮은 세부 수준의 인접 타일과 딱 들어맞을 수 있는 수의 삼각형으로 구성된다. The joint index buffer consists of a number of triangles that can fit into adjacent tiles of low detail.

도 3은 본 발명의 바람직한 실시예에 따라 연결부 색인 버퍼를 이용하여 세부 수준이 다른 두 개의 타일 간을 연결하는 도면이다. 3 is a diagram for connecting two tiles having different levels of detail by using a connection index buffer according to a preferred embodiment of the present invention.

9*9 정점 타일의 경우 총 네 개의 세부 수준을 가지므로 필요한 색인 버퍼의 수는 본체 색인 버퍼 48개와 연결부 색인 버퍼 24개를 포함한 72개가 된다. 세부 수준의 개수가 늘어날수록 색인 버퍼의 개수도 늘어나지만 각 색인 버퍼의 크기가 크지 않고 지형 전체에 대해 반복적으로 쓰일 수 있으므로 메모리가 크게 낭비되는 것은 아니다.The 9 * 9 vertex tile has four levels of detail, so the number of index buffers required is 72, including 48 body index buffers and 24 connection index buffers. As the number of levels of detail increases, so does the number of index buffers, but the size of each index buffer is not large and memory can be wasted because it can be used repeatedly for the entire terrain.

9*9 정점으로 이루어진 타일의 경우 세부 수준은 총 네 가지이고, 가장 높은 세부 수준은 나머지 세 세부 수준 모두와 연결되어야 하기 때문에 가장 높은 세부 수준 타일의 각 변에 대해서는 세 종류의 연결부가 필요하다. For tiles with 9 * 9 vertices, there are four levels of detail and the highest level of detail must be connected to all three levels of detail, so three types of connections are required for each side of the highest level of detail.

위에 기술한 바와 같이 ROAM 기능이 본체 색인 버퍼와 연결부 색인 버퍼를 이용하여 서로 다른 수준의 타일 간을 매끄럽게 연결하기 때문에 렌더링 코드도 변경되어야 하는데, 각 타일에 대하여 각 타일과 인접한 타일을 조사하여야 한다. As described above, since the ROAM function seamlessly connects the different levels of tiles using the body index buffer and the connection index buffer, the rendering code must be changed, and each tile and the adjacent tile must be examined for each tile.

본 발명에서는 높은 세부 수준에서 낮은 세부 수준으로만 연결을 하도록 하였기 때문에 인접한 타일 중 자신보다 세부 수준이 낮은 타일만을 조사하지만 일반적으로는 각 타일에 인접한 타일을 확인하고, 인접한 타일의 세부 수준에 맞는 자신의 연결부 색인 버퍼를 선택하여 본체 색인 버퍼와 함께 그 연결부 색인 버퍼의 정점들을 렌더링 API(Application Program Interface)로 보내도록 한다. In the present invention, since only the low level of detail is connected from the high level of detail, only the tiles having a lower level of detail than the adjacent tiles are examined, but in general, each tile adjacent to each tile is checked and the level of detail of the adjacent tile is checked. Select the connector index buffer of, and send the vertex of the connector index buffer along with the body index buffer to the rendering application program interface (API).

본 발명의 바람직한 실시예에 따른 텍스처 모듈(130)은 사용자가 선택한 기본 지형의 타일을 지형의 종류마다 모양이 다르게 만들어진 타일 세트 중 어느 하나로 변경하도록 한다.The texture module 130 according to the preferred embodiment of the present invention changes the tile of the basic terrain selected by the user to any one of a set of tiles having different shapes for each type of terrain.

텍스처 모듈(130)에 의하여 기본 지형의 타일에서 지형의 종류마다 모양이 다르게 만들어진 타일 세트 중 어느 하나의 타일로 변경되는 경우 인접한 타일과의 연속성을 가지도록 미리 정해진 규칙에 따라서 배치되도록 한다. The texture module 130 is arranged according to a predetermined rule so as to have continuity with adjacent tiles when the tile of the basic terrain is changed to any one of the tile sets having different shapes for each type of terrain.

또한, 텍스처 모듈(130)은 고품질의 독립 타일링 텍스처들을 통하여 지형에 비선형적으로 텍스처 간의 혼합이 이루어지도록 스플래팅 텍스처(Splatting Texture) 기능을 구비하고 있고, 그래픽 카드의 프레임 버퍼(Frame Buffer) 내에서 텍스처들의 혼합을 위하여 각 폴리곤들을 여러 차례에 걸쳐 렌더링하는 프레임 버퍼 혼합 기능을 지원한다. In addition, the texture module 130 includes a splatting texture function so that non-linear blending of textures is performed on the terrain through high quality independent tiling textures. The texture module 130 is provided in the frame buffer of the graphics card. Supports frame buffer blending, which renders each polygon multiple times for blending textures.

본 발명의 바람직한 실시예에 따른 XML 파싱 모듈(140)은 사용자가 지형 제 작 프로그램(100)을 이용하여 생성한 3차원 지형을 XML 템플릿 파서(Templet Phaser)에서 파싱함으로써, 3차원 지형을 XML 포맷으로 출력하도록 한다.The XML parsing module 140 according to the preferred embodiment of the present invention parses the 3D terrain generated by the user using the terrain creation program 100 by the XML template parser, thereby converting the 3D terrain into the XML format. To print.

XML 파싱 모듈(140)에서 파싱한 3차원 지형은 사용자가 재저장하거나 수정하여 사용하는 것도 가능하다.The 3D terrain parsed by the XML parsing module 140 may be restored or used by a user.

본 발명의 바람직한 실시예에 따른 지형 제작 프로그램(100)은 새로 생성되는 지형의 타일 크기 및 타일 수를 설정하기 위한 버튼, XML 포맷의 3차원 지형을 로딩(Loading)하기 위한 버튼, XML 파싱 모듈(140)과 연동하여 생성한 지형을 XML 포맷으로 출력하여 저장하기 위한 버튼, 지형의 높이를 변경하기 위한 버튼 및 지형의 텍스처를 변경하기 위한 버튼을 툴 바(Tool Bar) 형식으로 제공하는 것이 바람직하다. The terrain production program 100 according to the preferred embodiment of the present invention includes a button for setting the tile size and the number of tiles of the newly generated terrain, a button for loading 3D terrain in XML format, an XML parsing module ( 140, it is preferable to provide a button for outputting and storing the terrain generated in XML format, a button for changing the height of the terrain, and a button for changing the texture of the terrain in a tool bar format. .

또한, 지형의 높이를 변경하기 위한 버튼, 지형의 텍스처를 변경하기 위한 버튼 및 지형의 색상을 변경하기 위한 버튼을 사용자가 클릭하는 경우 각각의 버튼에 대응하는 패널을 활성화하거나 비활성화하는 것이 바람직하다. In addition, when a user clicks a button for changing the height of the terrain, a button for changing the texture of the terrain, and a button for changing the color of the terrain, it is preferable to activate or deactivate a panel corresponding to each button.

본 발명의 바람직한 실시예에 따른 지형의 높이를 변경하기 위한 패널에는 지형 생성 모듈(110)과 연동하여 사용자가 선택한 부분의 지형의 높이 값을 증가시키는 버튼, 지형의 높이를 감소시키는 버튼, 처음 지형을 클릭한 부분의 높이 값과 같은 높이 값으로 지형을 변형시키는 버튼, 선택한 부분의 높이 값을 마우스를 이용하여 증가 또는 감소시키는 버튼 및 선택한 부분의 지형의 높이 값을 초기화시키는 버튼을 구비하고, LOD 모듈(120)과 연동하여 선택한 부분의 지형에 높이를 부드럽게 변형시키는 버튼을 구비하는 것이 바람직하다. The panel for changing the height of the terrain according to the preferred embodiment of the present invention includes a button for increasing the height value of the terrain of the user selected portion in conjunction with the terrain generation module 110, a button for reducing the height of the terrain, the first terrain Button to transform the terrain to the same height as the height of the clicked part, to increase or decrease the height of the selected part with the mouse, and to reset the height of the terrain of the selected part, and the LOD In conjunction with the module 120, it is preferable to have a button for smoothly changing the height of the terrain of the selected portion.

또한, 본 발명의 바람직한 실시예에 따른 지형 제작 프로그램(100)은 지형의 색상을 변경하기 위한 버튼을 추가로 구비하는 것도 가능하다. 지형 생성 모듈(110)과 연동하여 제작한 지형의 색상을 변경하기 위하여 브러시(Brush) 기능을 제공할 수 있다. 브러시 기능은 사용자가 선택한 영역에 대하여 브러시 기능에서 제공하는 색상을 입힐 수 있는데, 브러시 기능이 지형의 색상만을 변경하는 것이 아니라 지형의 질감을 함께 변경하는 것도 가능하다. In addition, the terrain production program 100 according to a preferred embodiment of the present invention may further include a button for changing the color of the terrain. A brush function may be provided to change the color of the terrain produced by interworking with the terrain generation module 110. The brush function may apply a color provided by the brush function to the area selected by the user. The brush function may not only change the color of the terrain but also change the texture of the terrain.

예를 들어, 지형 생성 모듈(110)을 이용하여 생성한 기본 지형은 흙의 질감과 색을 기본적으로 표현하고 있다면, 브러시 기능을 이용하여 사용자가 선택한 부분을 잔디나 대리석의 질감과 색으로 변경하는 것이다. For example, if the basic terrain created using the terrain generation module 110 expresses the texture and the color of the soil by default, the user's selection is changed to the texture and color of the grass or marble using the brush function. .

도 4는 본 발명의 바람직한 실시예에 따라 생성한 3차원 지형에서 개체를 렌더링하기 위하여 타일에 사분 트리를 적용하는 과정을 나타낸 도면이다.4 is a diagram illustrating a process of applying a quadrant tree to tiles in order to render an object in a 3D terrain generated according to a preferred embodiment of the present invention.

온라인 게임에서 사용되는 지형은 매우 넓기 때문에 대규모 데이터를 다루게 되는 데, 이때 모든 지형에 대해서 다룰 필요가 없으며 주목할 가치가 있는 부분에 대해서만 초점을 맞추고 다른 영역은 무시하기 위하여 특정한 종류의 공간 분할법을 사용하여야 하는데, 본 발명에서는 사분 트리 프로세스를 이용하도록 한다. The terrain used in online games is so large that it deals with large amounts of data, where you don't have to deal with all of the terrain, you need to use some sort of spatial segmentation to focus on the areas of interest and ignore other areas. In the present invention, the quadrant tree process is used.

위에 기술한 주목할 가치가 있는 부분은 도 5와 같이 카메라의 뷰 프러스텀(View Frustum) 내에 존재하는 개체가 있는 부분으로서, 도 5에서는 카메라의 뷰 프러스텀 내부에 개체 B와 개체 C가 존재한다. It is worth noting that the above-described parts are objects that exist in the view frustum of the camera as shown in FIG. 5, and objects B and C exist in the camera's view frustum in FIG. 5.

본 발명에서는 다수 개의 타일 중 어느 하나의 타일을 위에서 내려다보는 경우에 타일 내부에 그림 4A와 같이 카메라의 뷰 프러스텀이 존재한다고 가정하고, 타일은 256개의 셀(Cell)로 이루어져 있다고 가정하며, 카메라의 뷰 프러스텀에 포함되지 않는 부분을 렌더링에서 제외하기 위하여 사분 트리 프로세스를 이용한다. In the present invention, it is assumed that the view frustum of the camera exists as shown in Fig. 4A when the tile of any one of the plurality of tiles is viewed from above, and it is assumed that the tile is composed of 256 cells. The quadrant tree process is used to exclude parts of the view frustum that are not included in the rendering.

사분 트리 프로세스는 타일 전체를 네 개의 조각(이하 '노드'라 함)으로 나누고, 각각의 노드가 특정 크기가 될 때까지 각각의 노드를 네 개의 노드로 나누는 과정을 반복적으로 수행한다. 이때, 각각의 노드의 크기는 동일하게 되도록 나눈다.The quadrant tree process repeatedly divides the entire tile into four pieces (hereinafter referred to as 'nodes') and divides each node into four nodes until each node has a specific size. At this time, the size of each node is divided to be the same.

제일 처음의 노드(본 발명에서의 타일)를 최상위 노드로 하여 각 노드는 4개의 하위 노드를 가지는 구조이고, 사분 트리 프로세스를 반복하는 과정에서 하위 노드가 특정 크기가 되면 사분 트리 프로세스를 종료하는 데, 이때 트리의 최하위 노드를 리프(Leaf)라 한다. 따라서, 셀의 크기는 최하위 노드인 리프의 크기와 동일하다.With the first node (the tile in the present invention) as the top node, each node has a structure of four subnodes, and if the subnode becomes a certain size in the process of repeating the quadrant tree process, the quadrant tree process is terminated. In this case, the lowest node of the tree is called a leaf. Thus, the size of the cell is equal to the size of the leaf, which is the lowest node.

그림 2A와 같이 카메라의 뷰 프러스텀이 존재한다고 가정하고, 카메라의 뷰 프러스텀이 존재하는 부분을 렌더링하기 위해서는 사분 트리 프로세스를 수행하는 과정에서 각각의 하위 노드에 카메라의 뷰 프러스텀이 존재하는지 여부를 확인하게 된다. Assume that the camera's view frustum exists, as shown in Figure 2A. To render the portion of the camera's view frustum, whether the camera's view frustum exists in each sub-node during the quadrant tree process. Will be confirmed.

사분 트리 프로세스를 1회 수행한 후 각각의 하위 노드에 카메라의 뷰 프러스텀이 존재하는지 여부를 확인하고, 카메라의 뷰 프러스텀이 존재하는 하위 노드에만 사분 트리 프로세스를 수행하도록 하는 것이다. After performing the quadrant tree process once, check whether the camera's view frustum exists in each subnode, and perform the quadrant tree process only on the subnodes in which the camera's view frustum exists.

그림 4B는 타일에 사분 트리 프로세스를 수행한 후의 도면이다. 사분 트리 프로세스를 수행한 후 하위 노드인 A, B, C 및 D에 대하여 뷰 프러스텀의 존재 여 부를 확인하면 A, B 및 C의 하위 노드에는 뷰 프러스텀이 존재하지 않으므로 하위 노드 D에 대해서만 사분 트리 프로세스를 수행하고, 그 결과는 4C와 같이 나타난다. Figure 4B shows the quadrant tree process for a tile. After performing the quadrant tree process and verifying the existence of the view frustum for the subnodes A, B, C, and D, the view frustum does not exist for the subnodes of A, B, and C. The tree process is performed, and the result is shown as 4C.

다시 각각의 하위 노드인 E, F, G 및 H에 대하여 뷰 프러스텀이 존재하는지 여부를 확인하고, 카메라의 뷰 프러스텀은 H에 존재한다는 것을 인지하게 된다. 이때, 하위 노드 H의 자식 노드인 16개의 노드에 대하여 뷰 프러스텀의 존재 여부를 확인하도록 하여 카메라의 뷰 프러스텀이 존재하는 셀(Cell)에 대한 결과를 얻을 수 있다. Again, it is checked whether a view frustum exists for each of the sub nodes E, F, G, and H, and recognizes that the view frustum of the camera exists in H. In this case, 16 nodes, which are child nodes of the lower node H, may be checked for the existence of the view frustum, thereby obtaining a result for a cell in which the view frustum of the camera exists.

위와 같이 사분 트리 프로세스를 각각의 타일에 적용하기 위하여 본 발명의 바람직한 실시예에 따른 타일에는 사분 트리 프로세스를 수행하기 위한 사분 트리 구조 데이터가 포함되어 있다. In order to apply the quadrant tree process to each tile as described above, the tile according to the preferred embodiment of the present invention includes quadrant tree structure data for performing the quadrant tree process.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and those skilled in the art to which the present invention pertains may make various modifications and changes without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention but to describe the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention.

이상에서 설명한 바와 같이 본 발명에 의하면, 지형 제작 프로그램에서 3차원의 지형을 제작하여 XML(Extended Markup Language) 포맷으로 출력함으로써, 3차원 지형을 이용하고자 하는 게임 개발사 간에 중복되는 작업을 감소시켜 생산성을 향상시키는 효과가 있다. As described above, according to the present invention, by producing a three-dimensional terrain in the terrain production program and output in XML (Extended Markup Language) format, reducing the overlapping work between game developers who want to use the three-dimensional terrain productivity It is effective to improve.

Claims (4)

3차원 지형을 생성하는 지형 제작 프로그램을 기록한 기록매체에 있어서 상기 프로그램은, In the recording medium for recording a terrain production program for generating three-dimensional terrain, the program, 사용자의 입력에 따라 상기 3차원 지형을 구성하는 타일(Tile) 수와 상기 타일의 크기를 설정하고, 상기 사용자가 선택한 범위의 지형에 높이 값을 입력하는 지형 생성 모듈;A terrain generation module configured to set the number of tiles constituting the three-dimensional terrain and the size of the tile according to a user input, and input a height value to the terrain in the range selected by the user; 거리에 따라 서로 다르게 모델링 된 상기 3차원 지형의 선택적 사용을 제공하는 프리컴파일드 메시 타입 LOD(Precompiled Mesh Type LOD) 기능과 적절한 레벨별로 디테일 메시를 제작하여 원맵(One Map) 또는 멀티 텍스처링(Multi Texturing)을 제공하는 ROAM(Real-Time Optimally Adapting Meshes) 기능을 포함하여 상기 3차원 지형의 메시 정밀도를 단계별로 조정하는 LOD 모듈; Precompiled Mesh Type LOD (LOD), which provides selective use of the three-dimensional terrain modeled differently according to distance, and one-map or multi-texturing by creating detail meshes at appropriate levels. LOD module for adjusting the mesh precision of the three-dimensional terrain step by step including a Real-Time Optimally Adapting Meshes (ROAM) function to provide; 독립 타일링 텍스처들을 이용하여 상기 3차원 지형에 비선형적인 텍스처 간 혼합을 제공하는 스플래팅 텍스처(Splatting Texture) 기능과 그래픽 카드의 프레임 버퍼(Frame Buffer) 내에서 텍스처 간의 혼합을 위하여 각 폴리곤들의 렌더링을 제공하는 프레임 버퍼 혼합 기능을 포함하며, 상기 3차원 지형을 구성하는 상기 타일을 지형의 종류마다 모양이 다르게 만들어진 타일 세트 중 어느 하나의 세트 타일로 변경하는 경우에 인접한 타일과의 연속성을 가지도록 상기 세트 타일을 배치하는 텍스처 모듈; 및 Provides the rendering of individual polygons for blending between textures in the graphics card's frame buffer and the Splatting Texture function, which provides nonlinear inter-texture blending to the 3D terrain using independent tiling textures. And a frame buffer mixing function, wherein the set includes continuity with adjacent tiles when the tile constituting the three-dimensional terrain is changed to any one set of tile sets having different shapes for each type of terrain. A texture module for placing tiles; And 상기 3차원 지형을 XML 템플릿 파서(Extended Markup Language Templet Phaser)에서 파싱하여 XML 포맷으로 출력하는 XML 파싱 모듈XML parsing module for parsing the 3D terrain in an XML Marker Phaser (Extended Markup Language Templet Phaser) 을 포함하는 것을 특징으로 하는 3차원 지형을 생성하는 프로그램을 기록한 컴퓨터 판독가능한 기록매체.And a computer-readable recording medium having recorded thereon a program for generating three-dimensional terrain. 제 1 항에 있어서, 상기 타일은, The method of claim 1, wherein the tile, 타일 맵 인덱스 데이터, 높이 필드 데이터 및 사분 트리(Quad Tree) 구조 데이터를 저장하고 있는 것을 특징으로 하는 3차원 지형을 생성하는 프로그램을 기록한 컴퓨터 판독가능한 기록매체.A computer-readable recording medium having recorded thereon a program for generating three-dimensional terrain, characterized in that it stores tile map index data, height field data, and quad tree structure data. 제 2 항에 있어서, 상기 사분 트리 구조 데이터는, The quadrant tree structure data of claim 2, wherein 상기 3차원 지형을 장면 관리 방법을 이용하여 렌더링(Rendering)하는 경우 상기 3차원 지형에 사분 트리 프로세스를 적용하기 위한 상기 타일의 사분 트리 구조를 저장하고 있는 것을 특징으로 하는 3차원 지형을 생성하는 프로그램을 기록한 컴퓨터 판독가능한 기록매체.When rendering the 3D terrain using a scene management method, a program for generating a 3D terrain, wherein the quadrant tree structure of the tile for applying a quadrant tree process to the 3D terrain is stored. A computer readable recording medium having recorded thereon. 제 1 항에 있어서, 상기 프로그램은, According to claim 1, wherein the program, 상기 3차원 지형의 질감 및 색상을 변경하기 위한 브러시 기능을 추가로 포함하는 것을 특징으로 하는 3차원 지형을 생성하는 프로그램을 기록한 컴퓨터 판독가능한 기록매체.And a brush function for changing the texture and color of the three-dimensional terrain.
KR1020060080456A 2006-08-24 2006-08-24 Computer-readable recording medium for recording of 3d terrain production program KR20080018405A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060080456A KR20080018405A (en) 2006-08-24 2006-08-24 Computer-readable recording medium for recording of 3d terrain production program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060080456A KR20080018405A (en) 2006-08-24 2006-08-24 Computer-readable recording medium for recording of 3d terrain production program

Publications (1)

Publication Number Publication Date
KR20080018405A true KR20080018405A (en) 2008-02-28

Family

ID=39385437

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060080456A KR20080018405A (en) 2006-08-24 2006-08-24 Computer-readable recording medium for recording of 3d terrain production program

Country Status (1)

Country Link
KR (1) KR20080018405A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010013854A1 (en) * 2008-07-30 2010-02-04 Woodai Cals Co, . Ltd Three dimensional geographical information client apparatus, server apparatus and three dimensional geographical information system having the same
US8760446B2 (en) 2009-07-21 2014-06-24 Samsung Electronics Co., Ltd. Image processing apparatus performing rendering using multiple viewpoints and method
KR20200035491A (en) * 2016-01-25 2020-04-03 구글 엘엘씨 Reducing latency in map interfaces

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010013854A1 (en) * 2008-07-30 2010-02-04 Woodai Cals Co, . Ltd Three dimensional geographical information client apparatus, server apparatus and three dimensional geographical information system having the same
US8760446B2 (en) 2009-07-21 2014-06-24 Samsung Electronics Co., Ltd. Image processing apparatus performing rendering using multiple viewpoints and method
KR20200035491A (en) * 2016-01-25 2020-04-03 구글 엘엘씨 Reducing latency in map interfaces

Similar Documents

Publication Publication Date Title
US7450124B2 (en) Generating 2D transitions using a 3D model
JP4824019B2 (en) A terrain editing tool for rule-based procedural terrain generation
KR100914846B1 (en) Method and system for texturing of 3d model in 2d environment
CN109427088A (en) A kind of rendering method and terminal of illumination simulation
US20110050691A1 (en) Real-time user guided optimization of general 3d data
CN103970518B (en) A kind of the 3D rendering method and device of window logic
JP2008501189A (en) Resource management for rule-based procedural terrain generation
KR20080018404A (en) Computer readable recording medium having background making program for making game
WO2023231537A1 (en) Topographic image rendering method and apparatus, device, computer readable storage medium and computer program product
US11961174B2 (en) Programmatically configuring materials
CN105184843B (en) A kind of three-dimensional animation manufacturing method based on OpenSceneGraph
KR20080018405A (en) Computer-readable recording medium for recording of 3d terrain production program
JP5893142B2 (en) Image processing apparatus and image processing method
KR20180088876A (en) Image processing method and apparatus
CN111462343B (en) Data processing method and device, electronic equipment and storage medium
US7330183B1 (en) Techniques for projecting data maps
Flintham Painting the town red: configuring location-based games by colouring maps
KR100807854B1 (en) Graph making system and method
de Vries et al. Interactive 3D Modeling in the Inception Phase of Architectural Design.
Patrick Esri CityEngine and the Oculus Rift: GIS for Next-Generation Virtual Reality
CN109155074A (en) System and method for seamless unoccupied place rendering point
CN116351066A (en) Method and device for rendering weather objects in game, storage medium and electronic device
CN116351065A (en) Method and device for rendering weather in game, storage medium and electronic device
Cruz et al. Landscape specification resizing
KR20240012464A (en) Generation of surface meshes from voxel models of three-dimensional environments

Legal Events

Date Code Title Description
A201 Request for examination
E601 Decision to refuse application