KR20080018404A - Computer readable recording medium having background making program for making game - Google Patents
Computer readable recording medium having background making program for making game Download PDFInfo
- Publication number
- KR20080018404A KR20080018404A KR1020060080453A KR20060080453A KR20080018404A KR 20080018404 A KR20080018404 A KR 20080018404A KR 1020060080453 A KR1020060080453 A KR 1020060080453A KR 20060080453 A KR20060080453 A KR 20060080453A KR 20080018404 A KR20080018404 A KR 20080018404A
- Authority
- KR
- South Korea
- Prior art keywords
- terrain
- height
- rendering
- program
- map
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 162
- 238000009877 rendering Methods 0.000 claims abstract description 58
- 238000004519 manufacturing process Methods 0.000 claims description 29
- 210000000988 bone and bone Anatomy 0.000 claims description 8
- 238000003860 storage Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 abstract description 3
- 238000012876 topography Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 40
- 238000010586 diagram Methods 0.000 description 11
- 239000000872 buffer Substances 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000018109 developmental process Effects 0.000 description 6
- 239000000284 extract Substances 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000011282 treatment Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 244000025254 Cannabis sativa Species 0.000 description 1
- 241000589483 Coleogyne Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- 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
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/36—Level of detail
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Tourism & Hospitality (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- Remote Sensing (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
Description
도 1은 본 발명의 바람직한 실시예에 따라 높이맵을 생성하는 과정을 설명하기 위한 예시도,1 is an exemplary view for explaining a process of generating a height map according to a preferred embodiment of the present invention;
도 2는 본 발명의 바람직한 실시예에 따라 쿼드트리 컬링을 수행하는 과정을 설명하기 위한 예시도,2 is an exemplary diagram for explaining a process of performing quadtree culling according to a preferred embodiment of the present invention;
도 3a 및 도 3b는 본 발명의 바람직한 실시예에 따라 ROAM을 수행하는 과정을 설명하기 위한 예시도,3a and 3b is an exemplary view for explaining a process of performing a ROAM according to a preferred embodiment of the present invention,
도 4는 본 발명의 바람직한 실시예에 따른 3D 렌더링 엔진 프로그램의 프로세스를 간략하게 나타낸 블록 구성도,4 is a block diagram schematically illustrating a process of a 3D rendering engine program according to a preferred embodiment of the present invention;
도 5는 본 발명의 바람직한 실시예에 따른 지형 처리 프로세스를 간략하게 나타낸 블록 구성도,5 is a block diagram schematically illustrating a terrain processing process according to a preferred embodiment of the present invention;
도 6은 본 발명의 바람직한 실시예에 따른 렌더링 라이브러리 프로그램의 프로세스를 간략하게 나타낸 블록 구성도,6 is a block diagram schematically illustrating a process of a rendering library program according to an exemplary embodiment of the present invention;
도 7a 및 도 7b는 본 발명의 바람직한 실시예에 따라 3D 지형 이미지를 제작하는 과정을 설명하기 위한 예시도이다.7A and 7B are exemplary views for explaining a process of manufacturing a 3D terrain image according to a preferred embodiment of the present invention.
< 도면의 주요 부분에 대한 부호의 설명 ><Description of Symbols for Main Parts of Drawings>
400: 3D 렌더링 엔진 프로그램 410: 메인 프로세스400: 3D rendering engine program 410: main process
412: 초기화 프로세스 414: 지형 처리 프로세스412: Initialization process 414: Terrain processing process
416: 입력 루틴 프로세스 418: 그래픽 엔진 프로세스416: Input Routine Process 418: Graphics Engine Process
420: LOD 처리 프로세스 430: 오브젝트 클래스 프로세스420: LOD Processing Process 430: Object Class Process
510: 클래스 생성 프로세스 520: 맵 로딩 프로세스510: class generation process 520: map loading process
530: 프로세싱 프로세스 540: 렌더링 프로세스530: processing process 540: rendering process
600: 렌더링 라이브러리 610: 텍스처 저장 관리 프로세스600: Rendering Library 610: Texture Storage Management Process
620: 자원 관리 프로세스 630: 로더 프로세스620: Resource management process 630: Loader process
640: 스크립터 프로세스 650: 렌더러 프로세스640: scripter process 650: renderer process
660: 애니메이터 프로세스660: animator process
본 발명은 게임 제작을 위한 배경 제작 프로그램을 저장한 컴퓨터에서 읽을 수 있는 기록매체에 관한 것이다. 더욱 상세하게는, 게임 개발에 가장 근본적인 게임 지형 생성 에디터와 지형 엔진을 제작하기 위해, 실시간 최적화 적응적 메시(ROAM: Real-time Optimally Adapting Meshes) 구조의 지형 LOD(Level of Detail) 생성 기능 및 비트맵(Bit Map)을 이용한 높이맵(Height Map) 생성과 향상된 이미지 추출 속성 부여 기능을 구비하는 삼차원 렌더링 엔진(3D 렌더링 엔진: 3 Dimensional Rendering Engine, 이하 '3D 렌더링 엔진'이라 칭함) 프로그램과 이차원(2D: 2 Dimensional) 지형 이미지로부터 3D 지형 이미지를 생성하는 배경 제작 에디터 프로그램을 저장한 컴퓨터에서 읽을 수 있는 기록매체에 관한 것이다.The present invention relates to a computer-readable recording medium storing a background production program for game production. More specifically, terrain level of detail (LOD) generation and bits of Real-time Optimally Adapting Meshes (ROAM) structure to create the game terrain creation editor and terrain engine that are the most fundamental to game development. 3D rendering engine (3D rendering engine: 3D rendering engine) program with height map generation and improved image extraction property assignment using bit map and two-dimensional ( 2D: 2 Dimensional) A computer readable recording medium storing a background creation editor program for generating 3D terrain images from terrain images.
지식 기반 사회인 21세기는 게임 등의 문화 컨텐츠 산업이 고부가가치 산업으로 국가 경쟁력의 척도가 될 전망이며 특히, 지식정보화 사회구현을 위한 초고속 정보통신망의 구축과 응용산업 발전의 중요성이 대두되면서 온라인 게임은 인터넷정보산업의 핵심산업으로 떠오르고 있다.In the 21st century, a knowledge-based society, cultural contents industries such as games are expected to be a measure of national competitiveness as a high-value-added industry. Is emerging as a key industry in the Internet information industry.
국내의 온라인 게임 개발 능력은 국제적으로 강한 경쟁력을 확보하고 있으며, 관련 상품의 국내외 시장 점유율도 높다. 그러나 온라인 3D 게임 분야에서는 자본력과 기술력의 한계로 세계 시장에서 경쟁력 우위의 지속적인 유지가 어려운 상황이다.Domestic online game development ability has a strong international competitiveness, and the domestic and overseas market share of related products is also high. However, in the online 3D game field, it is difficult to maintain a competitive edge in the global market due to the limitation of capital and technology.
최근 온라인 3D 게임이 개발되어 상용화 단계에 있으나, 핵심 기술인 게임엔진은 공개되거나 판매되고 있지 않은 실정이다. 현재 나와 있는 상용 게임 엔진을 이용해 개발한 게임의 경우, 게임을 개발할 때 고가의 기술사용료를 지급해야 하며 판매할 때 판매하는 제품당 로열티를 지급해야 하며, 다른 버전이나 다른 장르의 게임으로 제작할 때, 기술사용의 재계약을 요구하기 때문에, 업계에 큰 부담으로 작용하고 있다.Recently, online 3D games have been developed and commercialized, but game engines, which are core technologies, have not been disclosed or sold. For games developed using the current commercial game engines, you need to pay high royalty fees when developing games, pay royalties per product you sell, and when you make games with different versions or genres, Because it requires the renewal of the use of technology, it is a big burden on the industry.
국내 게임 업계에서 가장 크게 곤란해 하는 사항은 게임 엔진과 게임 콘텐츠를 동시에 개발해야 한다는 점이다. 국내에서 개발된 게임 엔진들은 기술 공개를 꺼리는 국내 업계의 속성 때문에 실질적으로 공개되거나 유통되지 않고 있어, 과 잉, 중복 투자가 반복되는 실정이므로, 정부의 투자로 게임 엔진을 개발하여 소스 코드와 함께 이를 보급시킬 필요성이 대두하는 실정이다.The biggest difficulty in the domestic game industry is that game engines and game contents must be developed at the same time. Since game engines developed in Korea are not actually disclosed or distributed due to the nature of the domestic industry, which is reluctant to disclose technology, excessive and redundant investment is repeated. There is a need to spread.
한편, 3D 게임 엔진 중 그래픽 엔진이 다른 엔진들보다 그 중요도가 월등히 높다. 그래픽 엔진에는 여러 가지 필요한 요소들이 들어가는데, 지형을 만들어내는 것 역시 캐릭터를 제작하는 것만큼이나 중요한 역할을 한다. 한편, 3D 지형이 좀 더 현실과 흡사하기 위해서는 실제의 세계와 유사한 가상의 세계를 만들어야 한다. 3D 지형을 만드는 방법은 여러 가지가 있으나 자신이 원하는 지형을 직접 만들고, 이를 삼차원으로 바꿔서 게임 엔진에서 사용할 수 있으며, 또한 게임 엔진 내부에서의 최적화를 위해서는 가장 기본적으로 사용되는 그레이 스케일 이미지를 사용한 높이맵으로 지형을 생성하는 것이 유리하다.Meanwhile, the graphics engine of the 3D game engine is much more important than other engines. The graphics engine contains many necessary elements, and creating terrain is as important as creating characters. On the other hand, in order for the 3D terrain to be more similar to reality, it is necessary to create a virtual world similar to the real world. There are many ways to create 3D terrain, but you can create your own terrain, change it to 3D, and use it in the game engine, and also use height maps using the most basic gray scale image for optimization inside the game engine. It is advantageous to create terrain.
따라서, 게임 업체나 혹은 게임 관련 교육 기관, 유사 컨텐츠 개발 업체의 제작 능력을 향상할 수 있도록, 그래픽 엔진에서 사용하는 지형 생성기를 개발하고 이를 게임에 쉽게 응용할 수 있는 3D 온라인 게임 엔진의 개발이 요구되는 실정이다.Therefore, in order to improve the production ability of game companies, game related educational institutions, or similar content development companies, it is required to develop a 3D online game engine that can develop a terrain generator used in a graphics engine and easily apply it to a game. It is true.
이러한 문제점을 해결하기 위해 본 발명은, 게임 개발에 가장 근본적인 게임 지형 생성 에디터와 지형 엔진을 제작하기 위해, ROAM 구조의 지형 LOD 생성 기능 및 비트맵을 이용한 높이맵 생성과 향상된 이미지 추출 속성 부여 기능을 구비하는 3D 렌더링 엔진 프로그램과 2D 지형 이미지로부터 3D 지형 이미지를 생성하는 배경 제작 에디터 프로그램을 저장한 컴퓨터에서 읽을 수 있는 기록매체를 제공하는 데 그 목적이 있다.In order to solve this problem, the present invention provides a terrain LOD generation function of a ROAM structure, a height map generation using a bitmap, and an enhanced image extraction attribute providing function to produce a game terrain generation editor and a terrain engine that are the most fundamental to game development. An object of the present invention is to provide a computer-readable recording medium storing a 3D rendering engine program and a background production editor program for generating 3D terrain images from 2D terrain images.
이러한 목적을 달성하기 위해 본 발명은, 삼차원(3D: 3 Dimension)의 지형을 렌더링(Rendering)하는 엔진 프로그램으로서, (a) 지형에 대한 이차원(2D: 2 Dimension)의 비트맵으로부터 높이 데이터를 추출하고, 높이 데이터로부터 지형의 높낮이 추출하여 높이맵(Height Map)을 생성하며, 높이맵을 분할하여 컬링(Curling)을 위한 쿼드트리(Quadtree)를 단위 노드로서 생성하며, 단위 노드를 절두체(Frustum)에 대해서 컬링하고, 컬링된 단위 노드를 카메라의 거리에 따라서 정렬하며, 지형 LOD(Level of Detail)를 위한 패치를 초기화하며, 각 단위 노드에 대해서 LOD 루틴으로부터 거리 및 지형의 정밀도에 따라서 분할된 삼각형 리스트를 얻어서 각 레이어별로 렌더링하는 프로세스; 및 (b) 오브젝트의 기본적인 데이터, 아이디, 오브젝트의 종류 구분자 및 높이맵의 위치를 포함하는 정보를 생성 또는 저장하는 프로세스를 포함하는 것을 특징으로 하는 3D 렌더링 엔진 프로그램을 저장한 컴퓨터에서 읽을 수 있는 기록매체를 제공한다.In order to achieve the above object, the present invention provides an engine program for rendering a three-dimensional (3D) terrain, and (a) extracts height data from a two-dimensional (2D) bitmap of the terrain. Extract the height of the terrain from the height data to create a height map, divide the height map to create a quadtree as a unit node for curling, and create a unit node as a frustum , Align the curled unit nodes according to the camera's distance, initiate a patch for the terrain level of detail (LOD), and for each unit node, divide the triangles according to distance and terrain precision from the LOD routines. Obtaining a list and rendering each layer; And (b) a process of generating or storing information including basic data of the object, ID, type identifier of the object, and location of the height map. Provide the medium.
또한, 본 발명의 다른 목적에 의하면, 삼차원(3D: 3 Dimension, 이하 '3D'라 칭함) 배경을 제작하는 배경 제작 에디터 프로그램으로서, (a) 이차원(2D: 2 Dimension, 이하 '2D'라 칭함) 이미지의 컬러값을 추출하는 프로세서; (b) 컬러값을 이용하여 높낮이가 있는 지형으로 생성하여 높이맵(Height Map)을 생성하는 프로세스; (c) 높이맵에서 다층의 지형 레이어를 이용하여 지형 이미지를 표현하는 프로세스; (d) 지형 이미지에서 컬러맵(Color Map) 및 라이트맵(Light Map)을 이용 하여 그림자 및 배경 분위를 표현하는 프로세스; 및 (e) 지형 이미지에서 기 정의된 컬러 테이블을 참조하여 지형 오브젝트를 배치함으로써 3D 지형 이미지를 생성하는 프로세스를 포함하는 것을 특징으로 하는 배경 제작 에디터 프로그램을 저장한 컴퓨터에서 읽을 수 있는 기록매체를 제공한다.In addition, according to another object of the present invention, as a background production editor program for producing a three-dimensional (3D: 3D, hereinafter referred to as '3D'), (a) two-dimensional (2D: 2 Dimension, hereinafter referred to as '2D') A processor for extracting color values of the image; (b) a process of generating a height map by generating a terrain having height using color values; (c) a process of representing a terrain image using a multilayered terrain layer in a height map; (d) a process of expressing shadows and backgrounds using a color map and a light map in the terrain image; And (e) a process of generating a 3D terrain image by placing the terrain object with reference to a predefined color table in the terrain image, wherein the background production editor program is stored on the computer-readable recording medium. do.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.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. 3D 렌더링 엔진 프로그램1. 3D rendering engine program
(1) 높이맵(Height Map)(1) Height Map
도 1은 본 발명의 바람직한 실시예에 따라 높이맵을 생성하는 과정을 설명하기 위한 예시도이다.1 is an exemplary diagram for explaining a process of generating a height map according to a preferred embodiment of the present invention.
지형은 단순히 게임에서뿐만 아니라 지리정보 시스템(GIS: Geographic Information System)과 같이 지리학 분야에서도 사용되고 있다. 지형을 표시하기 위해서는 기본적으로 높이 필드(Height Field 또는 Height Map)를 사용하며 이를 통해서 지형을 생성할 수 있다.Terrain is used not only in games, but also in geography, such as the Geographic Information System (GIS). To display the terrain, a height field (height field or height map) is basically used, and the terrain can be created through this.
높이 필드란 지형의 높이 정보만 저장하고 내부적인 알고리즘으로 폴리곤(Polygon)을 생성하는 방법으로 일정 간격의 (x, y) 좌표에 대한 높이값 z를 뜻 한다. x, y축 성분이 일정한 간격으로 존재하기 때문에 z축 데이터만을 저장하면 되므로 방대한 지형에 대한 저장 공간을 크게 줄일 수 있다.The height field is a height value z for the (x, y) coordinates of a predetermined interval, which stores only the height information of the terrain and generates a polygon using an internal algorithm. Since x and y-axis components exist at regular intervals, only the z-axis data need to be stored, thereby greatly reducing the storage space for a large terrain.
1A는 높이 필드를 생성하는 과정을 나타낸 것이다. 1A에서와 같이 A에서 F까지 9 개의 높이 필드 값들이 저장되고 실제로 렌더링(Rendering) 될 때 필요한 폴리곤은 내부 알고리즘으로 생성된다. 본 발명의 바람직한 실시예에서는 비트맵(Bit Map)의 각 컬러값을 높이 필드의 각 높이로 사용하였고 그 높이 값에 따라 격자망(Mesh Network)의 고저를 표현함으로써 간단하게 지형을 생성할 수 있는 기법을 사용한다.1A shows the process of creating the height field. As in 1A, the 9 height field values from A to F are stored and the polygons needed when actually rendered are created by the internal algorithm. In the preferred embodiment of the present invention, each color value of the bitmap is used as each height of the height field, and the terrain can be easily generated by expressing the height of the mesh network according to the height value. Use technique.
높이맵의 핵심 원리는 2차원 (x,z) 좌표에서 픽셀(Pixel)의 밝기값을 3차원(x,y,z)의 z값으로 환산하는 것이다. 비트맵 파일로부터 0에서 255 사이의 명암값들을 추출하여 높이값으로 사용하며, 밝을수록 높이가 높은 것이고 어두울수록 낮은 것이다.The key principle of the height map is to convert the brightness value of the pixel to the z value of three dimensions (x, y, z) in two-dimensional (x, z) coordinates. Contrast values between 0 and 255 are extracted from the bitmap file and used as the height value. The brighter is the higher and the darker is the lower.
1B는 비트맵 파일로부터 높이맵을 생성한 것을 예시적으로 나타낸 것이다.1B shows an example of generating a height map from a bitmap file.
(2) LOD(Level Of Detail)의 개념(2) Concept of LOD (Level Of Detail)
게임에서는 삼차원상의 지형 위를 마치 지상을 돌아다니듯 전부를 보여주고 한 번에 많은 공간을 한 화면에 보여주어야 하므로 엄청난 양의 컴퓨터 메모리를 요구하게 된다. 이러한 이유로 삼차원상의 움직임을 더욱 부드럽고 무리를 주지 않게 하기 위해서 연구되는 것이 LOD 방법이다.The game requires a huge amount of computer memory because you have to show everything over three-dimensional terrain as if you were on the ground and show a lot of space on one screen at a time. For this reason, the LOD method has been studied to make the three-dimensional motion smoother and less burdensome.
삼차원상의 지형을 실시간에 렌더링하기 위하여 많은 연구들이 수행되어 왔고, 다양한 LOD 지형 알고리즘 중 호프(Hoppe)에 의해 임의의 메쉬(Mesh)에 삼각형 들을 추가하는 적응적 메쉬에 기반한 알고리즘이 제시되었고, 지형의 조각(Patch)을 표현하기 위해 사용되는 쿼드트리(Quadtrees)라고 하는 구조체를 이용해 지형을 재귀적으로 분할하는 방식이 린드스트롬(Lindstrom)에 의해 제안되었다. 또한, 이진 삼각형 트리에 기반한 알고리즘(ROAM: Real-time Optimally Adapting Meshes, 이하 'ROAM'이라 칭함)이 두체이뉴(Duchaineau)에 의해 제시되었는데, 이는 각 패치를 이등변 삼각형으로 취급하고 이의 정점에서 빗변의 중점을 분할하여 두 개의 새로운 이등변(우측) 삼각형을 만들어 재귀적으로 분할하도록 하는데 그 핵심이 있다.Many studies have been carried out to render three-dimensional terrain in real time, and an algorithm based on adaptive meshes that add triangles to arbitrary meshes by Hope among various LOD terrain algorithms has been proposed. Lindstrom proposed a method of recursively dividing terrain using a structure called quadtrees used to represent patches. In addition, an algorithm based on a binary triangle tree (ROAM: Real-time Optimally Adapting Meshes, hereinafter referred to as 'ROAM') was presented by Duchaineau, which treats each patch as an isosceles triangle and hypotenuse at its vertices. The key point is to split the midpoint of and create two new isosceles (right) triangles and recursively divide them.
본 발명의 바람직한 실시예에 따른 삼차원 렌더링 엔진(3D 렌더링 엔진: 3 Dimensional Rendering Engine, 이하 '3D 렌더링 엔진'이라 칭함)에서 구현된 방식은 전술한 ROAM 방식의 일종인 삼각형 분할 방식을 채택하고, 지형의 고도와 좌표 생성은 비트맵을 이용하여 지정한다. 이를 위하여 비트맵의 각 컬러값을 높이 필드의 각 높이로 사용하고 그 높이 값에 따라 격자망의 고저를 표현함으로써 지형을 생성하며, 사용자가 원하는 대로 지형 데이터를 뽑을 수 있도록 한다.The method implemented in the three-dimensional rendering engine (3D rendering engine, hereinafter referred to as '3D rendering engine') according to the preferred embodiment of the present invention adopts the triangular segmentation method, which is a kind of the ROAM method described above, The altitude and coordinate generation of is specified using a bitmap. To do this, each color value of the bitmap is used as each height of the height field, and the terrain is generated by expressing the height of the grid according to the height value, and the user can extract the terrain data as desired.
지형을 렌더링할 때에는 좌표값과 그 좌표값에 해당하는 높이값을 갖는 각 점들을 삼각형으로 연결하여 표현하는데, 이렇게 표현되는 지형에 LOD을 적용하여 최적화된 지형을 렌더링하게 되는 것이다.When rendering the terrain, each point having a coordinate value and a height value corresponding to the coordinate value is connected by a triangle, and the optimized terrain is rendered by applying LOD to the terrain represented as such.
LOD 방식에 있어서 지형의 상세도 레벨을 선택하는 것은 사용자의 시점을 기준으로 한다는 공통된 개념을 갖는다. 그러므로 관찰자에게 가까운 곳 즉 잘 보이는 곳은 상세히 표현해 주고 먼 곳이나 보이지 않는 곳은 덜 상세히 표현함으로써 시스템의 성능에 무리를 주지 않도록 할 수 있다.In the LOD method, selecting the level of detail of the terrain has a common concept that it is based on the user's viewpoint. Therefore, it is possible to express in detail the closest to the observer, that is, the visible, and the less detailed in the distant or the invisible, so as not to affect the performance of the system.
(3) 컬링(Culling)(3) Curling
컬링 기법이란 주어진 환경을 렌더링할 때 카메라의 시야에 들어오지 않는 객체들을 미리 제외하고 렌더링을 수행하여 전체 렌더링 속도를 향상시키는 방법이다. 많은 수의 다각형으로 이루어진 복잡한 환경에서 카메라가 그 환경의 극히 작은 일부분만을 바라보는 경우가 많을 때 효과를 볼 수 있다. 컬링 기법은 그 특성상 크게 후면 컬링(Back Face Culling), 시야 절두체 컬링(View Frustum Culling), 은면 컬링(Hidden Surface Culling) 등의 3가지 종류로 분류될 수 있다.The culling technique improves the overall rendering speed by rendering the objects that do not come into the camera's field of view when rendering a given environment. In a complex environment with a large number of polygons, this can be effective when the camera often looks at only a small portion of the environment. Curling techniques can be classified into three types, namely, back face culling, view frustum culling, and hidden surface culling.
일반적인 삼차원 물체의 경우 그 물체를 구성하고 있는 면 중 관찰자를 향하고 있는 면만 관찰자에게 보이며 이 이외의 면은 관찰자에게 보이지 않게 된다. 이러한 사실을 이용하여 카메라를 향하고 있지 않은 면을 미리 렌더링 과정에서 제외하는 기법을 후면 컬링 기법이라고 한다. 본 발명의 바람직한 실시예에 따른 3D 렌더링 엔진에서는 다이렉트엑스(DirectX)에서 기본으로 제공하는 후면 컬링(Back Face Culling) 기능을 사용하였다.In the case of a general three-dimensional object, only the face constituting the object facing the observer is visible to the observer, and the other faces are not visible to the observer. Using this fact, the technique of excluding a surface not facing the camera from the rendering process in advance is called a rear culling technique. In the 3D rendering engine according to the preferred embodiment of the present invention, the back face culling function provided by DirectX is basically used.
일반적인 사람의 눈의 경우 유효 시각이 있어 옆에 있거나 뒤에 있어 이 각도를 벗어나 있는 객체들은 시야에 들어오지 않아 보이지 않는다. 이렇듯 주어진 카메라에 대해서 영상을 만들었을 때 화면에 나타나는 시야를 카메라의 시야 절투체(View Frustum)라고 하며, 시야 절두체에 포함되지 않은 물체를 미리 렌더링 과정에서 제의시켜 렌더링 속도를 향상시키는 기법을 시야 절두체 기법이라고 한다. 본 발명의 바람직한 실시예에 따른 3D 렌더링 엔진에서는 다이렉트엑스에서 제공하 는 카메라 관련 파라미터를 이용하여 간단한 행렬 연산을 통해 시야 절두체 컬링 기능을 구현한다.The average human eye has an effective field of view so objects that are next to or behind this angle are out of sight and are not visible. As such, the field of view that appears on the screen when a video is made for a given camera is called the view frustum of the camera. A technique for improving rendering speed by suggesting objects not included in the field of view frustum in advance during the rendering process It is called a technique. In the 3D rendering engine according to the preferred embodiment of the present invention, a view frustum culling function is implemented through a simple matrix operation using a camera related parameter provided by DirectX.
(4) 쿼드트리 컬링(4) Quadtree Curling
도 2는 본 발명의 바람직한 실시예에 따라 쿼드트리 컬링을 수행하는 과정을 설명하기 위한 예시도이다.2 is an exemplary diagram for explaining a process of performing quadtree culling according to a preferred embodiment of the present invention.
2A는 지형 나누기(Divide Ground)의 과정을 나타낸 것이다.2A shows the process of Divide Ground.
쿼드트리는 지형을 네 조각으로 나누는 것이다. 그리고 그 조각들이 특정 크기에 이를 때까지 네 조각으로 나누기를 계속한다. 그리고 조건을 만족하면 나누기를 멈춘다.Quadtrees divide the terrain into four pieces. Continue dividing into four pieces until the pieces reach a certain size. If the condition is met, the division stops.
2B는 쿼드트리의 구조를 예시적으로 나타낸 것이다. 쿼드트리를 사용하는 이유는 거대한 지형을 빠르게 검색할 수 있기 때문이다. 따라서 큰 덩어리 단위로 필요없는 부분을 제거함으로써, 3D 렌더링 엔진이 처리해야 할 데이터량을 빠르게 줄일 수 있다.2B exemplarily shows a quadtree structure. The reason for using Quadtree is that it can quickly search huge terrain. Therefore, by eliminating unnecessary parts in large chunks, you can quickly reduce the amount of data that the 3D rendering engine needs to process.
(5) ROAM(5) ROAM
도 3a 및 도 3b는 본 발명의 바람직한 실시예에 따라 ROAM을 수행하는 과정을 설명하기 위한 예시도이다.3A and 3B are exemplary views for explaining a process of performing a ROAM according to a preferred embodiment of the present invention.
ROAM이란 지형 상에서 카메라의 위치에 따라서 폴리곤 정보를 동적으로 생성하는 기술을 말한다. ROAM은 큰 영역을 2 개의 삼각형으로 쪼개고, 이 삼각형을 또 2 개의 삼각형으로 쪼개고, 프로그래머가 생각하는 깊이(레벨)까지 쪼갠다. 이 쪼개진 영역이 카메라와 가까우면, 세밀하게 표현하기 위해 깊이 분할 영역까지 순회 하며 폴리곤 정보를 생성한다. 깊이 분할 영역은 카메라와 멀면 깊게 들어가지 않고, 낮은 레벨의 정보만 참조하여 폴리곤 정보를 생성한다.ROAM refers to a technology that dynamically generates polygon information according to the position of a camera on a terrain. ROAM breaks a large area into two triangles, breaks this triangle into two triangles, and splits it to the depth (level) that the programmer thinks. When this cleaved area is close to the camera, polygon information is generated by traversing to the depth division area for finer detail. The depth segment does not go deep when it is far from the camera, and generates polygon information by referring only to low level information.
ROAM은 이차원 배열(Patch)로 구역을 등분한 다음 삼각형 구조로 나눈다. 처음에 반으로 나누면 역시 삼각형 두 개, 왼쪽 노드, 오른쪽 노드가 되고 패치 바로 하부의 두 개의 삼각형은 서로 베이스 이웃이 된다. 삼각형이 반으로 나뉘면 나뉜 2 개는 나뉘기 전 영역의 자식이 되고, 이 2 개의 자식이 왼쪽, 오른쪽 차일드가 된다. 자식 베이스 이웃 관계 이외에 관계가 '왼쪽 이웃/ 오른쪽 이웃'이 되는데 이 왼쪽/오른쪽 이웃은 같은 패치 안의 삼각형끼리 될 수도 있고, 서로 다른 패치에 있는 삼각형 간에 이루어질 수도 있다.ROAM divides an area into two-dimensional patches and then divides it into triangular structures. The first half divides into two triangles, the left node and the right node, and the two triangles immediately below the patch become base neighbors. If the triangle is split in half, the two splits become children of the predivided area, and these two children are left and right children. In addition to the child base neighbor relationship, the relationship becomes 'left neighbor / right neighbor', which may be triangles in the same patch or between triangles in different patches.
도 3a는 레벨별 삼각형을 생성하는 과정을 설명하기 위한 예시도이다.3A is an exemplary diagram for describing a process of generating a triangle for each level.
베이스 이웃, 양쪽 자식에 대한 필요성은 알지만, 왼쪽/ 오른쪽 이웃의 필요성에 대해서는 아직 알 수가 없는 상태이다. 이것은 폴리곤 생성 중에 깨짐 현상을 해결하기 위한 것이다.We know the need for base neighbors and both children, but we still have no idea of the need for left / right neighbors. This is to solve the cracking phenomenon during polygon generation.
도 3b는 레벨별 삼각형을 강제분할하여 편차를 구하는 과정을 설명하기 위한 예시도이다.3B is an exemplary view for explaining a process of obtaining a deviation by forcibly dividing a triangle for each level.
3A는 삼각형을 강제 분할하는 모습을 나타낸 것이다. 서로 이웃인 삼각형 A와 B가 있다. A가 2 단계 깊이까지 삼각형 이진 트리를 구축하고, B는 구축하지 않는다면 A의 자식 삼각형 정보를 기준으로 폴리곤을 그릴 때, B의 폴리곤과 높이가 맞지 않기 때문에 중간이 붕 뜨게 된다. 따라서, 다이아몬드라는 규칙을 사용해 반대편도 같이 강제분할 해 주어야한다.3A shows the forced division of the triangle. There are triangles A and B next to each other. If A builds a triangular binary tree up to two levels deep, and B doesn't, then the middle collapses when it draws a polygon based on A's child triangle information because it does not match the height of B's polygon. Therefore, the other side must be forced together using the diamond rule.
3B는 편차를 구하는 모습을 나타낸 것이다. 편차는 분할을 어디까지 할 것인가를 결정할 때 사용한다. 편차는 "Left Z" + "Right Z"를 2로 나눈 값과 "Center Z"와의 차이 값이다. ROAM은 좁은 지역에서 심하게 울퉁불퉁한 지형보다는 큰 계곡과 산이 있다고 가정하고 작성된 알고리즘이다.3B shows the deviation. The deviation is used to determine how far to divide. The deviation is the difference between "Left Z" + "Right Z" divided by 2 and "Center Z". ROAM is an algorithm written assuming large valleys and mountains in a narrow area rather than severely rugged terrain.
(6) 3D 렌더링 엔진 프로그램의 구성(6) composition of 3D rendering engine program
도 4는 본 발명의 바람직한 실시예에 따른 3D 렌더링 엔진 프로그램의 프로세스를 간략하게 나타낸 블록 구성도이다.4 is a block diagram schematically illustrating a process of a 3D rendering engine program according to an exemplary embodiment of the present invention.
본 발명의 바람직한 실시예에 따른 3D 렌더링 엔진 프로그램은 메인 프로세스(410) 및 오브젝트 클래스 프로세스(430)를 포함한다.The 3D rendering engine program according to the preferred embodiment of the present invention includes a
여기서, 메인 프로세스(410)는 다시 초기화 프로세스(412), 지형 처리 프로세스(414), 입력 루틴 프로세스(416), 그래픽 엔진 프로세스(418) 및 LOD 처리 프로세스(420)로 구성된다.Here,
초기화 프로세스(412)는 기본적인 팝업의 검정색 브러시(Brush)로 칠해진 윈도를 생성하는 윈도우 생성 기능, 입력 루틴(Routine)의 초기화 함수를 호출하는 입력루틴 초기화 기능, 특정 해상도(예를 들어, 기본: 1024*768*32)를 파라미터로 한 다이렉트엑스 인터페이스를 초기화하는 그래픽 디바이스(Graphic Device) 초기화 기능, 카메라의 FOV(Field of View)를 약 75 °로 설정하고 카메라의 원거리(Far Plane)를 약 128로 설정하며, 카메라의 초기 위치를 원점인 0,0,0으로 설정하는 카메라 셋팅 기능, 하늘 처리를 위한 초기화 함수를 호출하는 하늘(스카이 박스(Sky Box)) 초기화 기능, 지형 루틴의 클래스 인스턴스(Instance)를 초기화한 후 에 미리 만들어진 높이맵으로부터 지형 데이터를 추출해서 지형을 만드는 지형 초기화 기능, 최적의 환경을 구성하기 위해 윈도우 메시지를 최우선으로 처리하고 중앙처리장치(CPU)의 유휴 시간에 업데이트를 수행하도록 하는 메인 루프 기능 등을 수행한다.
지형 처리 프로세스(414)는 클래스(Class)를 생성하고, 맵을 로딩하며, 쿼드트리로 구성된 노드를 컬링하고 지형 LOD를 위한 패치를 초기화하며, 컬링된 최소 노드에 대해 렌더링하는 기능 등을 수행한다. 지형 처리 프로세스(414)에 대해서는 도 5를 통해 상세히 설명한다.The
입력 루틴 프로세스(416)는 다이렉트엑스로부터 키 및 마우스 데이터를 얻어서 입력이 필요한 각 모듈 부분에 전송하는 기능을 수행한다.The
그래픽 엔진(418)은 다이렉트엑스를 이용하여 디바이스를 초기화하고, 텍스처(Texture)를 생성하며, 메시를 처리하는 기능을 수행한다.The
LOD 처리 프로세스(420)는 원근감을 이용하여 폴리곤의 숫자를 조절하면서 렌더링하는 기능을 수행한다. 즉, LOD 처리 프로세스(420)는 멀리 있는 것은 폴리곤의 숫자를 줄여서 렌더링하고 가까이 있는 것은 폴리곤의 숫자를 늘여서 렌더링하는 기능을 수행한다.The
오브젝트 클래스 프로세스(430)는 모든 오브젝트(예를 들어, 유닛, 건물, 배경 등)의 기본적인 데이터, 아이디, 오브젝트의 종류 구분자, 맵의 위치 등에 대한 정보를 생성 또는 저장하는 기능을 수행한다.The
도 5는 본 발명의 바람직한 실시예에 따른 지형 처리 프로세스를 간략하게 나타낸 블록 구성도이다.5 is a block diagram schematically illustrating a terrain processing process according to a preferred embodiment of the present invention.
본 발명의 바람직한 실시예에 따른 지형 처리 프로세스(414)는 클래스 생성 프로세스(510), 맵 로딩 프로세스(520), 프로세싱 프로세스(530) 및 렌더링 프로세스(540)를 포함한다.The
클래스 생성 프로세스(510)는 절두체 컬링 모듈의 인스턴스, 쿼드트리 노드, 지형 텍스처 데이터, LOD 패치 관련 데이터, 패치열, 지형 정점 데이터, 높이 데이터, 지형의 노말 벡터, LOD를 적용하기 위한 지형의 조밀도, 지형 컬러 데이터, 맵 로딩, 프로세싱, 렌더링에 관한 기본적인 데이터 구조를 정의하는 기능을 수행한다.The
맵 로딩 프로세스(520)는 미리 생성된 높이 데이터로부터 지형의 높낮이 정보를 추출하는 높이맵 로딩 기능, 노말 벡터를 생성하고 지형 정밀도를 계산하며 절벽 레이어를 판정하는 기능, 정점에서 컬러를 설정하기 위해 미리 생성된 컬러 이미지 맵을 로딩하는 컬러맵 로딩 기능, 전체 맵을 2의 배수로 분할하면서 절두체 컬링에 사용되는 최소 단위의 노드가 될 때까지 분할하는 컬링을 위한 쿼드트리 생성 기능, 지형을 위한 정점 버퍼와 인덱싱(Indexing) 버퍼를 생성하는 기능, 지형 레이어를 위한 텍스처를 로딩하는 기능 등을 수행한다.The
프로세싱 프로세스(530)는 쿼드트리로 구성된 각각의 노드를 절두체에 대해서 컬링하고, 컬링된 각 단위 노드를 카메라의 거리에 따라서 정렬(Sorting)하며, 지형 LOD를 위한 패치를 초기화하는 기능 등을 수행한다.The
렌더링 프로세스(540)는 프로세싱 프로세스(530)에서 컬링한 최소 노드에 대 해서, LOD 루틴으로부터 거리 및 지형의 정밀도에 따라서 분할된 삼각형 리스트를 얻어서 각각의 레이어별로 렌더링하는 기능, 컬링된 전체 패치에 대해서 분할된 삼각형을 획득하는 루틴 기능, 획득한 삼각형 리스트를 이용하여 기본 레이어를 렌더링하는 기능, 추가할 레이어가 있는 경우 기본 레이어를 렌더링한 다음에 추가로 렌더링하는 기능 등을 수행한다.The
2. 렌더링 라이브러리 프로그램2. Rendering Library Program
렌더링 라이브러리 프로그램이란 3D 모델링툴(3DSMAX)로 제작된 모델링 데이터(건물, 캐릭터)들을 3D 프로그램상에 렌더링하기 위해 만들어진 클래스 라이브러리이다. 사용언어는 C++이며, 비주얼 스튜디오(Visual Studio) Net 2003 컴파일러를 사용하며, 렌더링 응용 프로그램 인터페이스(API: Application Program Interface)로서 마이크로소프트 다이렉트엑스(Microsoft DirectX) 9.0을 이용한다. 문자 열셋은 유니코드(Unicode)를 사용한다.The rendering library program is a class library designed to render modeling data (buildings and characters) produced by the 3D modeling tool (3DSMAX) on a 3D program. The language used is C ++, uses the Visual Studio Net 2003 compiler, and uses Microsoft DirectX 9.0 as the rendering application program interface (API). The character set uses Unicode.
사용 모델링툴은 3DSMAX 7.0을 사용하며, 캐릭터 애니메이션의 지원을 위하여 본앤파이프드(Bone & Biped)를 사용하여 모형화되어야 한다. 또한, 버텍스(Vertex) 단위의 스키닝(Skinning)을 위하여 피지크(Physique)를 사용하여 메시를 제작해야하고, 최대 버텍스당 4개의 본 처리까지 허용한다.The use modeling tool uses 3DSMAX 7.0 and must be modeled using Bone & Biped to support character animation. In addition, meshes must be fabricated using Physique for skinning in Vertex units, allowing up to four bone treatments per vertex.
렌더링 라이브러리 프로그램은 HLSL(High Level Shader Language)를 이용한 쉐이더의 사용으로 고속의 하드웨어 버텍스 쉐이딩(Hardware Vertex Shading)을 지원한다(단, Vertex Shader 1.1 이상을 지원하는 3D 가속기 카드가 필요하다. 없을 때에는 소프트웨어 버텍스 프로세싱을 사용한다.). 3D 모델링툴(3DSMAX)용 플러그 인과 그 결과물을 렌더링 라이브러리에서 사용되는 모델 파일(이하: JRR)로 변경시켜주는 변환 프로그램이 제공된다. 캐릭터 애니메이션은 본(Bone)과 스키닝(Skinning) 애니메이션을 지원하며, 메시당 텍스처는 1 개를 사용할 수 있다. 메시당 최대 본 수는 20 개가 가능하다.The rendering library program supports high-speed hardware vertex shading by using shaders using the High Level Shader Language (HLSL) (however, a 3D accelerator card that supports Vertex Shader 1.1 or higher is required. Use vertex processing). A plug-in for the 3D modeling tool (3DSMAX) and a conversion program are provided to convert the output into a model file (hereinafter JRR) used in the rendering library. Character animation supports bone and skinning animation, and one texture per mesh can be used. The maximum number of bones per mesh is 20.
도 6은 본 발명의 바람직한 실시예에 따른 렌더링 라이브러리 프로그램의 프로세스를 간략하게 나타낸 블록 구성도이다.6 is a block diagram schematically illustrating a process of a rendering library program according to an exemplary embodiment of the present invention.
본 발명의 바람직한 실시예에 따른 렌더링 라이브러리 프로그램(600)은 텍스처 저장 관리 프로세스(610), 자원 관리 프로세스(620), 로더 프로세스(630), 스크립터 프로세스(640), 렌더러 프로세스(650) 및 애니메이터 프로세스(660)를 포함한다.The
텍스처 저장 관리 프로세스(610)는 로더 프로세스(630)에서 모델을 로딩할 때 사용하는 텍스처를 렌더러 프로세스(650)에 설정한다. 이때, 파일 이름을 인수로 외부의 함수를 호출하면 외부의 함수에서 텍스처를 찾아 넘겨 준다. 외부의 함수는 사용측 프로그램에서 제공해야 한다.The texture
자원 관리 프로세스(620)는 렌더링 라이브러리 프로그램을 실행하는 시스템에서 사용하는 모든 공용 자원들을 생성, 관리, 파기하는 역할을 수행한다(예: 스키닝 쉐이더, 기타 여러 가지 설정 정보를 포함하는 파일). 자원 관리 프로세스(620)는 디바이스가 생성되고 소멸할 때, 공용 자원을 생성하고 파기한다. 또한, 스크립터 프로세스(640), 로더 프로세스(630), 렌더러 프로세스(650), 애니메이터 프로세스(660) 등 각종 세부 클래스들의 공용 자원 요청을 받고 제공해 주는 역할 을 한다.The
또한, 쉐이더를 초기화할 때, 현재 수행되는 3D 가속기에서 쉐이더를 사용할 수 있는지 여부와 버전을 검사하며, 버텍스 쉐이더(Vertex Shader) 1.1 미만의 쉐이더를 지원할 때, 해당 프로그램에서는 최초로 디바이스를 생성할 때, 버텍스를 처리하는 방식을 소프트웨어 버텍스 프로세싱(Software Vertex Processing)으로 설정해야 하며, 되도록 높은 버전의 쉐이더를 사용하는 3D 가속기의 사용을 하는 것이 바람직하다.Also, when initializing the shader, it checks whether the shader can be used in the currently running 3D accelerator, and when it supports shaders less than Vertex Shader 1.1. When the program first creates a device, The way the vertices are handled should be set to Software Vertex Processing, and it is advisable to use a 3D accelerator that uses a higher version of the shader.
로더 프로세스(630)는 렌더링 라이브러리의 캐릭터 파일(*.JRR, 이하 'JRR'이라 칭함)을 읽어들여 파싱(Parsing)한 후, 해당 부속 파일들 렌더러 프로세스(650)의 경우 (*.scj)파일, 애니메이터 프로세스(660)의 경우 (*.ani)파일을 처리하여 스크립터 프로세스(640)의 인스턴스를 생성한다. 이 과정에서 각 메시에서 사용되는 텍스처가 연결되며, 최종적으로 요청 프로그램측에 인스턴스를 반환한다.The
스크립터 프로세스(640)는 렌더링 라이브러리 프로그램(600)에서 사용하는 렌더링 인스턴스라 할 수 있으며, 로더 프로세스(650)에서 만들어진 렌더러 프로세스(650)와 애니메이터 프로세스(660)의 인스턴스를 갖는다. 요청측 프로그램에서 프레임의 업데이트나 렌더링을 호출되는 함수들이 있으며, 이 인스턴스를 이용하여, 본을 설정하고, 프레임 버퍼에 렌더링한다.The
렌더러 프로세스(650)는 스크립터 프로세스(640)의 내부 인수이다. 렌더링 타이밍 시에 호출되어 메시들을 그린다. 렌더러 프로세스(650)는 각 메시의 버텍스 버퍼들과, 스키닝을 처리할 때 쉐이더로 넘겨줄 본 테이블과 텍스처 정보, 컨트롤 포인트(Control Point) 정보 등을 저장하여, 스크립터 프로세스(640)의 렌더링 정보를 제공하는 저장 장소로서의 역할을 수행한다.
애니메이터 프로세스(660)는 스크립터 프로세스(640)의 내부 인스턴스이다. 애니메이터 프로세스(660)는 모든 애니매이션의 키값(Scale, Rotate, Pos)을 보관한다. 스크립터 프로세스(640)로부터 호출되어 해당 프레임 위치로 본을 설정해놓으며, 렌더러 프로세스(650)에서 이 키값을 참조하여 렌더링을 한다.
3. 배경 제작 에디터 프로그램3. Background Creation Editor Program
배경 제작 에디터 프로그램은 게임에 사용될 배경을 제작하기 위해 2D 지형 이미지로부터 3D 지형 이미지를 생성하는 프로그램이다.The background creation editor program creates 3D terrain images from 2D terrain images to create a background for the game.
(1) 초기화(1) initialization
배경 제작 에디터 프로그램은 데이터베이스 초기화 기능, 카메라 초기화 기능, 직접 입력(Direct Input) 초기화 기능, 타일 초기화 기능, 오브젝트 큐 제작 기능, 오브젝트 정보 초기화 기능, 인터페이스 초기화 기능, 그림자가 저장될 텍스처 초기화 기능, 지형 초기화 등을 수행한다.The background editor editor program includes database initialization function, camera initialization function, direct input initialization function, tile initialization function, object cue making function, object information initialization function, interface initialization function, texture initialization function to save shadow, and terrain initialization. And so on.
여기서, 오브젝트 정보 초기화 기능은 캐릭터 엔진 초기화 기능, 유닛 초기화 기능, 건물 배경 초기화 기능 등으로 세분화될 수 있다.Here, the object information initialization function may be subdivided into a character engine initialization function, a unit initialization function, a building background initialization function, and the like.
또한, 지형 초기화 기능은 지형 쿼드트리 생성 기능, 지형 편집 기능, 디퓨즈(Diffuse) 컬러 변경 기능, 라이트(Light)값 설정 기능, 지형 평탄화 기능, 텍스처 스플리팅(Slitting) 기능, 지형맵 열기 기능, 컬러맵 열기 기능, 몬스터(Monster) 열기 기능 등을 수행하고, 버텍스 버처에서 락-언락(Lock-Unlock)을 걸면 메모리, 주메모리, 수정, 그래픽 메모리로 순차적으로 이동하는 과정에서 성능이 저하될 수 있으므로, 버텍스 버퍼로의 접근 빈도가 높으면 버텍스 버퍼를 사용하지 않고, 동적 메모리를 사용하는 것이 바람직하다.Terrain initialization also includes terrain quadtree generation, terrain editing, diffuse color changes, light value settings, terrain flattening, texture splitting, and open terrain maps. Opening the color map function, opening the monster function, etc., and locking-unlocking the vertex vertices may cause performance degradation in the process of sequentially moving to memory, main memory, modification, and graphics memory. Therefore, if the frequency of access to the vertex buffer is high, it is preferable to use dynamic memory without using the vertex buffer.
(2) 지형 출력 프로세스(2) terrain output process
1) 절두체 위치 업데이트1) update the frustum position
절두체 컬링으로 보여줄 노드 번호를 선택하고, 선택된 노드 번호에 맞는 패치를 선택한 후 크랙(Crack)을 없애기 위하여 주위 노드와 연결하여 패치(Patch)를 조각화(Tessellate)한다. 보이는 패치부터 버텍스 인덱스를 획득하여 화면에 출력한다. 인덱스에 해당하는 버텍스를 획득한 후 그 인덱스에 해당하는 높이값과 디퓨즈값을 구하여 버텍스에 적용시킨 후 임시 버퍼에 저장하여 출력한다. 화면에 보일 패치에 텍스처 스플리팅(Splitting)이 되어야 한다면 렌더링 설정을 알파블렌딩(Alpha Blending)으로 변경한 후, 텍스처 설정 및 버텍스 정보를 얻어와 버텍스의 디퓨즈값에 알파값을 변경하여 화면에 출력한다.Select the node number to be shown as frustum culling, select the patch that matches the selected node number, and connect the neighboring nodes to eliminate the cracks and fragment the patch. The vertex index is obtained from the visible patches and displayed on the screen. After obtaining the vertex corresponding to the index, obtain the height value and the diffuse value corresponding to the index, apply it to the vertex, and store it in a temporary buffer and output it. If texture splitting should be applied to the patch to be seen on the screen, change the rendering setting to Alpha Blending, get the texture setting and vertex information, and change the alpha value of the diffuse value of the vertex and display it on the screen. do.
2) 바다 출력2) sea discharge
버텍스가 나타내는 지형이 하나라도 바다 높이로 선언한 값보다 그 높이가 작은 경우 그 패치를 알파블렌딩하여 다시 한번 화면에 출력한다.If any of the terrain represented by the vertex is smaller than the value declared as the height of the sea, the patch is alpha blended and displayed again on the screen.
3) 지형 그리드 출력3) terrain grid output
선택된 패치의 각 줄의 첫 번째 버텍스와 각 줄의 끝번째 버텍스를 라인으로 잇는다. 위 아래 역시 마찬가지이다. 선택된 패치의 왼쪽-위쪽(Left-Top), 오른쪽-위쪽(Right-Top), 왼쪽-아래쪽(Left-Bottom), 오른쪽(Right-Bottom)을 이용하여 라 인으로 그려준다.Join the first vertex of each line of the selected patch with the last vertex of each line. The same applies to up and down. Lines are drawn using Left-Top, Right-Top, Left-Bottom, and Right-Bottom of the selected patch.
4) 블록 그려주기4) Draw Block
블록이 저장된 배열 정보값을 3 개씩 읽어와 3 개가 참이면 그 위치에 해당하는 삼각형을 생성한 후 화면에 출력한다.If each block reads the stored
5) 미니맵(Mini Map)5) Mini Map
미니맵으로 사용할 128*128 크기의 텍스처를 생성한 후, 1 초마다 미니맵을 업데이트 한다. 업데이트 되는 내용은 텍스처 스플리팅된 텍스처의 위치와 바다의 위치, 건물의 위치를 업데이트 한다.After creating a 128 * 128 texture to be used as the minimap, update the minimap every second. The updated content updates the location of the texture split texture, the sea location, and the building location.
6) 미리보기(Preview)6) Preview
미리보기로 사용할 128*128 크기의 텍스처를 생성한 후, 선택된 오브젝트의 내용이 변경될 때마다 변경된 오브젝트로 화면을 업데이트한다.Create a 128-by-128 texture to use as a preview, and then update the screen with the changed object whenever the contents of the selected object change.
7) 시작 위치 설정7) Start position setting
시작 위치로서 선택할 위치를 클릭하면 삼각뿔이 생성된다. 생성된 삼각뿔을 클릭하여 홈(Home)을 누르면 생성된 순서를 변경할 수 있다.Click on the position you want to select as the start position to create a triangular pyramid. Click the created triangular pyramid and press Home to change the order of creation.
8) 몬스터 생성 위치8) Monster Creation Location
시작 위치와 같이, 지형을 클릭한 위치에 오브젝트가 하나 생성된다. 생성될 몹 인덱스가 설정되지 않은 경우에는 흰색, 설정된 경우에는 오브젝트의 버텍스 디퓨즈값을 "0xffffff00"으로 변경하여 화면에 출력한다.Like the start position, an object is created where you clicked on the terrain. If the mob index to be created is not set to white, the vertex diffuse value of the object is changed to "0xffffff00" and displayed on the screen.
9) 오브젝트 출력9) Object Output
리스트 박스에서 오브젝트명을 얻어와 유닛이 저장된 구조체에서 키값을 얻 는다. 키값을 얻은 후 키값에 해당하는 오브젝트의 크기를 얻어와 저장한다. 오브젝트를 선택한 후 홈을 눌러 ID값을 변경하면, 선택된 오브젝트의 생성된 순서를 찾아 해당하는 정보를 얻어내 값을 변경한다.Gets the object name from the list box and the key value from the structure where the unit is stored. After the key value is obtained, the size of the object corresponding to the key value is obtained and stored. When you select an object and press HOME to change the ID value, the created order of the selected object is found to obtain the corresponding information to change the value.
10) 건물 오브젝트 출력10) Building Object Output
건물 오브젝트의 경우, 게임상에서 직접 수치를 조절하여 사용하므로 매트릭스(Matrix)로 바로 넘기지 않고, 이동, 회전, 스케일값을 넘겨준다. 마찬가지로 홈을 누르면 생성된 순서를 바꿀 수 있다.In the case of building objects, the numbers are adjusted directly in the game, so they don't go directly to the matrix, but to move, rotate, and scale. Similarly, pressing Home can change the order in which they are created.
11) 그림자 처리11) Shadow Treatment
그림자 매트릭스를 제작하여 찍히는 그림자 모양은 흰색으로 설정을 한다. 캐릭터 엔진으로부터 버텍스 정보와 인덱스 정보를 얻어와 그림자 텍스처에 모양을 찍는다.The shadow shape produced by making the shadow matrix is set to white. Get the vertex and index information from the character engine and shape the shadow texture.
이하에서는 배경 제작 에디터 프로그램을 사용하는 일 실시예를 설명한다.Hereinafter, an embodiment of using a background production editor program will be described.
컴퓨터 등의 메모리에 배경 제작 에디터 프로그램을 저장하고, 컴퓨터 등의 입출력 수단을 통해 배경 제작 에디터 프로그램의 실행을 명령하면, 컴퓨터 등의 마이크로프로세서가 배경 제작 에디터 프로그램을 실행한다. 배경 제작 에디터 프로그램이 실행되면 컴퓨터 등의 화면상에 배경을 제작하기 위한 인터페이스 화면이 출력되고, 사용자는 인터페이스 화면을 통해 컴퓨터 등을 조작하여 배경을 제작한다.When the background production editor program is stored in a memory such as a computer, and the background production editor program is executed through an input / output means such as a computer, a microprocessor such as a computer executes the background production editor program. When the background production editor program is executed, an interface screen for creating a background on a screen such as a computer is output, and the user creates a background by operating a computer through the interface screen.
배경 제작 에디터 프로그램의 파일 메뉴에서 '새파일' 메뉴를 선택하여 패치를 이용한 블록을 설정하거나 "열기" 메뉴를 선택하여 기존에 저장된 맵파일을 불 러오고, "저장" 메뉴를 선택하여 열거나 새롭게 생성한 파일을 저장할 수 있다.In the background creation editor program, select the 'New File' menu to set blocks using patches, or select the 'Open' menu to load an existing saved map file, and select the 'Save' menu to open or refresh a new file. You can save the file you created.
또한, 배경 제작 에디터 프로그램의 파일 메뉴에서 "지형맵 열기/저장" 메뉴를 선택하여 지형맵을 열거나 저장하고, "컬러맵 열기/저장" 메뉴를 선택하여 컬러맵을 열거나 저장할 수 있다. "레이어 편집" 메뉴를 선택하여 원하는 장면을 레이어화하여 삽입하거나 다시 열 수 있고, "배경맵 열기/저장" 메뉴를 선택하여 배경으로 사용될 맵을 열거나 저장할 수 있으며, "몬스터 열기/저장" 메뉴를 선택하여 몬스터의 위치와 설정을 저장하거나 열 수 있다.You can also open or save a terrain map by selecting the "Open / Save Topographic Map" menu in the File menu of the Background Production Editor program, and open or save a color map by selecting the "Open / Save Color Map" menu. Select the "Edit Layer" menu to layer or re-open the scene you want, select the "Open / Save Background Map" menu to open or save the map to be used as a background, or click the "Open / Save Monster" menu. Select to save or open the monster's location and settings.
이러한 지형맵, 컬러맵, 배경맵, 몬스터 설정까지 모두 비트맵 이미지를 활용하여 포토샵(Photoshop)과 같은 이미지 관리 툴에서 모두 손쉽게 변경이 가능하다. 또한, 오브젝터의 좌표값과 색의 R, G, B 값을 활용하여 더욱 쉽고 빠르게 광범위한 맵을 제작할 수 있다.These topographic maps, color maps, background maps, and even monster settings can all be easily changed in image management tools such as Photoshop using bitmap images. In addition, by using the coordinate values of the object and the R, G, and B values of the color, a wide range of maps can be produced more easily and quickly.
또한, 배경 제작 에디터 프로그램은 "도구 상자", "미니맵", "미리보기", "색상창" 등을 지원하여 도구상자를 화면에 불러오거나, 미니맵 창을 열고 닫거나, 선택된 오브젝트의 미리보기 창을 열고 닫거나 색상창을 열고 닫을 수 있다.The background creation editor program also supports "toolbox", "minimap", "preview", "color window", etc. to bring the toolbox to the screen, open and close the minimap window, or preview selected objects. You can open and close windows or open and close color windows.
이러한 배경 제작 에디터 프로그램을 이용하면, 현재 맵의 모든 정보를 유지하면서 블록과 타일셋, 경사도 및 불투명도를 설정하거나 변경할 수 있고, 방향키나 마우스 등을 이용하여 지형을 이동하거나 회전할 수 있으며, 지형의 크기를 변환하거나 불투명도를 조절하거나, 현재 맵의 디테일 상태(LOD)를 조절할 수 있으며, 지형 편집, 레이어 편집, 버텍스 컬러 편집, 라이트 컬러 편집, 몹 트리거, 시작 위치 등을 생성하거나 변경할 수 있다.With this background editor editor, you can set or change blocks, tilesets, slopes, and opacity while maintaining all the information on the current map, move or rotate the terrain with the arrow keys or the mouse, and size the terrain. You can convert, adjust opacity, adjust the detail state of the current map (LOD), create or change terrain editing, layer editing, vertex color editing, light color editing, mob triggers, starting positions, and more.
이를 위해, 배경 제작 에디터 프로그램은 2D 지형 이미지의 컬러값을 추출하는 프로세스, 컬러값을 이용하여 높낮이가 있는 지형으로 생성하여 높이맵(Height Map)을 생성하는 프로세스, 높이맵에서 다층의 지형 레이어를 이용하여 지형 이미지를 표현하는 프로세스, 지형 이미지에서 컬러맵(Color Map) 및 라이트맵(Light Map)을 이용하여 그림자 및 배경 분위를 표현하는 프로세스 및 지형 이미지에서 기 정의된 컬러 테이블을 참조하여 지형 오브젝트를 배치함으로써 3D 지형 이미지를 생성하는 프로세스를 포함한다.To this end, the background creation editor program extracts the color values of the 2D terrain image, creates the height map using the color values, and creates the height map. The process of representing terrain image by using the object, the process of expressing shadow and background using the color map and light map in the terrain image, and the terrain object by referring to the predefined color table in the terrain image. The process of generating a 3D terrain image by placing the.
이하에서는 도 7a 및 도 7b를 통해 본 발명의 바람직한 실시예에 따라 3D 지형 이미지를 제작하는 과정을 설명한다.Hereinafter, a process of manufacturing a 3D terrain image according to a preferred embodiment of the present invention will be described with reference to FIGS. 7A and 7B.
도 7a 및 도 7b는 본 발명의 바람직한 실시예에 따라 3D 지형 이미지를 제작하는 과정을 설명하기 위한 예시도이다.7A and 7B are exemplary views for explaining a process of manufacturing a 3D terrain image according to a preferred embodiment of the present invention.
도 7a는 본 발명의 바람직한 실시예에 따른 배경 제작 에디터 프로그램을 이용하여 3D 지형 이미지를 제작하는 과정을 설명하기 위한 순서도이다.FIG. 7A is a flowchart illustrating a process of producing a 3D terrain image using a background production editor program according to an exemplary embodiment of the present invention.
배경 제작 에디터 프로그램은 컴퓨터 등에서 저장되어 설치(Installment)된 상태에서, 명령어 등에 의해 실행되면, 2D 지형 이미지를 로딩하여 2D 지형 이미지에서 컬러값(적색, 녹색, 청색, 알파)을 추출한다(S710).When the background production editor program is stored and installed on a computer, and executed by a command, the background production editor program loads a 2D terrain image and extracts color values (red, green, blue, and alpha) from the 2D terrain image (S710). .
컬러값을 추출한 배경 제작 에디터 프로그램은 추출한 컬러값을 이용하여 높낮이가 있는 지형을 생성함으로써 높이맵을 생성하고(S720), 높이맵에서 다층의 지형 레이어를 이용하여 길, 절벽, 초원, 농경지 등의 지형 이미지를 표현하며(S730), 지형 이미지에서 컬러맵(Color Map), 라이트맵(Light Map)을 이용하여 그림자, 배경 분위기 등을 표현한 후(S740), 미리 정의된 컬러 테이블을 참조하여 나무, 풀, 바위, 건물 등의 지형 오브젝트를 배치한다(S750). 이로써, 배경 제작 에디터 프로그램은 2D 지형 이미지로부터 3D 지형 이미지의 제작을 완료한다.The background production editor program extracting color values generates height maps by using the extracted color values to generate height maps (S720), and by using the multi-layered terrain layers in the height maps, such as roads, cliffs, grasslands, and agricultural lands. After expressing the terrain image (S730), expressing the shadow, the background atmosphere using a color map (Light Map) in the terrain image (S740), the tree, referring to the predefined color table, Place terrain objects such as grass, rocks, and buildings (S750). Thus, the background production editor program completes the production of the 3D terrain image from the 2D terrain image.
한편, 배경 제작 에디터 프로그램은 전술한 바와 같이, 3D 배경을 제작한 후, 위치 이동, 높낮이 변경, 버텍스(Vertex) 조절 등을 통해 지형 이미지를 미세하게 조정할 수 있고(S760), 완성된 지형 이미지를 게임을 위한 자원(Resource)으로 변환하여(S770), 모든 과정을 마무리한다.Meanwhile, as described above, the background production editor program may finely adjust the terrain image by moving the position, changing the height, and adjusting the vertex after producing the 3D background (S760) and adjusting the completed terrain image. Convert to a resource for the game (Resource) (S770), to complete the whole process.
도 7b는 본 발명의 바람직한 실시예에 따라 배경 제작 에디터 프로그램이 배경을 제작하는 과정을 나타낸 예시도이다.7B is an exemplary diagram illustrating a process of creating a background by a background production editor program according to a preferred embodiment of the present invention.
배경 제작 에디터 프로그램은 도 7a를 통해 설명한 절차를 수행함으로써 도 7b에 도시한 과정을 수행하여 최종적인 3D 지형 이미지를 생성한다.The background production editor program generates the final 3D terrain image by performing the process illustrated in FIG. 7B by performing the procedure described with reference to FIG. 7A.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.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 protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of the present invention.
이상에서 설명한 바와 같이 본 발명에 의하면, 실시간 지형 처리 기술과 기능성 및 확장성을 갖는 지형 제작 툴을 제공함으로써 게임 개발의 질적 향상을 도모할 수 있다.As described above, according to the present invention, it is possible to improve the quality of game development by providing a terrain production tool having real-time terrain processing technology and functionality and expandability.
또한, 게임 프로그램의 개발 공정의 획기적으로 단축함으로써 제작 기간 및 제작 비용을 절감할 수 있다.In addition, by significantly reducing the development process of the game program it is possible to reduce the production period and production cost.
또한, 해외 상용 엔진에 의존하던 고품질의 게임 제작 기술을 확보할 수 있다.In addition, it is possible to secure high-quality game production technology that was dependent on overseas commercial engines.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060080453A KR20080018404A (en) | 2006-08-24 | 2006-08-24 | Computer readable recording medium having background making program for making game |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060080453A KR20080018404A (en) | 2006-08-24 | 2006-08-24 | Computer readable recording medium having background making program for making game |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20080018404A true KR20080018404A (en) | 2008-02-28 |
Family
ID=39385436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060080453A KR20080018404A (en) | 2006-08-24 | 2006-08-24 | Computer readable recording medium having background making program for making game |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20080018404A (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100935326B1 (en) * | 2009-07-20 | 2010-01-06 | (주)시드모바일 | System of providing automatically transform tool of 2d image for producing game contents |
WO2010039269A2 (en) * | 2008-10-02 | 2010-04-08 | Ovidiu Stavrica | Online geo-based strategy game |
KR101404709B1 (en) * | 2014-01-06 | 2014-06-09 | 주식회사 엑스마크 | Method for providing camping site reservation service |
CN106204719A (en) * | 2016-06-30 | 2016-12-07 | 西安电子科技大学 | Magnanimity model real-time scheduling method in three-dimensional scenic based on two-dimensional neighbourhood retrieval |
KR20180060633A (en) | 2016-11-29 | 2018-06-07 | 주식회사 패튼코 | Method for providing and displaying a game map |
CN111507926A (en) * | 2020-04-30 | 2020-08-07 | 九江精密测试技术研究所 | Max L OD Map-based quadtree terrain crack repairing method |
CN111773699A (en) * | 2020-07-20 | 2020-10-16 | 网易(杭州)网络有限公司 | Deformation method and device for terrain |
CN112516597A (en) * | 2020-12-24 | 2021-03-19 | 上海米哈游网络科技股份有限公司 | Three-dimensional scene generation method, device, equipment and storage medium |
CN113181654A (en) * | 2021-05-28 | 2021-07-30 | 网易(杭州)网络有限公司 | Game picture generation method, game picture generation device, storage medium and electronic equipment |
KR102325647B1 (en) * | 2021-08-04 | 2021-11-12 | 파이어슈라이크게임즈 주식회사 | Method, device and system for processing 3d object data of mobile game based on lightmap |
CN113744399A (en) * | 2021-09-09 | 2021-12-03 | 网易(杭州)网络有限公司 | Terrain layering data processing method, device, equipment and machine-readable storage medium |
CN116630486A (en) * | 2023-07-19 | 2023-08-22 | 山东锋士信息技术有限公司 | Semi-automatic animation production method based on Unity3D rendering |
-
2006
- 2006-08-24 KR KR1020060080453A patent/KR20080018404A/en not_active Application Discontinuation
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010039269A2 (en) * | 2008-10-02 | 2010-04-08 | Ovidiu Stavrica | Online geo-based strategy game |
WO2010039269A3 (en) * | 2008-10-02 | 2010-08-12 | Ovidiu Stavrica | Online geo-based strategy game |
KR100935326B1 (en) * | 2009-07-20 | 2010-01-06 | (주)시드모바일 | System of providing automatically transform tool of 2d image for producing game contents |
KR101404709B1 (en) * | 2014-01-06 | 2014-06-09 | 주식회사 엑스마크 | Method for providing camping site reservation service |
CN106204719A (en) * | 2016-06-30 | 2016-12-07 | 西安电子科技大学 | Magnanimity model real-time scheduling method in three-dimensional scenic based on two-dimensional neighbourhood retrieval |
KR20180060633A (en) | 2016-11-29 | 2018-06-07 | 주식회사 패튼코 | Method for providing and displaying a game map |
CN111507926A (en) * | 2020-04-30 | 2020-08-07 | 九江精密测试技术研究所 | Max L OD Map-based quadtree terrain crack repairing method |
CN111507926B (en) * | 2020-04-30 | 2023-12-12 | 九江精密测试技术研究所 | Quadtree terrain crack repairing method based on MaxLOD Map |
CN111773699B (en) * | 2020-07-20 | 2023-11-17 | 网易(杭州)网络有限公司 | Terrain deformation method and device |
CN111773699A (en) * | 2020-07-20 | 2020-10-16 | 网易(杭州)网络有限公司 | Deformation method and device for terrain |
CN112516597A (en) * | 2020-12-24 | 2021-03-19 | 上海米哈游网络科技股份有限公司 | Three-dimensional scene generation method, device, equipment and storage medium |
CN112516597B (en) * | 2020-12-24 | 2024-02-23 | 上海米哈游网络科技股份有限公司 | Three-dimensional scene generation method, device, equipment and storage medium |
CN113181654A (en) * | 2021-05-28 | 2021-07-30 | 网易(杭州)网络有限公司 | Game picture generation method, game picture generation device, storage medium and electronic equipment |
KR102325647B1 (en) * | 2021-08-04 | 2021-11-12 | 파이어슈라이크게임즈 주식회사 | Method, device and system for processing 3d object data of mobile game based on lightmap |
CN113744399A (en) * | 2021-09-09 | 2021-12-03 | 网易(杭州)网络有限公司 | Terrain layering data processing method, device, equipment and machine-readable storage medium |
CN113744399B (en) * | 2021-09-09 | 2023-08-22 | 网易(杭州)网络有限公司 | Terrain layered data processing method, apparatus, device and machine readable storage medium |
CN116630486A (en) * | 2023-07-19 | 2023-08-22 | 山东锋士信息技术有限公司 | Semi-automatic animation production method based on Unity3D rendering |
CN116630486B (en) * | 2023-07-19 | 2023-11-07 | 山东锋士信息技术有限公司 | Semi-automatic animation production method based on Unity3D rendering |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112270756B (en) | Data rendering method applied to BIM model file | |
KR20080018404A (en) | Computer readable recording medium having background making program for making game | |
CN107358649B (en) | Processing method and device of terrain file | |
US9928643B2 (en) | Hierarchical continuous level of detail for three-dimensional meshes | |
JP4824019B2 (en) | A terrain editing tool for rule-based procedural terrain generation | |
US6538651B1 (en) | Parametric geometric element definition and generation system and method | |
JP4937907B2 (en) | Rule-based procedural terrain generation | |
CN113034656B (en) | Rendering method, device and equipment for illumination information in game scene | |
Ernst et al. | Early split clipping for bounding volume hierarchies | |
JP2002507799A (en) | Probabilistic level of computer animation | |
KR100959349B1 (en) | A method for accelerating terrain rendering based on quadtree using graphics processing unit | |
WO2005119643A2 (en) | Resource management for rule-based procedural terrain generation | |
US11961174B2 (en) | Programmatically configuring materials | |
EP3371782A1 (en) | Technique for extruding a 3d object into a plane | |
Ripolles et al. | Real-time tessellation of terrain on graphics hardware | |
US9082218B2 (en) | Method for manipulating three-dimensional voxel data for on-screen visual | |
Millan et al. | Impostors and pseudo-instancing for GPU crowd rendering | |
Zach et al. | Time-critical rendering of discrete and continuous levels of detail | |
KR20120001114A (en) | Method for controlling 3d object in virtual world, ineterface and input/output therefor | |
Döllner | Geovisualization and real-time 3D computer graphics | |
KR20080018405A (en) | Computer-readable recording medium for recording of 3d terrain production program | |
Argudo et al. | Interactive inspection of complex multi-object industrial assemblies | |
CN111729303B (en) | Large map baking and cutting method and restoration method | |
Sußner et al. | Hexagonal LOD for interactive terrain rendering | |
Inzerillo et al. | Optimization of cultural heritage virtual environments for gaming applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |