KR100928349B1 - 엑스엠엘을 이용한 3차원 랜더링 엔진, 시스템, 및 방법 - Google Patents

엑스엠엘을 이용한 3차원 랜더링 엔진, 시스템, 및 방법 Download PDF

Info

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
Application number
KR1020080017815A
Other languages
English (en)
Other versions
KR20090092522A (ko
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/ko
Publication of KR20090092522A publication Critical patent/KR20090092522A/ko
Application granted granted Critical
Publication of KR100928349B1 publication Critical patent/KR100928349B1/ko

Links

Images

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 or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or 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]

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

3차원 랜더링 엔진이 개시된다. 상기 3차원 랜더링 엔진은 개방형 자료 구조인 XML(eXtensible Markup Language)을 이용하여 정의되는 공간 정보를 이용하여 3차원 공간을 구성하여 표현하며, XML로 정의되는 이벤트 정보를 이용하여 3차원 공간 내에서 이벤트를 실행할 수 있다. 그러므로 상기 3차원 랜더링 엔진을 이용하면 게임 개발에 필요한 시간 및 오류 가능성을 감소시킬 수 있다.
Figure R1020080017815
3차원 랜더링 엔진, XML(eXtensible Markup Language), 공간 정보, 이벤트 정보

Description

엑스엠엘을 이용한 3차원 랜더링 엔진, 시스템, 및 방법{3 dimensional landering engine, system, and method using eXtensible Markup Language}
본 발명은 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 문서를 통하여 정의된 이벤트정보를 기준으로 하여 ‘이벤트 등록기’와 ‘이벤트 처리기’가 구동되는 시스템은 이벤트의 구성에 대한 확장성 부분에서 큰 장점을 가질 수 있다. 예를 들면, 이벤트 특성을 구분하여 이벤트에 따라 공간자체의 이동에 대한 것인지, 동기화 또는 비동기화 이벤트 인지 구분하여 동작하기 편리하다. 이벤트에 대응하는 이벤트를 구성하는 부분에 있어서도 이러한 자기조작성으로 인한 개발의 편리성을 도모할 수 있다. 따라서 이런 시스템을 통하여 개발시간의 단축에 도움을 줄 수 있다.
상기 공간 정보는 게임의 맵(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)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 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차원 랜더링 방법.
  11. 제10항에 있어서, 상기 3차원 랜더링 방법은,
    서버의 응답이 불필요한 비동기 이벤트(asynchronous event)를 상기 이벤트 큐에 직접 등록하는 단계를 더 포함하는 것을 특징으로 하는 3차원 랜더링 방법.
  12. 제10항에 있어서, 상기 이벤트를 상기 이벤트 큐에 등록하는 단계는,
    이벤트 등록기에서 비동기 이벤트인 윈도우 관련 이벤트의 발생 여부를 감시하는 단계(S200);
    상기 윈도우 관련 이벤트가 발생하면, 상기 이벤트 등록기는 발생된 윈도우 관련 이벤트를 분류하여(S202) 이벤트 대상을 결정하는 단계(S203);
    상기 결정된 이벤트 대상에 기초하여 윈도우 관련 이벤트를 구성하며(S204), 상기 구성된 윈도우 관련 이벤트를 상기 이벤트 큐에 등록하는 단계(S205)를 포함하는 것을 특징으로 하는 3차원 랜더링 방법.
  13. 제10항에 있어서, 상기 3차원 랜더링 방법은,
    상기 XML 데이터 및 메시(mesh) 데이터를 수신하고, 상기 수신된 XML 데이터 및 메시 데이터를 저장하는 단계를 더 포함하는 것을 특징으로 하는 3차원 랜더링 방법.
  14. 제10항에 있어서, 상기 3차원 랜더링 방법은,
    게임 서버로부터 수신된 메시지를 처리하는 단계를 더 포함하는 것을 특징으로 하는 3차원 랜더링 방법.
KR1020080017815A 2008-02-27 2008-02-27 엑스엠엘을 이용한 3차원 랜더링 엔진, 시스템, 및 방법 KR100928349B1 (ko)

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)

* Cited by examiner, † Cited by third party
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 엔에이치엔(주) 스크립트 언어를 이용한 게임 제작 시스템 및 게임 제작방법

Patent Citations (4)

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