KR100692210B1 - Method for rendering objects in game engine and recordable media recording programs for enabling the method - Google Patents
Method for rendering objects in game engine and recordable media recording programs for enabling the method Download PDFInfo
- Publication number
- KR100692210B1 KR100692210B1 KR1020050059231A KR20050059231A KR100692210B1 KR 100692210 B1 KR100692210 B1 KR 100692210B1 KR 1020050059231 A KR1020050059231 A KR 1020050059231A KR 20050059231 A KR20050059231 A KR 20050059231A KR 100692210 B1 KR100692210 B1 KR 100692210B1
- Authority
- KR
- South Korea
- Prior art keywords
- context information
- render context
- rendering
- visual
- render
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
-
- 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
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
본 발명은 게임 엔진에서 제공되는 오브젝트(Object)의 렌더링(Rendering)을 다양한 게임 어플리케이션에서 적용가능 하도록 범용화하기 위한 것으로, 더욱 상세하게는 뷰(View)가 비주얼(Visual)로 렌더컨텍스트(RenderContext) 정보를 요청하고 상기 뷰는 상기 비주얼로부터 수신한 렌더컨텍스트 정보를 등록하며, 상기 등록된 렌더컨텍스트 정보를 소정의 소팅(sorting) 알고리즘에 따라 소팅하고, 상기 소팅된 렌더컨텍스트 정보에 따라 상기 오브젝트를 렌더링하는 것이다. 본 발명에 따르면, 뷰에서 비주얼이 소유하는 소정의 렌더컨텍스트 정보를 게임 어플리케이션에서 제공하는 소팅룰에 따라 소팅하여 렌더링을 수행함으로써, 각각의 게임 어플리케이션에서 제공되는 게임의 특성에 따라 차별화된 렌더링을 수행할 수 있다.The present invention is to generalize the rendering (Object) provided from the game engine to be applicable to a variety of game applications, more specifically, the View (Visual) Render Context (RenderContext) information Request and the view registers the render context information received from the visual, sorts the registered render context information according to a sorting algorithm, and renders the object according to the sorted render context information. will be. According to the present invention, rendering renders by sorting predetermined render context information owned by a visual in a view according to a sorting rule provided by a game application, thereby performing differentiated rendering according to the characteristics of a game provided by each game application. can do.
렌더링, 뷰, 비주얼, 게임, 3D, 렌더컨텍스트 Rendering, View, Visual, Game, 3D, RenderContext
Description
도 1은 게임 어플리케이션으로부터 렌더링 명령을 수신하는 경우에 종래 뷰 및 비주얼이 렌더링을 수행하는 구성을 도시한 도면이다.1 is a diagram illustrating a configuration in which a conventional view and a visual perform rendering when a rendering command is received from a game application.
도 2는 본 발명에 따른 게임 엔진에서의 렌더컨텍스트 정보의 클래스다이어그램을 나타내는 도면이다.2 is a diagram illustrating a class diagram of render context information in a game engine according to the present invention.
도 3은 본 발명에 따른 뷰가 비주얼로부터 렌더컨텍스트 정보를 전달 받아 소팅하여 렌더링을 수행하는 시퀀스 다이어그램을 도시한 도면이다.3 is a diagram illustrating a sequence diagram in which a view according to the present invention receives render context information from a visual and sorts it to perform rendering.
도 4는 본 발명에 따른 렌더컨텍스트 정보의 소팅을 도시한 도면이다.4 is a diagram illustrating sorting of render context information according to the present invention.
도 5는 본 발명에 따른 게임 제작 방법을 수행하는 데 채용될 수 있는 범용 컴퓨터 장치의 내부 블록도이다.5 is an internal block diagram of a general purpose computer device that may be employed to perform the game production method according to the present invention.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
301: 초기화 단계 307: 소팅 단계301: Initialization step 307: Sorting step
302: 초기화 단계 308: 렌더함수 실행 단계302: Initialization step 308: Render function execution step
303: 렌더커멘드 생성 단계 309: 렌더커멘드 실행 단계303: Render command generation step 309: Render command execution step
304: 렌더커멘드 설정 단계 310: 렌더함수 호출 단계304: Render command setup step 310: Render function call step
305: 요청 단계 311: 설정 제거 단계305: Request step 311: Remove setting step
306: 등록 단계306: Registration step
본 발명은 게임 엔진에서 제공되는 오브젝트(Object)의 렌더링(Rendering)을 다양한 게임 어플리케이션에서 적용가능 하도록 범용화하기 위한 것으로, 보다 상세하게는 뷰(View)가 비주얼(Visual)로 렌더컨텍스트(RenderContext) 정보를 요청하고 상기 뷰는 상기 비주얼로부터 수신한 렌더컨텍스트 정보를 등록하며, 상기 등록된 렌더컨텍스트 정보를 소정의 소팅(sorting) 알고리즘에 따라 소팅하고, 상기 소팅된 렌더컨텍스트 정보에 따라 상기 오브젝트를 렌더링하는 것이다.The present invention is to generalize the rendering (Object) provided from the game engine to be applicable to a variety of game applications, more specifically, the View (Visual) Render Context (RenderContext) information Request and the view registers the render context information received from the visual, sorts the registered render context information according to a sorting algorithm, and renders the object according to the sorted render context information. will be.
최근 컴퓨터 단말기는 사용자에게 다양한 종류의 3D(3차원) 게임을 제공한다. 이러한 3D 게임은 2D의 모니터에 표현되어야 하는 표현의 한계를 극복하기 위하여, 보다 실감나는 장면을 디스플레이 하기 위해 다양한 방법의 렌더링을 필요로 한다. 현재, 게임 엔진에서 수행되는 렌더링의 방법은 도 1에서 상세히 설명한다.Recently, computer terminals provide various types of 3D games to users. Such 3D games require various methods of rendering to display more realistic scenes in order to overcome the limitations of expression that must be represented on a 2D monitor. Currently, the method of rendering performed in the game engine is described in detail in FIG.
도 1은 게임 어플리케이션으로부터 렌더링 명령을 수신하는 경우에 종래 뷰 및 비주얼이 렌더링을 수행하는 구성을 도시한 도면이다.1 is a diagram illustrating a configuration in which a conventional view and a visual perform rendering when a rendering command is received from a game application.
게임 어플리케이션(100)은 소정의 오브젝트를 표현하기 위하여, 뷰(101)로 상기 오브젝트에 대한 렌더링 명령을 전달한다. 이에 뷰(101)는 상기 오브젝트의 속성으로서, 질감 정보, 밝기 수준 정보, 원근 정보, 및 오브젝트의 종류 등의 정 보를 파악한다. 이에 뷰(101)는 상기 오브젝트의 정보에 따라, 비주얼(102)을 호출하고 렌더링 명령을 전달한다. The
비주얼(102)은 하나 이상의 렌더컨텍스트 정보(103)를 포함한다. 렌더컨텍스트 정보(103)는 상기 오브젝트의 정보를 표현하기 위한 함수로서, 오브젝트의 질감, 오브젝트의 밝기 수준, 오브젝트의 원근 정보, 오브젝트의 종류 등을 표현한다. 렌더컨텍스트 정보(103)는 비주얼(102)에 고정적으로 유지된다. 뷰(101)로부터 호출되어 렌더링 명령을 전달 받은 비주얼(102)는 고정된 렌더컨텍스트 정보(103)로부터 상기 오브젝트를 렌더링한다. 일례로, 게임 어플리케이션(100)이 1. 자연을 배경으로 하고, 2. 태양(광원)이 왼쪽에 존재하며, 3. 사람 시점의 하나의 장면을 표현하기 위한 뷰(101)는 비주얼(102)로 상기 1, 2, 및 3에 대한 렌더링 명령을 전달한다. 비주얼(102)은 렌더컨텍스트 정보(103) 중에서 상기 1, 2, 및 3에 대응되는 렌더컨텍스트 정보(103)를 호출하여 렌더링을 수행한다. 상기 랜더컨텍스트 정보로는 비주얼(102)의 포인터, 광원과 렌더링 상태를 포함하는 상태정보, 재질의 정보, 비주얼(102)의 트랜스폼정보가 있다Visual 102 includes one or more
그러나, 종래의 기술에 따른 게임 엔진에서 수행되는, 뷰(101)가 비주얼(102)을 호출하여 렌더링을 수행하는 방법에서는 특정 오브젝트를 묘화하기 위해 비주얼(102)에 포함된 랜더컨텍스트 정보(103)이 고정되어 있으므로 하나의 게임 엔진을 이용하여 다양한 종류의 게임 어플리케이션(100)을 지원하기 어렵다는 문제가 있다. 즉, 특정 게임 어플리케이션(100)과 연동하기 위해서는 해당 게임에 특화된(specified) 게임 엔진의 개발이 필요하였고, 다양한 게임에서 범용적으로 사 용될 수 있는 게임 엔진이 없다는 문제가 있다. However, in the method in which the
또한, 비주얼(102)이 게임 어플리케이션(100)이 요청하는 뷰(101)의 렌더링을 수행하기 위한 렌더컨텍스트 정보(103)를 소유하지 않은 경우, 비주얼(102)에 고정적으로 속해 있는 렌더컨텍스트 정보(103)를 추가, 삭제, 및 수정 등의 동작을 수행하기 위해 복잡한 코딩 작업이 필요하다. 이는 프로그램의 제작 비용 중 가장 큰 비중을 차지하는 유지보수의 비용을 더욱 증가시키는 심각한 문제를 야기시킬 수 있으며, 결과적으로 게임 산업을 포함하는 멀티미디어 제공 산업에 큰 악영향을 미칠 수 있다.In addition, when the visual 102 does not own the
따라서, 다양한 종류의 게임 어플리케이션(100)의 특성을 최적으로 반영할 수 있는 범용화된 게임 엔진의 개발 및 렌더컨텍스트 정보(103)의 추가, 삭제, 및 수정 시 추가되는 코딩을 최소화시킬 수 있는 렌더링 방법이 절실히 요구되고 있는 실정이다. Therefore, a rendering method capable of minimizing coding that is added when the generalized game engine that can optimally reflect the characteristics of various types of
본 발명은 상기와 같은 종래기술을 개선하기 위해 안출된 것으로서, 뷰에서 비주얼이 소유하는 소정의 렌더컨텍스트 정보를 게임 어플리케이션에서 제공하는 소팅룰에 따라 소팅하여 렌더링을 수행함으로써, 각각의 게임 어플리케이션에서 제공되는 게임의 특성에 따라 차별화된 렌더링을 수행하는 것을 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made to improve the prior art as described above, and provides rendering in each game application by performing rendering by sorting predetermined render context information owned by the visual in a view according to a sorting rule provided by the game application. It aims to perform different rendering depending on the characteristics of the game.
본 발명의 목적은 비주얼이 소유하는 렌더컨텍스트 정보의 변경을 베이스렌더컨텍스트를 참조하여 수행함으로써, 상기 렌더컨텍스트 정보의 변경을 보다 융통성 있게 수행하는 것이다.An object of the present invention is to perform the change of the render context information owned by the visual with more flexibility by changing the render context information with reference to the base render context.
상기의 목적을 달성하고, 상술한 종래기술의 문제점을 해결하기 위하여, 본 발명에 따른 렌더링(rendering)하는 방법은 뷰(view)에서 비주얼(Visual)로 상기 오브젝트를 렌더링하는데 필요한 렌더컨텍스트(Rendercontext) 정보 등록을 요청하는 RC 쿼리신호를 전송하는 단계, 상기 뷰에서 상기 비주얼로부터 상기 RC 쿼리(query)신호에 대한 응답신호를 수신하고, 상기 응답신호에 대응되는 상기 렌더컨텍스트 정보를 등록하는 단계, 상기 뷰에서 소정의 게임 어플리케이션으로 상기 등록된 렌더컨텍스트 정보의 소팅을 요청하는 단계, 및 상기 뷰에서 상기 게임 어플리케이션으로부터 상기 렌더컨텍스트 정보의 소팅 결과를 수신하는 단계, 상기 뷰에서 소정의 렌더링커맨드를 호출하여 상기 소팅된 렌더컨텍스트 정보에 따른 상기 오브젝트의 렌더링을 수행하도록 제어하는 단계를 포함하고, 상기 게임 어플리케이션은 상기 렌더컨텍스트 정보의 소팅을 위한 소정의 소팅 알고리즘을 포함하는 것을 특징으로 한다.In order to achieve the above object and to solve the above-mentioned problems of the prior art, the rendering method according to the present invention is a render context required for rendering the object from a view to a visual. Transmitting an RC query signal for requesting information registration, receiving a response signal to the RC query signal from the visual in the view, and registering the render context information corresponding to the response signal; Requesting sorting of the registered render context information from a view from a game application in a view, and receiving a sorting result of the render context information from the game application in the view, calling a predetermined render command in the view Render the object according to the sorted render context information. And the game application includes a predetermined sorting algorithm for sorting the render context information.
이하, 첨부된 도면을 참조하여 본 발명에 따른 게임 엔진에서의 간접 렌더링 방법에 대하여 상세히 설명한다.Hereinafter, an indirect rendering method in a game engine according to the present invention will be described in detail with reference to the accompanying drawings.
도 2는 본 발명에 따른 게임 엔진에서의 렌더컨텍스트 정보의 클래스다이어그램을 나타내는 도면이다.2 is a diagram illustrating a class diagram of render context information in a game engine according to the present invention.
도 2을 참조하면, 뷰(202)는 게임 어플리케이션으로부터 소정의 오브젝트에 대해 렌더링 명령을 수신한다. 상기 오브젝트는 뷰(202)에 표현되는 객체로서, 일례로 사과, 나무, 사람, 태양, 배경, 그림자, 및 책상 등의 표현 대상을 포함한다. 이러한, 오브젝트는 각각의 질감 정보, 밝기 수준 정보, 원근 정보, 및 오브젝트의 종류 등의 속성을 갖고 있으며, 뷰(202)는 이러한 오브젝트의 속성을 확인한다. 뷰(202)는 상기 오브젝트의 렌더링을 수행하기 위하여, 비주얼(203)로 상기 오브젝트의 속성에 대응하는 렌더컨텍스트 정보를 요청한다. 일례로 뷰(202)는 비주얼(203)로 "어떠한 속성의 오브젝트를 렌더링해야 하는데, 어떤 렌더컨텍스트 정보가 필요한가?"라는 의미로 렌더컨텍스트 정보의 요청(204)을 수행한다.Referring to FIG. 2, the
비주얼(203)은 현재 소유하고 있는 렌더컨텍스트 정보를 확인하여 뷰(202)로부터 수신한 요청(205)에 대한 응답 신호로서 소정의 렌더컨텍스트 정보를 뷰(202)에 제공(205)한다. 이에 뷰(202)는 상기 렌더컨텍스트 정보를 등록하고 게임 어플리케이션에서 제공되는 렌더컨텍스트 정보의 소팅 알고리즘에 따라, 상기 렌더컨텍스트 정보를 소팅한다. 뷰(202)는 렌더커멘드를 호출하여 상기 소팅된 렌더컨텍스트 정보에 따라 상기 오브젝트를 렌더링한다. 렌더링된 오브젝트는 하나의 장면으로서 디스플레이 된다.The visual 203 checks the currently owned render context information and provides the render context information to the
만약 뷰(202)에서 비주얼(203)로 송신된 요청(205)에 대하여, 비주얼(203)이 렌더컨텍스트 정보를 소유하지 않은 경우에는 비주얼(203)이 베이스렌더컨텍스트로부터 렌더컨텍스트 정보를 갱신할 수 있다. 즉, 비주얼(203)은 뷰(202)로부터 요청 받은 렌더컨텍스트 정보를 검색하고, 현재 소유하지 않은 경우에 베이스렌더컨텍스트(201)로 상기 렌더컨텍스트 정보를 요청하여 갱신하게 된다. 이로써, 사용자는 특정 게임 어플리케이션에서 요구하는 렌더링을 수행하기 위한 코딩의 추가를 최소화할 수 있으며, 이에 따른 게임 어플리케이션과의 호환성도 향상될 수 있다.For the
베이스렌더컨텍스트(201)는 렌더링 상태(state*), 명암(shade*), 렌더커맨드(RenderCommand), 재질, 또는 트랜스폼(Transform) 등을 포함하고, 뷰로 렌더링의 정보를 노출시킨다. 상기 렌더링 상태는 투명, 불투명, 투명에서 점점 불투명, 불투명에서 점점 투명 등과 같이 오브젝트를 렌더링하기 위한 상태에 대응하는 각종 값들을 포함한다. 즉, 오브젝트의 상태는 책상, 사과, 사람, 및 나무 등의 오브젝트를 렌더링하기 위한 불투명 상태, 유리 및 물 등의 오브젝트를 렌더링하기 위한 투명 상태, 연기 및 안개 등의 오브젝트를 렌더링하기 위한 상기 불투명 상태 및 상기 투명 상태를 적절히 조합한 반투명 상태 등을 표현한다.The
상기 재질은 밝기, 텍스쳐(texture) 이미지 등을 포함한다. 즉, 상기 재질은 오브젝트에 반사되는 광원의 조사(irradiation)량에 따른 오브젝트의 밝기의 정도 및 오브젝트의 표면, 바탕, 천, 옷감, 직물, 피부, 및 노면의 상태에 따른 질감을 표현한다.The material includes brightness, texture images, and the like. That is, the material expresses the degree of brightness of the object according to the amount of irradiation of the light source reflected on the object and the texture of the surface, ground, cloth, cloth, fabric, skin, and road surface of the object.
상기 렌더커맨드는 뷰(202)가 소팅된 렌더컨텍스트 정보를 이용하여 상기 오브젝트의 렌더링을 수행하기 위한 실행 명령을 시작하기 위해 호출되는 함수로서 대부분의 게임 어플리케이션에 동일하게 적용될 수 있다.The render command is equally applicable to most game applications as a function called to start an execution command for performing rendering of the object by using the render context information in which the
상기 트랜스폼은 멀리부터 가까운 곳 또는 가까운 곳부터 먼 곳 순으로 장면을 묘화하는 등, 원근감을 표현하기 위한 정보를 포함한다. 따라서, 베이스렌더컨텍스트(201)는 장면 묘화의 대상이 되는 비주얼(203)의 렌더링과 관련한 정보를 의미하며, 뷰의 렌더링 처리에 관여하여 오브젝트에 대한 간접적인 렌더링 처리를 실현할 수 있도록 한다. The transform includes information for expressing a perspective, such as drawing a scene in the order of the near to the far or the near to the far. Accordingly, the base render
베이스렌더컨텍스트(201)는 비주얼(203)과 연관되는 예컨대, 소정의 비주얼 작성자에 의해 사전에 생성될 수 있으며, 본 발명에 따른 게임 엔진은 상기 비주얼 작성자에 의해 생성된 최초의 렌더컨텍스트(206)를 이용하여 비주얼(203)에 대한 렌더링 처리를 수행할 수도 있다. 또한, 렌더컨텍스트(206)는 구체화된 렌더컨텍스트로서 형태 정보(T_Type, 207)을 포함한다. T_Type(207)은 C++언어의 템플릿 클래스의 인자로서 구체적인 형에 의존하지 않는 구현을 가능하게 해준다.The base render
도 3은 본 발명에 따른 뷰가 비주얼로부터 렌더컨텍스트 정보를 전달 받아 소팅하여 렌더링을 수행하는 시퀀스 다이어그램을 도시한 도면이다.3 is a diagram illustrating a sequence diagram in which a view according to the present invention receives render context information from a visual and sorts it to perform rendering.
먼저, 단계(301)에서, 렌더컨텍스트 정보를 소유하는 비주얼객체를 사용하기 위한 디바이스의 초기화를 수행하고, 단계(302)에서, 비주얼(비주얼객체)은 현재 자신이 소유한 렌더컨텍스트 정보를 초기화한다. 상기 초기화는 각 객체가 갖는 변수의 초기화 선언 등의 일반적인 초기화 절차를 포함한다.First, in
상기 렌더컨텍스트 정보는 상기 비주얼(비주얼 객체)에 대한 렌더링 수준 정보, 렌더링 질감 정보, 렌더링 밝기 수준 정보, 및 렌더링 원근 정보 중에서 하나 이상의 정보를 포함한다. 즉, 소정의 오브젝트를 렌더링하기 위해 비주얼은 상기 렌더컨텍스트 정보를 유지한다.The render context information includes at least one of rendering level information, rendering texture information, rendering brightness level information, and rendering perspective information about the visual (visual object). That is, the visual maintains the render context information to render a given object.
단계(303)에서, 비주얼(비주얼객체)은 베이스렌더컨텍스트를 참조하여 렌더커맨드(GoCommand)를 생성하고, 단계(304)에서, 상기 생성된 렌더커맨드(GoCommand)를 렌더컨텍스트(GoRenderContext)에 설정한다. 이로써, 렌더컨텍스트(GoRenderContext)는 렌더컨텍스트 정보에 따라 렌더링을 수행할 준비를 완료하게 된다.In
다음으로, 단계(305)에서 뷰(GoView)는 비주얼(비주얼객체)로 상기 오브젝트를 렌더링하는데 필요한 렌더컨텍스트(Rendercontext) 정보 등록을 요청하는 RC 쿼리신호를 전송한다. 뷰(GoView)는 게임 어플리케이션으로부터 렌더링해야 하는 오브젝트의 정보를 수신하고 상기 오브젝트에 대한 정보를 분석한다. 이후, 상기 분석된 오브젝트에 대한 정보에 대응되는 RC 쿼리신호를 비주얼(비주얼객체)로 전송하고, 상기 비주얼(비주얼객체)로부터 응답신호로서 렌더컨텍스트 정보의 수신을 기다린다. 일례로, 게임 어플리케이션이 뷰(GoView)로 공을 던지는 사람을 오브젝트로서 렌더링하라는 명령의 오브젝트 정보를 전송하는 경우에 뷰(GoView)는 비주얼(비주얼 객체)로 상기 오브젝트 정보를 RC 쿼리신호로서 제공하고 그에 대한 렌더컨텍스트 정보를 응답 신호로서 기다린다.Next, in
만약, 상기 뷰(GoView)에서 상기 비주얼(비주얼객체)로부터 상기 RC 쿼리신호에 대한 상기 응답신호를 수신하는 과정에서, 상기 뷰(GoView)로부터 등록 요청 받은 상기 렌더컨텍스트 정보가 상기 비주얼(비주얼객체)에 없는 경우, 상기 비주얼은 하나 이상의 렌더컨텍스트 정보를 기록하고 있는 베이스렌더컨텍스트(BaseRenderContext)로부터 상기 렌더컨텍스트 정보를 수집한다. 이로써, 렌더컨텍스트 정보의 삽입 또는 수정 시에 대대적인 코딩의 수정 작업이 간략화될 수 있다. 이와 더불어, 베이스렌더컨텍스트에도 상기 렌더컨텍스트 정보를 갱신할 필요가 있는 경우에는 상기 게임 어플리케이션 또는 소정의 외부 스크립트 수단을 통하여 신규 렌더컨텍스트 정보를 더 등록함으로써 갱신할 수 있다. 즉, 본 발명에 따 른 게임 엔진의 렌더링 방법은 다양한 게임 어플리케이션에 융통성 있게 사용될 수 있다.In the process of receiving the response signal for the RC query signal from the visual (visual object) in the view GoView, the render context information received from the view GoView is the visual (visual object). If not present, the visual collects the render context information from a BaseRenderContext that records one or more render context informations. As a result, a large coding modification can be simplified when inserting or modifying render context information. In addition, when it is necessary to update the render context information in the base render context, it can be updated by further registering the new render context information through the game application or a predetermined external script means. That is, the rendering method of the game engine according to the present invention can be used flexibly for various game applications.
단계(306)에서, 상기 뷰(GoView)는 상기 비주얼(비주얼객체)로부터 상기 RC 쿼리신호에 대한 응답신호를 수신하고, 상기 응답신호에 대응되는 상기 렌더컨텍스트 정보를 등록한다. 일례로, 비주얼(비주얼객체)이 뷰(GoView)로부터 공을 던지는 사람을 묘화하기 위한 RC 쿼리신호를 수신한 경우에 비주얼(비주얼객체)은 상기 공의 재질, 광원의 위치, 공의 이동 경로(원-근), 배경 등을 묘화하기 위한 렌더컨텍스트 정보를 상기 RC 쿼리신호에 대한 응답신호로서 상기 뷰(GoView)로 전달한다. 상기 렌더컨텍스트 정보를 수신한 뷰(GoView)는 상기 렌더컨텍스트 정보를 등록하여 렌더링 수행을 준비한다.In
단계(307)에서, 상기 뷰에서 소정의 게임 어플리케이션으로 상기 등록된 렌더컨텍스트 정보의 소팅을 요청하고, 뷰에서 상기 게임 어플리케이션으로부터 상기 렌더컨텍스트 정보의 소팅 결과를 수신한다.In
게임 어플리케이션은 게임의 특성상 렌더컨텍스트 정보의 렌더링 순서를 유지한다. 이는 최초, 게임 디자이너 등의 게임 제작과 관련된 기술자들로부터 생성되는데 상기 렌더링 순서가 장면의 묘화 등에 상당한 영향을 미치기 때문에 게임 어플리케이션에 따라 게임엔진이 변화되는 경우가 대부분이다.The game application maintains the rendering order of the render context information due to the characteristics of the game. This is first generated by engineers involved in game production, such as game designers. In most cases, the game engine is changed according to a game application because the rendering order has a significant influence on the drawing of a scene.
이는 단계(307)에서, 뷰(GoView)에서 비주얼(비주얼객체)로부터 등록된 렌더컨텍스트 정보를 상기 게임 어플리케이션으로 전송하여 소팅을 요청함으로써 해결된다. 즉, 상기 게임 어플리케이션은 상기 사전에 생성된 렌더링 순서에 따라 상 기 렌더컨텍스트 정보의 실행에 따른 소팅 순서를 결정하고, 이에 따라 렌더컨텍스트 정보는 소팅된다. 상기 렌더컨텍스트 정보의 소팅은 도 4에서 상세히 설명한다.This is solved in
도 4는 본 발명에 따른 렌더컨텍스트 정보의 소팅을 도시한 도면이다.4 is a diagram illustrating sorting of render context information according to the present invention.
도 4를 참조하면, 비주얼(비주얼객체)로부터 등록된 렌더컨텍스트 정보(401)는 RC1, RC2, … , RCn의 고정된 순서를 갖는다. 이는 스택(stack) 또는 큐(queue)에 적재되어 선입선출(FIFO) 또는 선입후출(FILO) 등의 적재 순서에 따라 실행된다. 그러나, 묘화를 위한 렌더컨텍스트 정보는 적재 순서에 따라 실행되지 않고, 게임 어플리케이션의 렌더컨텍스 정보의 실행 순서에 따라 상기 스택 또는 큐에 새로 적재되어야 한다. 이를 위하여, 게임 어플리케이션은 뷰(GoView)로부터 전달받은 렌더컨텍스트 정보를 소정의 소팅룰에 기초하여 새로 소팅하고, 소팅된 상기 렌더컨텍스트 정보(402)를 뷰(GoView)로 전달한다. 상기 소팅룰은 렌더링 상태(state), 재질(shade), 또는 트랜스폼(Transform) 등에 따라서 게임 디자이너를 포함하는 게임 관련 제작자에 의하여 결정될 수 있다. 일례로, 하나의 뷰에 포함되는 다수의 오브젝트에 대한 상태, 재질, 트랜스폼이 같은 것들과 다른 것들로 구분하여 소팅룰이 결정될 수 있다.4, render
소팅된 렌더컨텍스트 정보(402)는 렌더컨텍스트 정보로서 RC3, RC2, RC7, …의 순서로 상기 스택 또는 큐에 적재하여 상기 뷰(GoView)로 전달된다. 즉, 렌더링의 순서를 결정하는 렌더컨텍스트 정보의 정렬을 게임 어플리케이션에서 수행하므로, 본 발명에 따른 게임 엔진은 다양한 게임 어플리케이션에 융통적으로 사용될 수 있으며, 게임의 특성에 따른 적절한 렌더링을 수행하기 위해 복잡한 프로그램이 코딩이 최소화될 수 있다.The sorted render
도 3의 단계(308)에서, 상기 뷰(GoView)에서 소정의 렌더링커맨드를 호출하고 상기 소팅된 렌더컨텍스트 정보에 따른 상기 오브젝트의 렌더링을 수행하기 위한 렌더커맨드(GoCommand)를 실행한다(단계(309)). 이에 렌더커맨드(GoCommand)는 상기 소팅된 렌더컨텍스트 정보를 호출하여 렌더링을 수행한다(단계(310)). 즉, 도 3의 상술한 단계를 통해 게임 어플리케이션에 따라 게임 엔진에서 렌더링을 수행하기 위한 렌더컨텍스트 정보의 추가, 삭제, 및 수정 시 추가되는 코딩을 최소화시킬 수 있을 뿐만 아니라, 게임 어플리케이션의 특성에 맞게 렌더컨텍스트 정보의 렌더링 순서를 결정할 수 있다. 결과적으로, 게임 어플리케이션에 따라 차별화된 장면의 묘화가 별도의 코딩의 수정없이도 가능하며, 그로 인한 다양한 이펙트(effect)를 구현할 수 있다.In
단계(311)에서, 오브젝트에 대한 렌더링이 완료되면 상기 뷰(GoView)로부터 디바이스 객체 일시 중단 명령이 발생하여 뷰(GoView), 비주얼(비주얼객체), 및 베이스렌더컨텍스트(GoRenderCommand, GoCommand) 간의 설정이 중단되고 대기상태를 유지한다.In
도 5는 본 발명에 따른 게임 제작 방법을 수행하는 데 채용될 수 있는 범용 컴퓨터 장치의 내부 블록도이다.5 is an internal block diagram of a general purpose computer device that may be employed to perform the game production method according to the present invention.
본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.Embodiments of the invention include a computer readable medium containing program instructions for performing various computer-implemented operations. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical recording media such as CD-ROMs, DVDs, magnetic-optical media such as floppy disks, and ROM, RAM, flash memory, and the like. Hardware devices specifically configured to store and execute the same program instructions are included. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
도 5는 본 발명에 따른 게임 제작 방법을 수행하는 데 채용될 수 있는 범용 컴퓨터 장치의 내부 블록도이다.5 is an internal block diagram of a general purpose computer device that may be employed to perform the game production method according to the present invention.
컴퓨터 장치(500)는 램(RAM: Random Access Memory)(520)과 롬(ROM: Read Only Memory)(530)을 포함하는 주기억장치와 연결되는 하나 이상의 프로세서(510)를 포함한다. 프로세서(510)는 중앙처리장치(CPU)로 불리기도 한다. 본 기술분야에서 널리 알려져 있는 바와 같이, 롬(530)은 데이터(data)와 명령(instruction)을 단방향성으로 CPU에 전송하는 역할을 하며, 램(520)은 통상적으로 데이터와 명령을 양방향성으로 전송하는 데 사용된다. 램(520) 및 롬(530)은 컴퓨터 판독 가능 매체의 어떠한 적절한 형태를 포함할 수 있다. 대용량 기억장치(Mass Storage)(540) 는 양방향성으로 프로세서(510)와 연결되어 추가적인 데이터 저장 능력을 제공하며, 상기된 컴퓨터 판독 가능 기록 매체 중 어떠한 것일 수 있다. 대용량 기억장치(540)는 프로그램, 데이터 등을 저장하는데 사용되며, 통상적으로 주기억장치보다 속도가 느린 하드 디스크와 같은 보조기억장치이다. CD 롬(560)과 같은 특정 대용량 기억장치가 사용될 수도 있다. 프로세서(510)는 비디오 모니터, 트랙볼, 마우스, 키보드, 마이크로폰, 터치스크린 형 디스플레이, 카드 판독기, 자기 또는 종이 테이프 판독기, 음성 또는 필기 인식기, 조이스틱, 또는 기타 공지된 컴퓨터 입출력장치와 같은 하나 이상의 입출력 인터페이스(550)와 연결된다. 마지막으로, 프로세서(510)는 네트워크 인터페이스(570)를 통하여 유선 또는 무선 통신 네트워크에 연결될 수 있다. 이러한 네트워크 연결을 통하여 상기된 방법의 절차를 수행할 수 있다. 상기된 장치 및 도구는 컴퓨터 하드웨어 및 소프트웨어 기술 분야의 당업자에게 잘 알려져 있다.
상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있다.The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention.
지금까지 본 발명에 따른 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.While specific embodiments of the present invention have been described so far, various modifications are possible without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined not only by the claims below, but also by those equivalent to the claims.
본 발명에 따르면, 뷰에서 비주얼이 소유하는 소정의 렌더컨텍스트 정보를 게임 어플리케이션에서 제공하는 소팅룰에 따라 소팅하여 렌더링을 수행함으로써, 각각의 게임 어플리케이션에서 제공되는 게임의 특성에 따라 차별화된 렌더링을 수행할 수 있다.According to the present invention, rendering renders by sorting predetermined render context information owned by a visual in a view according to a sorting rule provided by a game application, thereby performing differentiated rendering according to the characteristics of a game provided by each game application. can do.
본 발명에 따르면, 비주얼이 소유하는 렌더컨텍스트 정보의 변경을 베이스렌더컨텍스트를 참조하여 수행함으로써, 상기 렌더컨텍스트 정보의 변경을 보다 융통성있게 수행할 수 있다.According to the present invention, the change of the render context information owned by the visual can be performed with reference to the base render context, so that the change of the render context information can be performed more flexibly.
Claims (5)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050059231A KR100692210B1 (en) | 2005-07-01 | 2005-07-01 | Method for rendering objects in game engine and recordable media recording programs for enabling the method |
PCT/KR2006/002592 WO2007004837A1 (en) | 2005-07-01 | 2006-07-03 | Method for rendering objects in game engine and recordable media recording programs for enabling the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050059231A KR100692210B1 (en) | 2005-07-01 | 2005-07-01 | Method for rendering objects in game engine and recordable media recording programs for enabling the method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070003330A KR20070003330A (en) | 2007-01-05 |
KR100692210B1 true KR100692210B1 (en) | 2007-03-09 |
Family
ID=37870197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050059231A KR100692210B1 (en) | 2005-07-01 | 2005-07-01 | Method for rendering objects in game engine and recordable media recording programs for enabling the method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100692210B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102173546B1 (en) | 2020-04-28 | 2020-11-03 | 주식회사 라이언게임즈 | Apparatus and method of rendering game objects |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010050769A (en) * | 1999-09-29 | 2001-06-25 | 이리마지리 쇼우이치로 | Storage medium for storing animation data, image processing method using same, and storage medium storing image processing programs |
KR20050059253A (en) * | 2005-04-12 | 2005-06-17 | 노키아 코포레이션 | Three dimensional image processing |
KR20050061249A (en) * | 2004-01-15 | 2005-06-22 | 엔에이치엔(주) | A method of adjusting precision of image data which inter-locked with video signals throughput of a terminal and a system thereof |
KR100536552B1 (en) | 2005-07-01 | 2005-12-14 | 엔에이치엔(주) | Method for offering multiview and recordable media recording programs for enabling the method |
-
2005
- 2005-07-01 KR KR1020050059231A patent/KR100692210B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010050769A (en) * | 1999-09-29 | 2001-06-25 | 이리마지리 쇼우이치로 | Storage medium for storing animation data, image processing method using same, and storage medium storing image processing programs |
KR20050061249A (en) * | 2004-01-15 | 2005-06-22 | 엔에이치엔(주) | A method of adjusting precision of image data which inter-locked with video signals throughput of a terminal and a system thereof |
KR20050059253A (en) * | 2005-04-12 | 2005-06-17 | 노키아 코포레이션 | Three dimensional image processing |
KR100536552B1 (en) | 2005-07-01 | 2005-12-14 | 엔에이치엔(주) | Method for offering multiview and recordable media recording programs for enabling the method |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102173546B1 (en) | 2020-04-28 | 2020-11-03 | 주식회사 라이언게임즈 | Apparatus and method of rendering game objects |
Also Published As
Publication number | Publication date |
---|---|
KR20070003330A (en) | 2007-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200218519A1 (en) | Methods and systems for creating applications using scene trees | |
US11902377B2 (en) | Methods, systems, and computer program products for implementing cross-platform mixed-reality applications with a scripting framework | |
US9426259B2 (en) | Client server interaction for graphical/audio applications | |
CN109544663B (en) | Virtual scene recognition and interaction key position matching method and device of application program | |
US8675000B2 (en) | Command buffers for web-based graphics rendering | |
US9928637B1 (en) | Managing rendering targets for graphics processing units | |
Petzold | Microsoft XNA Framework Edition: Programming for Windows Phone 7 | |
MXPA06012368A (en) | Integration of three dimensional scene hierarchy into two dimensional compositing system. | |
Grootjans | XNA 3.0 Game Programming Recipes: A Problem-Solution Approach | |
Oehlke | Learning Libgdx Game Development | |
Borycki | Programming for Mixed Reality with Windows 10, Unity, Vuforia, and UrhoSharp | |
KR100692210B1 (en) | Method for rendering objects in game engine and recordable media recording programs for enabling the method | |
Nair et al. | Learning LibGDX Game Development | |
KR100536552B1 (en) | Method for offering multiview and recordable media recording programs for enabling the method | |
EP3752914A1 (en) | Techniques for native runtime of hypertext markup language graphics content | |
US20240137417A1 (en) | Methods, systems, and computer program products for implementing cross-platform mixed-reality applications with a scripting framework | |
CN111111197B (en) | Game engine data processing system and method based on DirectX platform | |
Stemkoski | Beginning Java game development with LibGDX | |
Teale | Building Games with Flutter: The ultimate guide to creating multiplatform games using the Flame engine in Flutter 3 | |
CN111782333B (en) | Interface display method and device in game, storage medium and terminal equipment | |
WO2023168999A1 (en) | Rendering method and apparatus for virtual scene, and electronic device, computer-readable storage medium and computer program product | |
Geronikolakis et al. | An XR rapid prototyping framework for interoperability across the reality spectrum | |
KR100820256B1 (en) | Method for realizing effect in game engine and apparatus thereof | |
CN113590334A (en) | Role model processing method, role model processing device, role model processing medium and electronic equipment | |
KR20240044847A (en) | A system and a method for creating extended reality |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120130 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20131224 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20151223 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20161227 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20181226 Year of fee payment: 13 |
|
FPAY | Annual fee payment |
Payment date: 20200102 Year of fee payment: 14 |