KR20090092522A - 3 dimensional landering engine, system, and method using eXtensible Markup Language - Google Patents

3 dimensional landering engine, system, and method using eXtensible Markup Language

Info

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
Application number
KR1020080017815A
Other languages
Korean (ko)
Other versions
KR100928349B1 (en
Inventor
허윤주
Original Assignee
허윤주
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 허윤주 filed Critical 허윤주
Priority to KR1020080017815A priority Critical patent/KR100928349B1/en
Publication of KR20090092522A publication Critical patent/KR20090092522A/en
Application granted granted Critical
Publication of KR100928349B1 publication Critical patent/KR100928349B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • G06F9/3871Asynchronous instruction pipeline, e.g. using handshake signals between stages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]

Abstract

A 3D rendering engine using the XML(Extensible Markup Language), a system thereof and a method therefor are provided to define a 3D space by using the XML having an opened data structure, and execute an event. An attribute processor(220) recognizes space information and event information from XML-data about space configuration, and then outputs the recognized space information and event information. An event registering unit(260) sequentially registers events generated based on the event information in an event queue. An event interpreter(240) interprets the registered events, and then executes the events. A screen processor(250) displays the 3D space on a screen.

Description

엑스엠엘을 이용한 3차원 랜더링 엔진, 시스템, 및 방법{3 dimensional landering engine, system, and method using eXtensible Markup Language}3D landering engine, system, and method using eXtensible Markup Language

본 발명은 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)

공간 구성에 대한 XML(eXtensible Markup Language) 데이터로부터 공간 정보 및 이벤트 정보를 인식하고, 상기 인식된 공간 정보 및 이벤트 정보를 출력하는 속성 처리기;An attribute processor that recognizes spatial information and event information from eXtensible Markup Language (XML) data for spatial configuration, and outputs the recognized spatial information and event information; 상기 이벤트 정보에 기초하여 발생된 이벤트를 이벤트 큐(queue)에 순차적으로 등록하는 이벤트 등록기;An event register that sequentially registers events generated based on the event information in an event queue; 상기 이벤트 큐에 등록된 이벤트를 해석하고, 상기 해석된 이벤트를 실행하는 이벤트 해석기; 및An event interpreter for interpreting an event registered in the event queue and executing the interpreted event; And 상기 공간 정보 및 이벤트 정보에 기초하여 구성된 3차원 공간을 화면상에 디스플레이하는 화면 처리기를 포함하는 3차원 랜더링 엔진(ladering engine).And a screen processor configured to display a three-dimensional space configured on the screen based on the spatial information and the event information. 제1항에 있어서, 상기 이벤트 등록기는,The method of claim 1, wherein the event register, 서버의 응답이 불필요한 비동기 이벤트(asynchronous event)를 상기 이벤트 큐에 직접 등록할 수 있는 3차원 랜더링 엔진.A three-dimensional rendering engine capable of registering an asynchronous event directly in the event queue that does not require a server response. 제1항에 있어서, 상기 이벤트 등록기는,The method of claim 1, wherein the event register, 상기 이벤트 발생 여부를 감시하고, 상기 이벤트가 발생하면 상기 발생된 이벤트를 분류하여 이벤트 대상을 결정하며, 상기 결정된 이벤트 대상에 기초하여 이벤트를 구성하며, 상기 구성된 이벤트를 상기 이벤트 큐에 등록하는 3차원 랜더링 엔진.3D for monitoring whether the event occurs, classifying the generated event to determine an event target, configuring an event based on the determined event target, and registering the configured event in the event queue. Rendering engine. 제1항에 있어서, 상기 XML 데이터는,The method of claim 1, wherein the XML data, 온라인 게임의 경우에는 게임 서버로부터 수신될 수 있고, 1인용 게임의 경우에는 클라이언트 개발자에 의하여 정의될 수 있는 3차원 랜더링 엔진.3D rendering engine, which may be received from a game server in the case of an online game, or defined by a client developer in the case of a single game. 제1항에 있어서, 상기 3차원 랜더링 엔진은,The method of claim 1, wherein the three-dimensional rendering engine, 상기 XML 데이터 및 메시(mesh) 데이터를 수신하고, 상기 수신된 XML 데이터 및 메시 데이터를 저장하는 데이터 저장부를 더 포함하는 3차원 랜더링 엔진.And a data storage unit configured to receive the XML data and the mesh data and to store the received XML data and the mesh data. 제1항에 있어서, 상기 3차원 랜더링 엔진은,The method of claim 1, wherein the three-dimensional rendering engine, 서버로부터 수신된 메시지를 처리하는 메시지 처리기를 더 포함하는 3차원 랜더링 엔진.And a message handler for processing messages received from the server. 제1항 내지 제6항 중에서 어느 한 항에 기재된 3차원 랜더링 엔진을 포함하는 게임 클라이언트; 및A game client comprising the three-dimensional rendering engine according to any one of claims 1 to 6; And 정보 통신망을 통하여 상기 게임 클라이언트와 접속되는 게임 서버를 포함하며,A game server connected to the game client through an information communication network; 상기 게임 서버는,The game server, 상기 게임 클라이언트로부터 수신된 XML(eXtensible Markup Language) 데이터로부터 공간 정보 및 이벤트 정보를 인식하고, 상기 인식된 공간 정보 및 이벤트 정보를 출력하는 속성 처리기; 및An attribute processor for recognizing spatial information and event information from XML (eXtensible Markup Language) data received from the game client and outputting the recognized spatial information and event information; And 상기 게임 서버의 상기 속성 처리기로부터 수신되는 이벤트 정보에 기초하여 응답 이벤트를 결정하고, 상기 결정된 응답 이벤트를 상기 게임 클라이언트에게 알리는 이벤트 처리기를 포함하는 3차원 랜더링 시스템.And an event processor to determine a response event based on event information received from the property processor of the game server, and to notify the game client of the determined response event. 제7항에 있어서, 상기 게임 서버는,The method of claim 7, wherein the game server, 상기 게임 클라이언트로부터 XML 데이터 및 메시 데이터를 수신하고, 상기 수신된 XML 데이터 및 메시 데이터를 저장하는 데이터 저장부를 더 포함하는 3차원 랜더링 시스템.And a data storage unit configured to receive XML data and mesh data from the game client and store the received XML data and mesh data. 제7항에 있어서, 상기 게임 서버는,The method of claim 7, wherein the game server, 상기 게임 클라이언트로부터 수신된 메시지를 처리하는 메시지 처리기를 더 포함하는 상기 3차원 랜더링 시스템.And a message processor for processing a message received from the game client. 공간 구성에 대한 XML(eXtensible Markup Language) 데이터로부터 공간 정보 및 이벤트 정보를 인식하고, 상기 인식된 공간 정보 및 이벤트 정보를 출력하는 단계;Recognizing spatial information and event information from eXtensible Markup Language (XML) data for spatial configuration, and outputting the recognized spatial information and event information; 상기 이벤트 정보에 기초하여 발생된 이벤트를 순차적으로 이벤트 큐에 등록하는 단계;Sequentially registering events generated based on the event information in an event queue; 상기 등록된 이벤트를 해석하고, 상기 해석된 이벤트를 실행하는 단계; 및Interpreting the registered event and executing the interpreted event; And 상기 공간 정보 및 이벤트 정보에 기초하여 구성된 3차원 공간을 화면상에 디스플레이하는 단계를 포함하는 3차원 랜더링 방법.And displaying a three-dimensional space configured on the screen based on the spatial information and the event information. 제10항에 있어서, 상기 3차원 랜더링 방법은,The method of claim 10, wherein the three-dimensional rendering method, 서버의 응답이 불필요한 비동기 이벤트(asynchronous event)를 상기 이벤트 큐에 직접 등록하는 단계를 더 포함하는 3차원 랜더링 방법.And registering an asynchronous event that does not require a response of a server directly in the event queue. 제10항에 있어서, 상기 이벤트를 상기 이벤트 큐에 등록하는 단계는,The method of claim 10, wherein registering the event to the event queue comprises: 상기 이벤트 발생 여부를 감시하는 단계;Monitoring whether the event occurs; 상기 이벤트가 발생하면, 상기 발생된 이벤트를 분류하여 이벤트 대상을 결정하는 단계; 및When the event occurs, classifying the generated event to determine an event target; And 상기 결정된 이벤트 대상에 기초하여 이벤트를 구성하며, 상기 구성된 이벤트를 상기 이벤트 큐에 등록하는 단계를 포함하는 3차원 랜더링 방법.Configuring an event based on the determined event target, and registering the configured event in the event queue. 제10항에 있어서, 상기 3차원 랜더링 방법은,The method of claim 10, wherein the three-dimensional rendering method, 상기 XML 데이터 및 메시(mesh) 데이터를 수신하고, 상기 수신된 XML 데이터 및 메시 데이터를 저장하는 단계를 더 포함하는 3차원 랜더링 방법.Receiving the XML data and mesh data and storing the received XML data and mesh data. 제10항에 있어서, 상기 3차원 랜더링 방법은,The method of claim 10, wherein the three-dimensional rendering method, 게임 서버로부터 수신된 메시지를 처리하는 단계를 더 포함하는 3차원 랜더링 방법.And processing the message received from the game server.
KR1020080017815A 2008-02-27 2008-02-27 3D Rendering Engine, System, and Method Using XML KR100928349B1 (en)

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)

* Cited by examiner, † Cited by third party
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

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