KR20090092522A - 3 dimensional landering engine, system, and method using eXtensible Markup Language - Google Patents
3 dimensional landering engine, system, and method using eXtensible Markup LanguageInfo
- Publication number
- KR20090092522A KR20090092522A KR1020080017815A KR20080017815A KR20090092522A KR 20090092522 A KR20090092522 A KR 20090092522A KR 1020080017815 A KR1020080017815 A KR 1020080017815A KR 20080017815 A KR20080017815 A KR 20080017815A KR 20090092522 A KR20090092522 A KR 20090092522A
- Authority
- KR
- South Korea
- Prior art keywords
- event
- information
- data
- game
- xml
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
- G06F9/3871—Asynchronous instruction pipeline, e.g. using handshake signals between stages
-
- 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/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8543—Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
Abstract
Description
본 발명은 3차원 랜더링 기술에 관한 것으로, 보다 상세하게는 개방형 자료 구조인 XML(eXtensible Markup Language)을 이용한 3차원 랜더링 엔진, 3차원 랜더링 시스템, 및 그 방법에 관한 것이다.The present invention relates to a three-dimensional rendering technology, and more particularly, to a three-dimensional rendering engine, a three-dimensional rendering system, and a method using an XML (eXtensible Markup Language) which is an open data structure.
일반적인 게임 개발을 위한 툴(tool)들은 공간이나 오브젝트(object) 제작만을 지원한다. 따라서 게임 개발 시에 3차원 공간의 구성 및 각종 이벤트의 실행에 관한 모든 것을 소스 코딩해야 하기 때문에 개발에 투자되는 시간이 많이 필요하며, 오류 가능성 또한 높아진다.Tools for general game development only support creating spaces or objects. Therefore, when developing a game, all the source code of the configuration of the three-dimensional space and the execution of various events must be source coded, and a lot of time is spent on development, and the probability of error is increased.
XML은 Extensible Markup Language의 약자로써 인터넷 웹(web)상에서 데이터(data)와 각종 문서(documents)에 대한 개방형 자료 구조의 일관된 표준이라고 볼 수 있다. 게임 개발에 있어서, 개방형 자료 구조를 지원하는 XML을 이용하여 3차원 공간을 정의하고 이벤트를 실행함으로써 게임 개발의 편의성을 도모할 수 있다.XML stands for Extensible Markup Language and can be seen as a consistent standard of open data structures for data and documents on the Internet. In game development, game development can be facilitated by defining three-dimensional space and executing events using XML that supports an open data structure.
따라서 본 발명이 이루고자 하는 기술적인 과제는 개방형 자료 구조를 갖는 XML을 이용하여 3차원 공간을 정의하고 이벤트를 실행함으로써 게임 개발 시간 및 오류 발생 가능성을 감소시킬 수 있는 3차원 랜더링 엔진, 3차원 랜더링 시스템, 및 그 방법을 제공하는 것이다.Therefore, the technical problem to be achieved by the present invention is a three-dimensional rendering engine, three-dimensional rendering system that can reduce the game development time and the possibility of error by defining a three-dimensional space and executing events using XML having an open data structure And to provide a method thereof.
상기 기술적 과제를 달성하기 위한 3차원 랜더링 엔진은 속성 처리기, 이벤트 큐, 이벤트 해석기, 화면 처리기 및 이벤트 등록기를 포함한다. 상기 속성 처리기는 공간 구성에 대한 XML(eXtensible Markup Language) 데이터로부터 공간 정보 및 이벤트 정보를 인식하고, 상기 인식된 공간 정보 및 이벤트 정보를 출력한다.The three-dimensional rendering engine for achieving the technical problem includes an attribute processor, an event queue, an event interpreter, a screen processor and an event register. The attribute processor recognizes the spatial information and the event information from the XML (eXtensible Markup Language) data for the spatial configuration, and outputs the recognized spatial information and the event information.
상기 XML 데이터는 온라인 게임의 경우에는 게임 서버로부터 수신될 수 있고, 1인용 게임의 경우에는 클라이언트 개발자에 의하여 정의될 수 있다. 상기 이벤트 등록기는 상기 이벤트 정보에 기초하여 발생된 이벤트를 상기 이벤트 큐(queue)에 순차적으로 등록한다. 상기 이벤트 해석기는 상기 이벤트 큐에 등록된 이벤트를 해석하여, 상기 해석된 이벤트를 실행한다. 상기 화면 처리기는 상기 공간 정보 및 이벤트 정보에 기초하여 구성된 3차원 공간을 화면상에 디스플레이한다.The XML data may be received from a game server in the case of an online game, or may be defined by a client developer in the case of a single game. The event register sequentially registers an event generated based on the event information in the event queue. The event interpreter interprets the event registered in the event queue and executes the interpreted event. The screen processor displays on the screen a three-dimensional space constructed based on the spatial information and event information.
상기 이벤트 등록기는 클라이언트 개발자가 발생시키고, 서버의 응답이 불필요하며, 즉각적인 반응이 요구되는 비동기 이벤트(asynchronous event)를 상기 이벤트 큐에 직접 등록할 수도 있다. 상기 이벤트 등록기는 상기 이벤트 발생 여부를 감시하고, 상기 이벤트가 발생하면 상기 발생된 이벤트를 분류하여 이벤트 대상을 결정하며, 상기 결정된 이벤트 대상에 기초하여 이벤트를 구성하며, 상기 구성된 이벤트를 상기 이벤트 큐에 등록한다. The event register may register asynchronous events directly to the event queue, generated by a client developer, requiring no response from the server, and requiring immediate response. The event register monitors whether the event has occurred, and if the event occurs, classifies the generated event to determine an event target, configures an event based on the determined event target, and configures the configured event in the event queue. Register.
상기 3차원 랜더링 엔진은 상기 XML 데이터 및 메시(mesh) 데이터를 수신하고, 상기 수신된 XML 데이터 및 메시 데이터를 저장하는 데이터 저장부 또는 서버로부터 수신된 메시지를 처리하는 메시지 처리기를 더 포함할 수 있다.The 3D rendering engine may further include a message processor configured to receive the XML data and mesh data and to process a message received from a data storage unit or a server storing the received XML data and mesh data. .
상기 기술적 과제를 달성하기 위한 3차원 랜더링 시스템은 상기 3차원 랜더링 엔진을 포함하는 게임 클라이언트 및 정보 통신망을 통하여 상기 게임 클라이언트와 접속되는 게임 서버를 포함한다. 상기 3차원 랜더링 엔진의 특징은 상술한 바와 같으므로 이를 포함하는 게임 클라이언트에 대한 상세한 설명은 생략하며, 상기 게임 서버에 대해서만 상술한다.A 3D rendering system for achieving the technical problem includes a game client including the 3D rendering engine and a game server connected to the game client through an information communication network. Since the features of the 3D rendering engine are as described above, a detailed description of the game client including the same is omitted, and only the game server will be described in detail.
상기 게임 서버는 속성 처리기 및 이벤트 처리기를 포함한다. 상기 속성 처리기는 상기 게임 클라이언트로부터 수신된 XML 데이터로부터 공간 정보 및 이벤트 정보를 인식하고, 상기 인식된 공간 정보 및 이벤트 정보를 출력한다. 상기 이벤트 처리기는 상기 게임 서버의 상기 속성 처리기로부터 수신되는 이벤트 정보에 기초하여 응답 이벤트를 결정하고, 상기 결정된 응답 이벤트를 상기 게임 클라이언트에게 알린다.The game server includes an attribute handler and an event handler. The attribute processor recognizes spatial information and event information from the XML data received from the game client, and outputs the recognized spatial information and event information. The event processor determines a response event based on event information received from the attribute processor of the game server, and notifies the game client of the determined response event.
상기 게임 서버는 상기 게임 클라이언트로부터 XML 데이터 및 메시 데이터를 수신하고, 상기 수신된 XML 데이터 및 메시 데이터를 저장하는 데이터 저장부 또는 상기 게임 클라이언트로부터 수신된 메시지를 처리하는 메시지 처리기를 더 포함할 수 있다.The game server may further include a data storage unit for receiving XML data and mesh data from the game client and storing the received XML data and mesh data or a message processor for processing a message received from the game client. .
상기 기술적 과제를 해결하기 위한 3차원 랜더링 방법은 공간 구성에 대한 XML(eXtensible Markup Language) 데이터로부터 공간 정보 및 이벤트 정보를 인식하고, 상기 인식된 공간 정보 및 이벤트 정보를 출력하는 단계, 상기 이벤트 정보에 기초하여 발생된 이벤트를 순차적으로 이벤트 큐에 등록하는 단계, 상기 등록된 이벤트를 해석하고, 상기 해석된 이벤트를 실행하는 단계, 및 상기 공간 정보 및 이벤트 정보에 기초하여 구성된 3차원 공간을 화면상에 디스플레이하는 단계를 포함한다.The 3D rendering method for solving the technical problem is to recognize the spatial information and event information from the XML (eXtensible Markup Language) data for the spatial configuration, and outputting the recognized spatial information and event information, the event information Sequentially registering the generated event in the event queue, interpreting the registered event, executing the interpreted event, and displaying a three-dimensional space configured based on the spatial information and the event information on the screen. Displaying.
상기 3차원 랜더링 방법은 클라이언트 개발자가 발생시키고, 게임 서버의 응답이 불필요하며, 즉각적인 반응이 요구되는 비동기 이벤트(asynchronous event)를 상기 이벤트 큐에 직접 등록하는 단계를 더 포함할 수 있다. 상기 이벤트를 상기 이벤트 큐에 등록하는 단계는 상기 이벤트 발생 여부를 감시하는 단계, 상기 이벤트가 발생하면, 상기 발생된 이벤트를 분류하여 이벤트 대상을 결정하는 단계, 및 상기 결정된 이벤트 대상에 기초하여 이벤트를 구성하며, 상기 구성된 이벤트를 상기 이벤트 큐에 등록하는 단계를 포함한다.The 3D rendering method may further include directly registering an asynchronous event generated by a client developer, requiring no response from the game server, and requiring an immediate response to the event queue. The registering of the event in the event queue may include monitoring the occurrence of the event, determining, when the event occurs, classifying the generated event to determine an event target, and based on the determined event target. And registering the configured event with the event queue.
상기 3차원 랜더링 방법은 상기 XML 데이터 및 메시(mesh) 데이터를 수신하고, 상기 수신된 XML 데이터 및 메시 데이터를 저장하는 단계 또는 게임 서버로부터 메시지를 수신하고, 상기 수신된 메시지를 처리하는 단계를 더 포함할 수 있다.The 3D rendering method may further include receiving the XML data and the mesh data, storing the received XML data and the mesh data, or receiving a message from a game server and processing the received message. It may include.
상술한 바와 같이, 본 발명의 실시예에 따른 3차원 랜더링 엔진, 3차원 랜더링 시스템, 및 3차원 랜더링 방법은 개방형 자료 구조인 XML을 이용하여 3차원 공간 및 이벤트를 정의하므로 3차원 게임 개발에 소요되는 시간을 줄일 수 있으며, 게임 개발 과정에서의 오류 발생 가능성을 감소시키는 효과가 있다.As described above, the three-dimensional rendering engine, the three-dimensional rendering system, and the three-dimensional rendering method according to the embodiment of the present invention require three-dimensional game development because three-dimensional spaces and events are defined using XML, which is an open data structure. It can reduce the time required and reduce the possibility of error in game development process.
도 1은 본 발명의 실시예에 따른 3차원 랜더링 엔진을 나타내는 구성도이다.1 is a block diagram showing a three-dimensional rendering engine according to an embodiment of the present invention.
도 2는 본 발명의 실시예에 따른 3차원 랜더링 엔진의 이벤트 처리 동작을 나타내는 순서도이다.2 is a flowchart illustrating an event processing operation of a 3D rendering engine according to an exemplary embodiment of the present invention.
도 3은 윈도우 관련 이벤트 발생시 도 1에 도시된 이벤트 등록기의 동작을 나타내는 순서도이다.3 is a flowchart illustrating an operation of an event register illustrated in FIG. 1 when a window-related event occurs.
본 발명과 본 발명의 동작상의 이점 및 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.In order to fully understand the present invention, the operational advantages of the present invention, and the objects attained by the practice of the present invention, reference should be made to the accompanying drawings which illustrate preferred embodiments of the present invention and the contents described in the accompanying drawings.
본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터 또는 신호를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터 또는 신호를 전송할 수 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터 또는 신호를 상기 다른 구성요소로 전송할 수 있음을 의미한다.In the present specification, when one component 'transmits' data or a signal to another component, the component may directly transmit the data or signal to the other component, and at least one other component. Through this means that the data or signal can be transmitted to the other component.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Like reference numerals in the drawings denote like elements.
도 1은 본 발명의 실시예에 따른 3차원 랜더링 시스템(100)을 나타내는 구성도이다. 도 1을 참조하면, 상기 3차원 랜더링 시스템(100)은 게임 클라이언트(200) 및 게임 서버(300)를 포함한다. 상기 게임 클라이언트(200)는 3차원 랜더링 엔진(210)을 포함한다.1 is a block diagram showing a three-dimensional rendering system 100 according to an embodiment of the present invention. Referring to FIG. 1, the 3D rendering system 100 includes a game client 200 and a game server 300. The game client 200 includes a three-dimensional rendering engine 210.
상기 3차원 랜더링 엔진(210)은 속성 처리기(220), 이벤트 큐(230), 이벤트 해석기(240), 화면 처리기(250) 및 이벤트 등록기(260)를 포함한다. 상기 속성 처리기(220)는 공간 구성에 대한 XML(eXtensible Markup Language, 이하 'XML'이라 함) 데이터로부터 공간 정보 및 이벤트 정보를 인식하고, 상기 인식된 공간 정보 및 이벤트 정보를 출력한다. 상기 XML 데이터는 온라인 게임의 경우에는 게임 서버로부터 수신될 수 있고, 1인용 게임의 경우에는 클라이언트 개발자에 의하여 정의될 수 있으며, 상기 공간 정보 및 이벤트 정보를 포함할 수 있다.The 3D rendering engine 210 includes an attribute processor 220, an event queue 230, an event interpreter 240, a screen processor 250, and an event register 260. The attribute processor 220 recognizes the spatial information and the event information from the XML (eXtensible Markup Language) data about the spatial configuration, and outputs the recognized spatial information and the event information. The XML data may be received from a game server in the case of an online game, may be defined by a client developer in the case of a single game, and may include the spatial information and event information.
XML은 웹이나 인트라넷 환경에서 정보를 생성하고, 데이터 자체와 데이터의 포맷 형태를 동시에 공유할 수 있도록 해주는 개방형 자료 구조의 차세대 표준이다. XML은 서로 다른 시스템이나 작업 환경에서도 각종 문서를 불러올 수 있는 호환성을 갖고 있어 최근 많은 기업들이 XML기반의 솔루션을 잇달아 도입하고 있다.XML is the next-generation standard for open data structures that allows you to create information on the Web or intranet, and share both the data itself and its format. XML is compatible with various documents in different systems and working environments. Recently, many companies have introduced XML-based solutions one after another.
상기 공간 정보는 게임의 맵(map)의 이름과 메시(mesh) 파일을 포함하는 맵 정보, 게임에 등록된 종족 명칭과 메시 파일을 포함하는 종족 정보, 실제로 맵에 위치한 캐릭터의 이름, 종족, 및 캐릭터의 맵상에서의 위치를 포함하는 캐릭터 정보, 게임에 등록된 NPC(Non-Player Character) 및 실제로 맵에 위치한 NPC의 위치 등을 포함하는 NPC 정보, 게임에 등록된 오브젝트(object)의 종류 및 실제 맵에서 존재하는 오브젝트의 위치를 나타내는 오브젝트 정보, 및 맵상에서 일어나는 효과들에 대한 정의를 포함한다. 메시 파일이란 3차원 모델 데이터 제작 툴에 의하여 생성된 메시 데이터를 포함하는 파일을 말한다.The spatial information includes map information including a name of a map of the game and a mesh file, race information including a race name and a mesh file registered in the game, a name of the character actually located on the map, a race, and Character information including the position of the character on the map, NPC information including the position of the NPC (Non-Player Character) registered in the game and the position of the NPC actually located on the map, the type and the actual object registered in the game Object information indicating the location of an object present in the map, and definitions for effects that occur on the map. The mesh file refers to a file containing mesh data generated by the 3D model data production tool.
예를 들어 게임에서 NPC에 타격을 가하는 이벤트가 있다고 가정하면, 상기 XML 데이터에는 NPC에 대한 클릭시 적용시킬 애니메이션 및 효과에 대한 정의 및 랜더링 엔진에서 게임 클라이언트에게 보내는 이벤트 메시지에 대한 정의 등이 포함되어야 한다.For example, suppose a game has an event that hits an NPC. The XML data should include definitions of animations and effects to be applied when clicking on the NPC, and definitions of event messages sent to the game client by the rendering engine. do.
상기 이벤트 등록기(260)는 상기 이벤트 정보에 기초하여 발생된 이벤트를 상기 이벤트 큐(230)에 순차적으로 등록하며, 상기 이벤트 해석기(240)는 상기 이벤트 큐(230)에 등록된 이벤트를 해석하여, 상기 해석된 이벤트를 실행한다.The event register 260 sequentially registers an event generated based on the event information in the event queue 230, and the event interpreter 240 analyzes an event registered in the event queue 230. Run the interpreted event.
상기 화면 처리기(250)는 상기 공간 정보 및 이벤트 정보에 기초하여 구성된 3차원 공간을 화면상에 디스플레이한다. 상기 화면 처리기(250)는 다이렉트엑스(directX) 3D 또는 오픈지엘(Open Grapnics Library, OpenGL) 등을 이용하여 3차원 공간을 화면상에 보여준다.The screen processor 250 displays a three-dimensional space configured on the screen based on the spatial information and the event information. The screen processor 250 displays a three-dimensional space on a screen by using directX 3D or Open Grapnics Library (OpenGL).
다이렉트엑스는 멀티미디어, 특히 게임 프로그래밍에서 마이크로소프트 플랫폼에서 작업을 위한 응용 프로그램 프로그래밍 인터페이스(Application Programming Interface, API)이며, 오픈지엘은 실리콘 그래픽스사에서 만들어진 산업 표준인 그래픽 라이브러리로 다이렉트엑스와 함께 컴퓨터 그래픽 세계를 양분하고 있다.DirectX is an application programming interface (API) for working on the Microsoft platform in multimedia, especially game programming.OpenGL is an industry standard graphics library created by Silicon Graphics. Is bisecting.
상기 이벤트 등록기(260)는 클라이언트 개발자가 발생시키고, 게임 서버의 응답이 불필요하며, 즉각적인 반응이 요구되는 비동기 이벤트(asynchronous event)를 상기 이벤트 큐(230)에 직접 등록할 수도 있다. 즉, 상기 이벤트 등록기(260)는 상기 게임 서버(300)와 동기화가 필요없는 비동기 이벤트를 상기 이벤트 큐(230)에 직접 등록할 수도 있다. 예컨대, 상기 비동기 이벤트에는 버튼 클릭과 같은 윈도우 관련 이벤트가 포함될 수 있다.The event register 260 may directly register an asynchronous event generated by a client developer, a response from a game server, and requiring an immediate response to the event queue 230. That is, the event register 260 may directly register an asynchronous event that does not need to be synchronized with the game server 300 to the event queue 230. For example, the asynchronous event may include a window related event such as a button click.
상기 이벤트 등록기(260)는 상기 이벤트 발생 여부를 감시하고, 상기 이벤트가 발생하면 상기 발생된 이벤트를 분류하여 이벤트 대상을 결정하며, 상기 결정된 이벤트 대상에 기초하여 이벤트를 구성하며, 상기 구성된 이벤트를 상기 이벤트 큐(230)에 등록할 수 있다.The event register 260 monitors whether the event has occurred, and when the event occurs, classifies the generated event to determine an event target, configures an event based on the determined event target, and configures the configured event. The event queue 230 may be registered.
상기 3차원 랜더링 엔진(210)은 상기 게임 서버(300)로부터 상기 XML 데이터 및 메시(mesh) 데이터를 수신하고, 상기 수신된 XML 데이터 및 메시 데이터를 저장하는 데이터 저장부(270)를 더 포함할 수 있다. 또한, 상기 3차원 랜더링 엔진(210)은 상기 게임 서버로부터 수신된 메시지를 처리하는 메시지 처리기(280)를 더 포함할 수 있다. 상기 메시지는 상기 속성 처리기(220)가 상기 XML 데이터로부터 추출한 메시지일 수 있다.The 3D rendering engine 210 may further include a data storage unit 270 which receives the XML data and mesh data from the game server 300 and stores the received XML data and mesh data. Can be. In addition, the 3D rendering engine 210 may further include a message processor 280 for processing a message received from the game server. The message may be a message extracted by the attribute processor 220 from the XML data.
상기 게임 서버(300)는 정보 통신망을 통하여 상기 게임 클라이언트(200)와 접속되며, 속성 처리기(310) 및 이벤트 처리기(320)를 포함한다. 상기 속성 처리기(310)는 상기 게임 클라이언트(200)로부터 수신된 XML 데이터로부터 공간 정보 및 이벤트 정보를 인식하고, 상기 인식된 공간 정보 및 이벤트 정보를 출력한다. 상기 이벤트 처리기(320)는 상기 게임 서버(300)의 상기 속성 처리기(310)로부터 수신되는 이벤트 정보에 기초하여 응답 이벤트를 결정하고, 상기 결정된 응답 이벤트를 상기 게임 클라이언트(200)에게 알린다.The game server 300 is connected to the game client 200 through an information communication network, and includes an attribute processor 310 and an event processor 320. The attribute processor 310 recognizes spatial information and event information from the XML data received from the game client 200, and outputs the recognized spatial information and event information. The event processor 320 determines a response event based on the event information received from the attribute processor 310 of the game server 300, and notifies the game client 200 of the determined response event.
상기 게임 서버(300)는 데이터 저장부(340) 및 메시지 처리기(330)를 더 포함할 수 있다. 상기 데이터 저장부(340)는 상기 게임 클라이언트(200)로부터 XML 데이터 및 메시 데이터를 수신하고, 상기 수신된 XML 데이터 및 메시 데이터를 저장할 수 있다. 상기 메시지 처리기(330)는 상기 게임 클라이언트(200)로부터 수신된 메시지를 처리한다. 상기 메시지는 상기 게임 서버(300)의 속성 처리기(310)가 상기 게임 클라이언트(200)로부터 수신된 XML 데이터로부터 추출한 메시지일 수 있다.The game server 300 may further include a data storage unit 340 and a message processor 330. The data storage unit 340 may receive XML data and mesh data from the game client 200 and store the received XML data and mesh data. The message processor 330 processes a message received from the game client 200. The message may be a message extracted from the XML data received from the game client 200 by the property processor 310 of the game server 300.
도 2는 본 발명의 실시예에 따른 3차원 랜더링 엔진(210)의 이벤트 처리 동작을 나타내는 순서도이다. 도 1 및 도 2를 참조하여, 그 과정을 상세히 설명한다.2 is a flowchart illustrating an event processing operation of the 3D rendering engine 210 according to an exemplary embodiment of the present invention. Referring to Figures 1 and 2, the process will be described in detail.
상기 3차원 랜더링 엔진(210)은 이벤트 큐(230)를 초기화시킨다(S100). 상기 3차원 랜더링 엔진(210)의 속성 처리기(220)는 XML 데이터를 수신하고(S101), 수신된 XML 데이터로부터 이벤트 정보 수신 여부를 판단하고, 이벤트 정보가 수신되었으면 이벤트 정보를 출력하고, 그렇지 않으면 이벤트 정보 수신 여부를 계속해서 체크한다(S102).The 3D rendering engine 210 initializes the event queue 230 (S100). The attribute processor 220 of the 3D rendering engine 210 receives XML data (S101), determines whether event information is received from the received XML data, and outputs event information if event information is received. The system continuously checks whether event information is received (S102).
이벤트 등록기(260)는 상기 속성 처리기(220)로부터 출력되는 이벤트 정보에 기초하여 발생되는 이벤트를 이벤트 큐(230)에 등록한다(S103). 이벤트 해석기(240)는 상기 이벤트 큐(230)에 등록된 이벤트를 해석하여, 상기 해석된 이벤트의 발생 여부를 체크한다(S104). 이벤트가 발생되면 상기 이벤트 해석기(240)는 상기 발생된 이벤트가 공간이동 이벤트인지 여부를 체크한다(S105).The event register 260 registers an event generated based on the event information output from the attribute processor 220 in the event queue 230 (S103). The event interpreter 240 analyzes the event registered in the event queue 230 and checks whether the interpreted event has occurred (S104). When an event occurs, the event interpreter 240 checks whether the generated event is a space movement event (S105).
상기 발생된 이벤트가 공간이동 이벤트이면 상기 3차원 랜더링 엔진(210)은 새로운 공간 정보를 얻기 위하여 상기 속성 처리기(220)가 다시 XML 데이터를 수신하게 하며(S101), 그렇지 않으면 상기 발생된 이벤트가 종료 이벤트인지를 체크한다(S106). 상기 발생된 이벤트가 종료 이벤트면 상기 이벤트 큐(230)는 등록된 이벤트를 삭제하고, 이벤트 처리 과정은 종료된다(S107).If the generated event is a spatial movement event, the 3D rendering engine 210 causes the attribute processor 220 to receive XML data again to obtain new spatial information (S101), otherwise, the generated event is terminated. Check whether the event (S106). If the generated event is an end event, the event queue 230 deletes the registered event, and the event processing process is terminated (S107).
상기 발생된 이벤트가 종료 이벤트가 아니면, 상기 이벤트 해석기(240)는 이벤트의 대상을 NPC, 오브젝트, 공간으로 분류하며(S108), 상기 발생된 이벤트에 대응하는 효과나 애니매이션을 적용하고, 그 결과를 이벤트 메시지로 작성하여 에플리케이션에게 알린다(S109).If the generated event is not an end event, the event interpreter 240 classifies the object of the event into an NPC, an object, and a space (S108), applies an effect or animation corresponding to the generated event, and outputs the result. Create an event message to inform the application (S109).
상기 이벤트 해석기(240)는 상기 발생된 이벤트에 대응하는 이벤트의 발생이 필요한지 여부를 판단하며(S110), 대응하는 이벤트가 필요하면 대응하는 이벤트 메시지를 구성한 다음(S111), 상기 이벤트 메시지가 동기화 이벤트 메시지인지 여부를 판단한다(S112). 대응하는 이벤트가 불필요하면 상기 이벤트 해석기(240)는 상기 이벤트 메시지가 동기화 이벤트 메시지인지를 바로 판단한다(S112).The event interpreter 240 determines whether an event corresponding to the generated event is required (S110), and if a corresponding event is required, configures a corresponding event message (S111), and then the event message is a synchronization event. It is determined whether the message (S112). If the corresponding event is unnecessary, the event interpreter 240 immediately determines whether the event message is a synchronization event message (S112).
상기 이벤트 메시지가 동기화 이벤트 메시지이면, 상기 3차원 랜더링 엔진(210)은 동기화 이벤트 메시지를 게임 서버로 전달한다(S113). 상기 이벤트 메시지가 동기화 이벤트 메시지가 아니면, 상기 속성 처리기(220)는 이벤트 정보 수신 여부를 체크한다(S102).If the event message is a synchronization event message, the 3D rendering engine 210 transmits the synchronization event message to the game server (S113). If the event message is not a synchronization event message, the property processor 220 checks whether event information is received (S102).
도 3은 윈도우 관련 이벤트 발생시 도 1에 도시된 이벤트 등록기(260)의 동작을 나타내는 순서도이다. 이하에서는 도 1 및 도 3을 참조하여, 그 과정을 상세하게 살펴본다.3 is a flowchart illustrating an operation of the event register 260 illustrated in FIG. 1 when a window-related event occurs. Hereinafter, the process will be described in detail with reference to FIGS. 1 and 3.
이벤트 등록기(260)는 비동기 이벤트인 윈도우 관련 이벤트의 발생 여부를 감시한다(S200). 윈도우 관련 이벤트가 발생하면 상기 이벤트 등록기(260)는 상기 발생된 윈도우 관련 이벤트를 분류하여(S202) 이벤트 대상을 결정하고(S203), 상기 결정된 이벤트 대상에 기초하여 윈도우 관련 이벤트를 구성하며(S204), 상기 구성된 윈도우 관련 이벤트를 상기 이벤트 큐(230)에 등록한다(S205).The event register 260 monitors whether a window-related event, which is an asynchronous event, occurs (S200). When a window related event occurs, the event register 260 classifies the generated window related event (S202) to determine an event target (S203), and configures a window related event based on the determined event target (S204). In operation S205, the configured window-related event is registered in the event queue 230.
발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the invention has been described with reference to one embodiment shown in the drawings, this is merely exemplary, and it will be understood by those skilled in the art that various modifications and equivalent other embodiments are possible. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.
Claims (14)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080017815A KR100928349B1 (en) | 2008-02-27 | 2008-02-27 | 3D Rendering Engine, System, and Method Using XML |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080017815A KR100928349B1 (en) | 2008-02-27 | 2008-02-27 | 3D Rendering Engine, System, and Method Using XML |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090092522A true KR20090092522A (en) | 2009-09-01 |
KR100928349B1 KR100928349B1 (en) | 2009-11-23 |
Family
ID=41301074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080017815A KR100928349B1 (en) | 2008-02-27 | 2008-02-27 | 3D Rendering Engine, System, and Method Using XML |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100928349B1 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100360771B1 (en) * | 1999-06-15 | 2002-11-13 | 한국전자통신연구원 | Sharing system and method of 3D graphics object |
US7417645B2 (en) * | 2003-03-27 | 2008-08-26 | Microsoft Corporation | Markup language and object model for vector graphics |
KR20050012596A (en) * | 2003-07-26 | 2005-02-02 | (주)이진공작 | Apparatus and method for syncronizing motion of client system and interaction system and game method using it on network |
KR100727055B1 (en) * | 2005-07-01 | 2007-06-12 | 엔에이치엔(주) | Game production system and method which uses script language |
-
2008
- 2008-02-27 KR KR1020080017815A patent/KR100928349B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR100928349B1 (en) | 2009-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108885522B (en) | Rendering content in a 3D environment | |
US10740414B2 (en) | Method and apparatus for providing browsing capability between remote/virtual windows and from remote/virtual windows to conventional hypertext documents | |
US5867175A (en) | Method and apparatus for scriping animation | |
US6748583B2 (en) | Monitoring execution of an hierarchical visual program such as for debugging a message flow | |
US6817010B2 (en) | Monitoring messages during execution of a message flow | |
US6795089B2 (en) | Dynamic, live surface and model elements for visualization and modeling | |
US9361648B2 (en) | Rule authoring for events in a grid environment | |
US20200396225A1 (en) | Microservice Deployment | |
CN105787123B (en) | The server computer and method of minimum downloading and simulation page navigation feature are provided | |
US8276159B2 (en) | Message communication of sensor and other data | |
EP0822484A2 (en) | Method and apparatus for enhancing the portability of an object oriented interface among multiple platforms | |
RU2405190C2 (en) | Priority binding | |
US20210288891A1 (en) | Microservice Generation System | |
US20100125624A1 (en) | Coupling state aware systems | |
CN113031948B (en) | Popup window display method and device, computer equipment and storage medium | |
US20130212598A1 (en) | Dependency informer | |
US10218767B2 (en) | Method, system and browser for executing active object of browser | |
US9842011B2 (en) | Delegating a status visualization task to a source application by a target application | |
CN112947916A (en) | Method, device, equipment and storage medium for realizing online canvas | |
CN111381976B (en) | Method and device for updating message prompt data, storage medium and computer equipment | |
KR100928349B1 (en) | 3D Rendering Engine, System, and Method Using XML | |
US10339032B2 (en) | System for monitoring and reporting performance and correctness issues across design, compile and runtime | |
US11947899B2 (en) | Determining text visibility during user sessions | |
US11775365B1 (en) | Efficient monitoring data collection and distribution | |
US20230419254A1 (en) | Processing messages in a multi-tier environment |
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: 20121119 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20131115 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20141001 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20151104 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |