KR100928349B1 - 엑스엠엘을 이용한 3차원 랜더링 엔진, 시스템, 및 방법 - Google Patents
엑스엠엘을 이용한 3차원 랜더링 엔진, 시스템, 및 방법 Download PDFInfo
- Publication number
- KR100928349B1 KR100928349B1 KR1020080017815A KR20080017815A KR100928349B1 KR 100928349 B1 KR100928349 B1 KR 100928349B1 KR 1020080017815 A KR1020080017815 A KR 1020080017815A KR 20080017815 A KR20080017815 A KR 20080017815A KR 100928349 B1 KR100928349 B1 KR 100928349B1
- Authority
- KR
- South Korea
- Prior art keywords
- event
- message
- generated
- information
- queue
- Prior art date
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 42
- 238000000034 method Methods 0.000 title claims description 22
- 230000004044 response Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 7
- 230000000694 effects Effects 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 2
- 238000011161 development Methods 0.000 abstract description 12
- 238000013500 data storage Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
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/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 or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or 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]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
Description
본 발명은 3차원 랜더링 기술에 관한 것으로, 보다 상세하게는 개방형 자료 구조인 XML(eXtensible Markup Language)을 이용한 3차원 랜더링 엔진, 3차원 랜더링 시스템, 및 그 방법에 관한 것이다.
일반적인 게임 개발을 위한 툴(tool)들은 공간이나 오브젝트(object) 제작만을 지원한다. 따라서 게임 개발 시에 3차원 공간의 구성 및 각종 이벤트의 실행에 관한 모든 것을 소스 코딩해야 하기 때문에 개발에 투자되는 시간이 많이 필요하며, 오류 가능성 또한 높아진다.
XML은 Extensible Markup Language의 약자로써 인터넷 웹(web)상에서 데이터(data)와 각종 문서(documents)에 대한 개방형 자료 구조의 일관된 표준이라고 볼 수 있다. 게임 개발에 있어서, 개방형 자료 구조를 지원하는 XML을 이용하여 3차원 공간을 정의하고 이벤트를 실행함으로써 게임 개발의 편의성을 도모할 수 있다.
따라서 본 발명이 이루고자 하는 기술적인 과제는 개방형 자료 구조를 갖는 XML을 이용하여 3차원 공간을 정의하고 이벤트를 실행함으로써 게임 개발 시간 및 오류 발생 가능성을 감소시킬 수 있는 3차원 랜더링 엔진, 3차원 랜더링 시스템, 및 그 방법을 제공하는 것이다.
상기 기술적 과제를 달성하기 위한 3차원 랜더링 엔진은 속성 처리기, 이벤트 큐, 이벤트 해석기, 화면 처리기 및 이벤트 등록기를 포함한다. 상기 속성 처리기는 공간 구성에 대한 XML(eXtensible Markup Language) 데이터로부터 공간 정보 및 이벤트 정보를 인식하고, 상기 인식된 공간 정보 및 이벤트 정보를 출력한다.
상기 XML 데이터는 온라인 게임의 경우에는 게임 서버로부터 수신될 수 있고, 1인용 게임의 경우에는 클라이언트 개발자에 의하여 정의될 수 있다. 상기 이벤트 등록기는 상기 이벤트 정보에 기초하여 발생된 이벤트를 상기 이벤트 큐(queue)에 순차적으로 등록한다. 상기 이벤트 해석기는 상기 이벤트 큐에 등록된 이벤트를 해석하여, 상기 해석된 이벤트를 실행한다. 상기 화면 처리기는 상기 공간 정보 및 이벤트 정보에 기초하여 구성된 3차원 공간을 화면상에 디스플레이한다.
상기 이벤트 등록기는 클라이언트 개발자가 발생시키고, 서버의 응답이 불필요하며, 즉각적인 반응이 요구되는 비동기 이벤트(asynchronous event)를 상기 이 벤트 큐에 직접 등록할 수도 있다. 상기 이벤트 등록기는 상기 이벤트 발생 여부를 감시하고, 상기 이벤트가 발생하면 상기 발생된 이벤트를 분류하여 이벤트 대상을 결정하며, 상기 결정된 이벤트 대상에 기초하여 이벤트를 구성하며, 상기 구성된 이벤트를 상기 이벤트 큐에 등록한다.
상기 3차원 랜더링 엔진은 상기 XML 데이터 및 메시(mesh) 데이터를 수신하고, 상기 수신된 XML 데이터 및 메시 데이터를 저장하는 데이터 저장부 또는 서버로부터 수신된 메시지를 처리하는 메시지 처리기를 더 포함할 수 있다.
상기 기술적 과제를 달성하기 위한 3차원 랜더링 시스템은 상기 3차원 랜더링 엔진을 포함하는 게임 클라이언트 및 정보 통신망을 통하여 상기 게임 클라이언트와 접속되는 게임 서버를 포함한다. 상기 3차원 랜더링 엔진의 특징은 상술한 바와 같으므로 이를 포함하는 게임 클라이언트에 대한 상세한 설명은 생략하며, 상기 게임 서버에 대해서만 상술한다.
상기 게임 서버는 속성 처리기 및 이벤트 처리기를 포함한다. 상기 속성 처리기는 상기 게임 클라이언트로부터 수신된 XML 데이터로부터 공간 정보 및 이벤트 정보를 인식하고, 상기 인식된 공간 정보 및 이벤트 정보를 출력한다. 상기 이벤트 처리기는 상기 게임 서버의 상기 속성 처리기로부터 수신되는 이벤트 정보에 기초하여 응답 이벤트를 결정하고, 상기 결정된 응답 이벤트를 상기 게임 클라이언트에게 알린다.
상기 게임 서버는 상기 게임 클라이언트로부터 XML 데이터 및 메시 데이터를 수신하고, 상기 수신된 XML 데이터 및 메시 데이터를 저장하는 데이터 저장부 또는 상기 게임 클라이언트로부터 수신된 메시지를 처리하는 메시지 처리기를 더 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 3차원 랜더링 방법은 공간 구성에 대한 XML(eXtensible Markup Language) 데이터로부터 공간 정보 및 이벤트 정보를 인식하고, 상기 인식된 공간 정보 및 이벤트 정보를 출력하는 단계, 상기 이벤트 정보에 기초하여 발생된 이벤트를 순차적으로 이벤트 큐에 등록하는 단계, 상기 등록된 이벤트를 해석하고, 상기 해석된 이벤트를 실행하는 단계, 및 상기 공간 정보 및 이벤트 정보에 기초하여 구성된 3차원 공간을 화면상에 디스플레이하는 단계를 포함한다.
상기 3차원 랜더링 방법은 클라이언트 개발자가 발생시키고, 게임 서버의 응답이 불필요하며, 즉각적인 반응이 요구되는 비동기 이벤트(asynchronous event)를 상기 이벤트 큐에 직접 등록하는 단계를 더 포함할 수 있다. 상기 이벤트를 상기 이벤트 큐에 등록하는 단계는 상기 이벤트 발생 여부를 감시하는 단계, 상기 이벤트가 발생하면, 상기 발생된 이벤트를 분류하여 이벤트 대상을 결정하는 단계, 및 상기 결정된 이벤트 대상에 기초하여 이벤트를 구성하며, 상기 구성된 이벤트를 상기 이벤트 큐에 등록하는 단계를 포함한다.
상기 3차원 랜더링 방법은 상기 XML 데이터 및 메시(mesh) 데이터를 수신하고, 상기 수신된 XML 데이터 및 메시 데이터를 저장하는 단계 또는 게임 서버로부터 메시지를 수신하고, 상기 수신된 메시지를 처리하는 단계를 더 포함할 수 있다.
상술한 바와 같이, 본 발명의 실시예에 따른 3차원 랜더링 엔진, 3차원 랜더링 시스템, 및 3차원 랜더링 방법은 개방형 자료 구조인 XML을 이용하여 3차원 공간 및 이벤트를 정의하므로 3차원 게임 개발에 소요되는 시간을 줄일 수 있으며, 게임 개발 과정에서의 오류 발생 가능성을 감소시키는 효과가 있다.
본 발명과 본 발명의 동작상의 이점 및 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터 또는 신호를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터 또는 신호를 전송할 수 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터 또는 신호를 상기 다른 구성요소로 전송할 수 있음을 의미한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 실시예에 따른 3차원 랜더링 시스템(100)을 나타내는 구성도이다. 도 1을 참조하면, 상기 3차원 랜더링 시스템(100)은 게임 클라이언트(200) 및 게임 서버(300)를 포함한다. 상기 게임 클라이언트(200)는 3차원 랜더링 엔진(210)을 포함한다.
상기 3차원 랜더링 엔진(210)은 속성 처리기(220), 이벤트 큐(230), 이벤트 해석기(240), 화면 처리기(250) 및 이벤트 등록기(260)를 포함한다. 상기 속성 처리기(220)는 공간 구성에 대한 XML(eXtensible Markup Language, 이하 'XML'이라 함) 데이터로부터 공간 정보 및 이벤트 정보를 인식하고, 상기 인식된 공간 정보 및 이벤트 정보를 출력한다. 상기 XML 데이터는 온라인 게임의 경우에는 게임 서버로부터 수신될 수 있고, 1인용 게임의 경우에는 클라이언트 개발자에 의하여 정의될 수 있으며, 상기 공간 정보 및 이벤트 정보를 포함할 수 있다.
XML은 웹이나 인트라넷 환경에서 정보를 생성하고, 데이터 자체와 데이터의 포맷 형태를 동시에 공유할 수 있도록 해주는 개방형 자료 구조의 차세대 표준이다. XML은 서로 다른 시스템이나 작업 환경에서도 각종 문서를 불러올 수 있는 호환성을 갖고 있어 최근 많은 기업들이 XML기반의 솔루션을 잇달아 도입하고 있다.
XML은 이러한 MarkupLanguage 중에서도 자기조작에 대한 자유도와 확장성이 높은 언어이다. 특히 XML의 스키마 구조와 DTD는 이러한 특징을 살리는 주요한 기능이다.
이렇게 가지조작성이 강한 XML 문서를 통하여 정의된 이벤트정보를 기준으로 하여 ‘이벤트 등록기’와 ‘이벤트 처리기’가 구동되는 시스템은 이벤트의 구성에 대한 확장성 부분에서 큰 장점을 가질 수 있다. 예를 들면, 이벤트 특성을 구분하여 이벤트에 따라 공간자체의 이동에 대한 것인지, 동기화 또는 비동기화 이벤트 인지 구분하여 동작하기 편리하다. 이벤트에 대응하는 이벤트를 구성하는 부분에 있어서도 이러한 자기조작성으로 인한 개발의 편리성을 도모할 수 있다. 따라서 이런 시스템을 통하여 개발시간의 단축에 도움을 줄 수 있다.
XML은 웹이나 인트라넷 환경에서 정보를 생성하고, 데이터 자체와 데이터의 포맷 형태를 동시에 공유할 수 있도록 해주는 개방형 자료 구조의 차세대 표준이다. XML은 서로 다른 시스템이나 작업 환경에서도 각종 문서를 불러올 수 있는 호환성을 갖고 있어 최근 많은 기업들이 XML기반의 솔루션을 잇달아 도입하고 있다.
XML은 이러한 MarkupLanguage 중에서도 자기조작에 대한 자유도와 확장성이 높은 언어이다. 특히 XML의 스키마 구조와 DTD는 이러한 특징을 살리는 주요한 기능이다.
이렇게 가지조작성이 강한 XML 문서를 통하여 정의된 이벤트정보를 기준으로 하여 ‘이벤트 등록기’와 ‘이벤트 처리기’가 구동되는 시스템은 이벤트의 구성에 대한 확장성 부분에서 큰 장점을 가질 수 있다. 예를 들면, 이벤트 특성을 구분하여 이벤트에 따라 공간자체의 이동에 대한 것인지, 동기화 또는 비동기화 이벤트 인지 구분하여 동작하기 편리하다. 이벤트에 대응하는 이벤트를 구성하는 부분에 있어서도 이러한 자기조작성으로 인한 개발의 편리성을 도모할 수 있다. 따라서 이런 시스템을 통하여 개발시간의 단축에 도움을 줄 수 있다.
XML은 웹이나 인트라넷 환경에서 정보를 생성하고, 데이터 자체와 데이터의 포맷 형태를 동시에 공유할 수 있도록 해주는 개방형 자료 구조의 차세대 표준이다. XML은 서로 다른 시스템이나 작업 환경에서도 각종 문서를 불러올 수 있는 호환성을 갖고 있어 최근 많은 기업들이 XML기반의 솔루션을 잇달아 도입하고 있다.
XML은 이러한 MarkupLanguage 중에서도 자기조작에 대한 자유도와 확장성이 높은 언어이다. 특히 XML의 스키마 구조와 DTD는 이러한 특징을 살리는 주요한 기능이다.
이렇게 가지조작성이 강한 XML 문서를 통하여 정의된 이벤트정보를 기준으로 하여 ‘이벤트 등록기’와 ‘이벤트 처리기’가 구동되는 시스템은 이벤트의 구성에 대한 확장성 부분에서 큰 장점을 가질 수 있다. 예를 들면, 이벤트 특성을 구분하여 이벤트에 따라 공간자체의 이동에 대한 것인지, 동기화 또는 비동기화 이벤트 인지 구분하여 동작하기 편리하다. 이벤트에 대응하는 이벤트를 구성하는 부분에 있어서도 이러한 자기조작성으로 인한 개발의 편리성을 도모할 수 있다. 따라서 이런 시스템을 통하여 개발시간의 단축에 도움을 줄 수 있다.
XML은 이러한 MarkupLanguage 중에서도 자기조작에 대한 자유도와 확장성이 높은 언어이다. 특히 XML의 스키마 구조와 DTD는 이러한 특징을 살리는 주요한 기능이다.
이렇게 가지조작성이 강한 XML 문서를 통하여 정의된 이벤트정보를 기준으로 하여 ‘이벤트 등록기’와 ‘이벤트 처리기’가 구동되는 시스템은 이벤트의 구성에 대한 확장성 부분에서 큰 장점을 가질 수 있다. 예를 들면, 이벤트 특성을 구분하여 이벤트에 따라 공간자체의 이동에 대한 것인지, 동기화 또는 비동기화 이벤트 인지 구분하여 동작하기 편리하다. 이벤트에 대응하는 이벤트를 구성하는 부분에 있어서도 이러한 자기조작성으로 인한 개발의 편리성을 도모할 수 있다. 따라서 이런 시스템을 통하여 개발시간의 단축에 도움을 줄 수 있다.
상기 공간 정보는 게임의 맵(map)의 이름과 메시(mesh) 파일을 포함하는 맵 정보, 게임에 등록된 종족 명칭과 메시 파일을 포함하는 종족 정보, 실제로 맵에 위치한 캐릭터의 이름, 종족, 및 캐릭터의 맵상에서의 위치를 포함하는 캐릭터 정보, 게임에 등록된 NPC(Non-Player Character) 및 실제로 맵에 위치한 NPC의 위치 등을 포함하는 NPC 정보, 게임에 등록된 오브젝트(object)의 종류 및 실제 맵에서 존재하는 오브젝트의 위치를 나타내는 오브젝트 정보, 및 맵상에서 일어나는 효과들에 대한 정의를 포함한다. 메시 파일이란 3차원 모델 데이터 제작 툴에 의하여 생성된 메시 데이터를 포함하는 파일을 말한다.
예를 들어 게임에서 NPC에 타격을 가하는 이벤트가 있다고 가정하면, 상기 XML 데이터에는 NPC에 대한 클릭시 적용시킬 애니메이션 및 효과에 대한 정의 및 랜더링 엔진에서 게임 클라이언트에게 보내는 이벤트 메시지에 대한 정의 등이 포함되어야 한다.
상기 이벤트 등록기(260)는 상기 이벤트 정보에 기초하여 발생된 이벤트를 상기 이벤트 큐(230)에 순차적으로 등록하며, 상기 이벤트 해석기(240)는 상기 이벤트 큐(230)에 등록된 이벤트를 해석하여, 상기 해석된 이벤트를 실행한다.
상기 화면 처리기(250)는 상기 공간 정보 및 이벤트 정보에 기초하여 구성된 3차원 공간을 화면상에 디스플레이한다. 상기 화면 처리기(250)는 다이렉트엑스(directX) 3D 또는 오픈지엘(Open Grapnics Library, OpenGL) 등을 이용하여 3차원 공간을 화면상에 보여준다.
다이렉트엑스는 멀티미디어, 특히 게임 프로그래밍에서 마이크로소프트 플랫폼에서 작업을 위한 응용 프로그램 프로그래밍 인터페이스(Application Programming Interface, API)이며, 오픈지엘은 실리콘 그래픽스사에서 만들어진 산업 표준인 그래픽 라이브러리로 다이렉트엑스와 함께 컴퓨터 그래픽 세계를 양분하고 있다.
상기 이벤트 등록기(260)는 클라이언트 개발자가 발생시키고, 게임 서버의 응답이 불필요하며, 즉각적인 반응이 요구되는 비동기 이벤트(asynchronous event)를 상기 이벤트 큐(230)에 직접 등록할 수도 있다. 즉, 상기 이벤트 등록기(260)는 상기 게임 서버(300)와 동기화가 필요없는 비동기 이벤트를 상기 이벤트 큐(230)에 직접 등록할 수도 있다. 예컨대, 상기 비동기 이벤트에는 버튼 클릭과 같은 윈도우 관련 이벤트가 포함될 수 있다.
상기 이벤트 등록기(260)는 상기 이벤트 발생 여부를 감시하고, 상기 이벤트가 발생하면 상기 발생된 이벤트를 분류하여 이벤트 대상을 결정하며, 상기 결정된 이벤트 대상에 기초하여 이벤트를 구성하며, 상기 구성된 이벤트를 상기 이벤트 큐(230)에 등록할 수 있다.
상기 3차원 랜더링 엔진(210)은 상기 게임 서버(300)로부터 상기 XML 데이터 및 메시(mesh) 데이터를 수신하고, 상기 수신된 XML 데이터 및 메시 데이터를 저장하는 데이터 저장부(270)를 더 포함할 수 있다. 또한, 상기 3차원 랜더링 엔진(210)은 상기 게임 서버로부터 수신된 메시지를 처리하는 메시지 처리기(280)를 더 포함할 수 있다. 상기 메시지는 상기 속성 처리기(220)가 상기 XML 데이터로부터 추출한 메시지일 수 있다.
상기 게임 서버(300)는 정보 통신망을 통하여 상기 게임 클라이언트(200)와 접속되며, 속성 처리기(310) 및 이벤트 처리기(320)를 포함한다. 상기 속성 처리기(310)는 상기 게임 클라이언트(200)로부터 수신된 XML 데이터로부터 공간 정보 및 이벤트 정보를 인식하고, 상기 인식된 공간 정보 및 이벤트 정보를 출력한다. 상기 이벤트 처리기(320)는 상기 게임 서버(300)의 상기 속성 처리기(310)로부터 수신되는 이벤트 정보에 기초하여 응답 이벤트를 결정하고, 상기 결정된 응답 이벤트를 상기 게임 클라이언트(200)에게 알린다.
상기 게임 서버(300)는 데이터 저장부(340) 및 메시지 처리기(330)를 더 포함할 수 있다. 상기 데이터 저장부(340)는 상기 게임 클라이언트(200)로부터 XML 데이터 및 메시 데이터를 수신하고, 상기 수신된 XML 데이터 및 메시 데이터를 저 장할 수 있다. 상기 메시지 처리기(330)는 상기 게임 클라이언트(200)로부터 수신된 메시지를 처리한다. 상기 메시지는 상기 게임 서버(300)의 속성 처리기(310)가 상기 게임 클라이언트(200)로부터 수신된 XML 데이터로부터 추출한 메시지일 수 있다.
도 2는 본 발명의 실시예에 따른 3차원 랜더링 엔진(210)의 이벤트 처리 동작을 나타내는 순서도이다. 도 1 및 도 2를 참조하여, 그 과정을 상세히 설명한다.
상기 3차원 랜더링 엔진(210)은 이벤트 큐(230)를 초기화시킨다(S100). 상기 3차원 랜더링 엔진(210)의 속성 처리기(220)는 XML 데이터를 수신하고(S101), 수신된 XML 데이터로부터 이벤트 정보 수신 여부를 판단하고, 이벤트 정보가 수신되었으면 이벤트 정보를 출력하고, 그렇지 않으면 이벤트 정보 수신 여부를 계속해서 체크한다(S102).
이벤트 등록기(260)는 상기 속성 처리기(220)로부터 출력되는 이벤트 정보에 기초하여 발생되는 이벤트를 이벤트 큐(230)에 등록한다(S103). 이벤트 해석기(240)는 상기 이벤트 큐(230)에 등록된 이벤트를 해석하여, 상기 해석된 이벤트의 발생 여부를 체크한다(S104). 이벤트가 발생되면 상기 이벤트 해석기(240)는 상기 발생된 이벤트가 공간이동 이벤트인지 여부를 체크한다(S105).
상기 발생된 이벤트가 공간이동 이벤트이면 상기 3차원 랜더링 엔진(210)은 새로운 공간 정보를 얻기 위하여 상기 속성 처리기(220)가 다시 XML 데이터를 수신하게 하며(S101), 그렇지 않으면 상기 발생된 이벤트가 종료 이벤트인지를 체크한다(S106). 상기 발생된 이벤트가 종료 이벤트면 상기 이벤트 큐(230)는 등록된 이 벤트를 삭제하고, 이벤트 처리 과정은 종료된다(S107).
상기 발생된 이벤트가 종료 이벤트가 아니면, 상기 이벤트 해석기(240)는 이벤트의 대상을 NPC, 오브젝트, 공간으로 분류하며(S108), 상기 발생된 이벤트에 대응하는 효과나 애니매이션을 적용하고, 그 결과를 이벤트 메시지로 작성하여 에플리케이션에게 알린다(S109).
상기 이벤트 해석기(240)는 상기 발생된 이벤트에 대응하는 이벤트의 발생이 필요한지 여부를 판단하며(S110), 대응하는 이벤트가 필요하면 대응하는 이벤트 메시지를 구성한 다음(S111), 상기 이벤트 메시지가 동기화 이벤트 메시지인지 여부를 판단한다(S112). 대응하는 이벤트가 불필요하면 상기 이벤트 해석기(240)는 상기 이벤트 메시지가 동기화 이벤트 메시지인지를 바로 판단한다(S112).
상기 이벤트 메시지가 동기화 이벤트 메시지이면, 상기 3차원 랜더링 엔진(210)은 동기화 이벤트 메시지를 게임 서버로 전달한다(S113). 상기 이벤트 메시지가 동기화 이벤트 메시지가 아니면, 상기 속성 처리기(220)는 이벤트 정보 수신 여부를 체크한다(S102).
도 3은 윈도우 관련 이벤트 발생시 도 1에 도시된 이벤트 등록기(260)의 동작을 나타내는 순서도이다. 이하에서는 도 1 및 도 3을 참조하여, 그 과정을 상세하게 살펴본다.
이벤트 등록기(260)는 비동기 이벤트인 윈도우 관련 이벤트의 발생 여부를 감시한다(S200). 윈도우 관련 이벤트가 발생하면 상기 이벤트 등록기(260)는 상기 발생된 윈도우 관련 이벤트를 분류하여(S202) 이벤트 대상을 결정하고(S203), 상기 결정된 이벤트 대상에 기초하여 윈도우 관련 이벤트를 구성하며(S204), 상기 구성된 윈도우 관련 이벤트를 상기 이벤트 큐(230)에 등록한다(S205).
발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1은 본 발명의 실시예에 따른 3차원 랜더링 엔진을 나타내는 구성도이다.
도 2는 본 발명의 실시예에 따른 3차원 랜더링 엔진의 이벤트 처리 동작을 나타내는 순서도이다.
도 3은 윈도우 관련 이벤트 발생시 도 1에 도시된 이벤트 등록기의 동작을 나타내는 순서도이다.
Claims (14)
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 3차원 랜더링 엔진에서 이벤트 큐를 초기화시키는 단계(S100);상기 3차원 랜더링 엔진의 속성 처리기는 XML 데이터를 수신하고(S101), 수신된 XML 데이터로부터 이벤트 정보 수신 여부를 판단하고, 이벤트 정보가 수신되었으면 이벤트 정보를 출력하고, 그렇지 않으면 이벤트 정보 수신 여부를 계속해서 체크하는 단계(S102);이벤트 등록기는 상기 속성 처리기로부터 출력되는 이벤트 정보에 기초하여 발생되는 이벤트를 이벤트 큐에 등록하며(S103), 이벤트 해석기는 상기 이벤트 큐에 등록된 이벤트를 해석하여, 상기 해석된 이벤트의 발생 여부를 체크하되(S104), 이벤트가 발생되면 상기 이벤트 해석기는 상기 발생된 이벤트가 공간이동 이벤트인지 여부를 체크하는 단계(S105);상기 발생된 이벤트가 공간이동 이벤트이면 상기 3차원 랜더링 엔진은 새로운 공간 정보를 얻기 위하여 상기 속성 처리기가 다시 XML 데이터를 수신하게 하며(S101), 그렇지 않으면 상기 발생된 이벤트가 종료 이벤트인지를 체크하되(S106), 상기 발생된 이벤트가 종료 이벤트면 상기 이벤트 큐는 등록된 이벤트를 삭제하고, 이벤트 처리 과정은 종료하는 단계(S107);상기 발생된 이벤트가 종료 이벤트가 아니면, 상기 이벤트 해석기는 이벤트의 대상을 NPC, 오브젝트, 공간으로 분류하며(S108), 상기 발생된 이벤트에 대응하는 효과나 애니매이션을 적용하고, 그 결과를 이벤트 메시지로 작성하여 에플리케이션에게 알리는 단계(S109);상기 이벤트 해석기는 상기 발생된 이벤트에 대응하는 이벤트의 발생이 필요한지 여부를 판단하며(S110), 대응하는 이벤트가 필요하면 대응하는 이벤트 메시지를 구성한 다음(S111), 상기 이벤트 메시지가 동기화 이벤트 메시지인지 여부를 판단하되(S112), 대응하는 이벤트가 불필요하면 상기 이벤트 해석기는 상기 이벤트 메시지가 동기화 이벤트 메시지인지를 바로 판단하는 단계(S112);상기 이벤트 메시지가 동기화 이벤트 메시지이면, 상기 3차원 랜더링 엔진은 동기화 이벤트 메시지를 게임 서버로 전달하고(S113), 상기 이벤트 메시지가 동기화 이벤트 메시지가 아니면, 상기 속성 처리기는 이벤트 정보 수신 여부를 체크하는 단계(S102)로 돌아가는 것을 특징으로 하는 3차원 랜더링 방법.
- 제10항에 있어서, 상기 3차원 랜더링 방법은,서버의 응답이 불필요한 비동기 이벤트(asynchronous event)를 상기 이벤트 큐에 직접 등록하는 단계를 더 포함하는 것을 특징으로 하는 3차원 랜더링 방법.
- 제10항에 있어서, 상기 이벤트를 상기 이벤트 큐에 등록하는 단계는,이벤트 등록기에서 비동기 이벤트인 윈도우 관련 이벤트의 발생 여부를 감시하는 단계(S200);상기 윈도우 관련 이벤트가 발생하면, 상기 이벤트 등록기는 발생된 윈도우 관련 이벤트를 분류하여(S202) 이벤트 대상을 결정하는 단계(S203);상기 결정된 이벤트 대상에 기초하여 윈도우 관련 이벤트를 구성하며(S204), 상기 구성된 윈도우 관련 이벤트를 상기 이벤트 큐에 등록하는 단계(S205)를 포함하는 것을 특징으로 하는 3차원 랜더링 방법.
- 제10항에 있어서, 상기 3차원 랜더링 방법은,상기 XML 데이터 및 메시(mesh) 데이터를 수신하고, 상기 수신된 XML 데이터 및 메시 데이터를 저장하는 단계를 더 포함하는 것을 특징으로 하는 3차원 랜더링 방법.
- 제10항에 있어서, 상기 3차원 랜더링 방법은,게임 서버로부터 수신된 메시지를 처리하는 단계를 더 포함하는 것을 특징으로 하는 3차원 랜더링 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080017815A KR100928349B1 (ko) | 2008-02-27 | 2008-02-27 | 엑스엠엘을 이용한 3차원 랜더링 엔진, 시스템, 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080017815A KR100928349B1 (ko) | 2008-02-27 | 2008-02-27 | 엑스엠엘을 이용한 3차원 랜더링 엔진, 시스템, 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090092522A KR20090092522A (ko) | 2009-09-01 |
KR100928349B1 true KR100928349B1 (ko) | 2009-11-23 |
Family
ID=41301074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080017815A KR100928349B1 (ko) | 2008-02-27 | 2008-02-27 | 엑스엠엘을 이용한 3차원 랜더링 엔진, 시스템, 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100928349B1 (ko) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010002384A (ko) * | 1999-06-15 | 2001-01-15 | 정선종 | 3차원 그래픽스 객체의 공유시스템 및 방법 |
KR20050012596A (ko) * | 2003-07-26 | 2005-02-02 | (주)이진공작 | 클라이언트 시스템의 동작 동기화 장치와 방법 및 이를이용한 통신망을 통한 상호 작용 시스템 및 게임방법 |
KR20060002735A (ko) * | 2003-03-27 | 2006-01-09 | 마이크로소프트 코포레이션 | 벡터 그래픽을 위한 마크업 언어 및 객체 모델 |
KR20070003332A (ko) * | 2005-07-01 | 2007-01-05 | 엔에이치엔(주) | 스크립트 언어를 이용한 게임 제작 시스템 및 게임 제작방법 |
-
2008
- 2008-02-27 KR KR1020080017815A patent/KR100928349B1/ko not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010002384A (ko) * | 1999-06-15 | 2001-01-15 | 정선종 | 3차원 그래픽스 객체의 공유시스템 및 방법 |
KR20060002735A (ko) * | 2003-03-27 | 2006-01-09 | 마이크로소프트 코포레이션 | 벡터 그래픽을 위한 마크업 언어 및 객체 모델 |
KR20050012596A (ko) * | 2003-07-26 | 2005-02-02 | (주)이진공작 | 클라이언트 시스템의 동작 동기화 장치와 방법 및 이를이용한 통신망을 통한 상호 작용 시스템 및 게임방법 |
KR20070003332A (ko) * | 2005-07-01 | 2007-01-05 | 엔에이치엔(주) | 스크립트 언어를 이용한 게임 제작 시스템 및 게임 제작방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20090092522A (ko) | 2009-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11500946B2 (en) | Apparatus for providing browsing capability between remote/virtual windows and from remote/virtual windows to conventional hypertext documents | |
US11128633B2 (en) | Microservice deployment | |
US9608893B2 (en) | Methods and systems for parsing data objects | |
CN102265264B (zh) | 用执行环境外的调试工具调试计算机代码的系统和方法 | |
EP0822484A2 (en) | Method and apparatus for enhancing the portability of an object oriented interface among multiple platforms | |
US9361648B2 (en) | Rule authoring for events in a grid environment | |
RU2405190C2 (ru) | Приоритетное связывание | |
US20070226314A1 (en) | Server-based systems and methods for enabling interactive, collabortive thin- and no-client image-based applications | |
EP2579523B1 (en) | Method and device for displaying instant messaging messages | |
KR20060042393A (ko) | 사용자 인터페이스와 데이터 컴포넌트 간의 지능형 맵핑을이용한 무선 애플리케이션 구축 시스템 및 방법 | |
WO2011037804A2 (en) | Message communication of sensor and other data | |
US20210288891A1 (en) | Microservice Generation System | |
US11797571B2 (en) | Interface custom resource definition for stateful service management of clusters | |
US8930888B2 (en) | Modelling serialized object streams | |
KR100752564B1 (ko) | 메시지와 데이터 도메인간의 메타데이터가 정의된 맵핑을이용하여 구성요소 애플리케이션을 구축하는 시스템 및 방법 | |
JP2005025738A (ja) | ウェブ・アプリケーション用の非標準i/oデバイスを使用したデータの入力および出力のための方法、システムおよびコンピュータ読み取り可能媒体 | |
US20120150886A1 (en) | Placeholders returned for data representation items | |
US20130212598A1 (en) | Dependency informer | |
US20150334159A1 (en) | Method, System and Browser for Executing Active Object of Browser | |
KR100928349B1 (ko) | 엑스엠엘을 이용한 3차원 랜더링 엔진, 시스템, 및 방법 | |
US11671516B1 (en) | Importation of analytics cloud content into custom location in destination tenant | |
CN110045961B (zh) | 业务规则的管理方法及管理平台 | |
US7698629B2 (en) | Report layout reference processing | |
US11646938B1 (en) | Communication type registry | |
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 |