KR20070003333A - 게임 엔진에서 이펙트를 구현하는 방법 및 그 장치 - Google Patents

게임 엔진에서 이펙트를 구현하는 방법 및 그 장치 Download PDF

Info

Publication number
KR20070003333A
KR20070003333A KR1020050059235A KR20050059235A KR20070003333A KR 20070003333 A KR20070003333 A KR 20070003333A KR 1020050059235 A KR1020050059235 A KR 1020050059235A KR 20050059235 A KR20050059235 A KR 20050059235A KR 20070003333 A KR20070003333 A KR 20070003333A
Authority
KR
South Korea
Prior art keywords
render context
visual
render
phase
context
Prior art date
Application number
KR1020050059235A
Other languages
English (en)
Other versions
KR100820256B1 (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 KR1020050059235A priority Critical patent/KR100820256B1/ko
Publication of KR20070003333A publication Critical patent/KR20070003333A/ko
Application granted granted Critical
Publication of KR100820256B1 publication Critical patent/KR100820256B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6692Methods for processing data by generating or executing the game program for rendering three dimensional images using special effects, generally involving post-processing, e.g. blooming

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

본 발명은 게임 엔진에서 이펙트를 구현하는 방법 및 그 장치에 관한 것이다. 본 발명은 뷰(View)에서 비주얼(Visual)로 렌더컨텍스트(Rendercontext) 등록을 요청하는 단계와, 상기 비주얼에 소정의 이펙트를 구현하기 위한 테크닉이 설정된 경우, 상기 비주얼에서 렌더컨텍스트 등록을 상기 테크닉에 위임하는 단계와, 상기 테크닉에서 상기 비주얼이 가지는 렌더컨텍스트를 불러오고, 페이즈(Phase)에 렌더컨텍스트 등록을 요청하는 단계와, 상기 페이즈에서 상기 페이즈에 설정된 변형 데이터에 따라 상기 렌더컨텍스트를 변형하는 단계, 및 상기 페이즈에서 상기 변형된 렌더컨텍스트를 상기 뷰에 등록하는 단계를 포함하는 것을 특징으로 하는 이펙트 구현 방법을 제공한다. 따라서, 본 발명은 게임 엔진에서 속성 데이터외에도 렌더링 과정 및 대상을 자유롭게 변경하고, 이를 스크립트로 지원하여 최대한 독립적으로 신속하게 이펙트를 구현할 수 있다.
이펙트, 뷰, 비주얼, 렌더컨텍스트, 테크닉, 페이즈

Description

게임 엔진에서 이펙트를 구현하는 방법 및 그 장치{METHOD FOR REALIZING EFFECT IN GAME ENGINE AND APPARATUS THEREOF}
도 1은 본 발명에 따른 게임 엔진에서의 렌더컨텍스트 클래스다이어그램을 나타내는 도면이다.
도 2는 본 발명에 따른 게임 엔진에서 렌더컨텍스트를 수집하는 절차를 나타내는 도면이다.
도 3은 본 발명에 따른 게임 엔진에서 렌더링을 수행하는 절차를 나타내는 도면이다.
도 4는 본 발명의 일실시예에 따른 이펙트 구현 장치의 구성도를 나타내는 도면이다.
도 5는 본 발명에 따른 게임 엔진에서의 이펙트 관련 클래스 다이어그램을 나타내는 도면이다.
도 6은 본 발명의 일실시예에 따른 게임 엔진에서 이펙트 구현 방법의 흐름도를 나타내는 도면이다.
도 7은 본 발명에 따른 게임 엔진에서의 이펙트 구현 장치를 구성하는 데 채용될 수 있는 범용 컴퓨터 시스템의 내부 블록도이다.
<도면의 주요 부분에 대한 부호의 설명>
100: 기본렌더컨텍스트(BaseRenderContext)
105: 렌더컨텍스트(RenderContext)
110, 410: 뷰(View) 120, 420: 비주얼(Visual)
430: 테크닉(Technique) 440: 페이즈(Phase)
본 발명은 게임 엔진에서 이펙트를 구현하는 방법 및 그 장치에 관한 것으로, 더욱 상세하게는 비주얼에 이펙트를 구현하기 위한 테크닉이 설정된 경우 테크닉에서 비주얼이 가지는 렌더컨텍스트를 불러와서 페이즈에 렌더컨텍스트 등록을 요청하면 페이즈에서 변형된 렌더컨텍스트를 뷰에 등록하여 이펙트를 구현하는 방법 및 그 장치에 관한 것이다.
일반적으로 3차원 어플리케이션에서는 그래픽 하드웨어의 발전과 더불어 점점 더 다양화된 특수 효과를 지원하게 되고, 그에 따른 효과를 구현하기 위해 많은 속성 데이터를 필요로 한다.
최신의 그래픽 어플리케이션 프로그래밍 인터페이스(API: Application Programming Interface)에는 속성 데이터를 위한 포맷을 제공하는데 이것을 FX 포맷이라고 한다.
하지만, 종래 FX 포맷은 단순히 데이터만을 가지는 구조이기 때문에 데이터 외에 렌더링의 과정 및 대상 등을 변경할 수 없는 문제점이 있다.
따라서, 게임 엔진에서 종래 FX 포맷을 이용하기 위하여 다양한 효과를 구현하기 위해서는 각 효과에 대한 많은 속성 데이터를 필요로 하기 때문에 시간이 오래 걸리는 문제점이 있다.
본 발명은 상기와 같은 종래기술을 개선하기 위해 안출된 것으로서, 게임 엔진에서 최대한 독립적으로 신속하게 이펙트를 구현하는 방법 및 그 장치를 제공하는 것을 목적으로 한다.
본 발명의 목적은 게임 엔진에서 속성 데이터외에도 렌더링의 과정 및 대상을 자유롭게 변경할 수 있는 FX포맷을 이용하여 이펙트를 구현하는 방법 및 그 장치를 제공하기 위한 것이다.
본 발명의 다른 목적은 게임 엔진에서 렌더링 파이프라인을 스크립트와 FX 포맷으로 변경 가능한 플렉서블한 구조를 지원하는 이펙트 구현 방법 및 그 장치를 제공하기 위한 것이다.
상기의 목적을 이루고 종래기술의 문제점을 해결하기 위하여, 본 발명은 뷰(View)에서 비주얼(Visual)로 렌더컨텍스트(Rendercontext) 등록을 요청하는 단계와, 상기 비주얼에 소정의 이펙트를 구현하기 위한 테크닉이 설정된 경우, 상기 비주얼에서 렌더컨텍스트 등록을 상기 테크닉에 위임하는 단계와, 상기 테크닉에서 상기 비주얼이 가지는 렌더컨텍스트를 불러오고, 페이즈(Phase)에 렌더컨텍스트 등록을 요청하는 단계와, 상기 페이즈에서 상기 페이즈에 설정된 변형 데이터에 따라 상기 렌더컨텍스트를 변형하는 단계, 및 상기 페이즈에서 상기 변형된 렌더컨텍스트를 상기 뷰에 등록하는 단계를 포함하는 것을 특징으로 하는 이펙트 구현 방법을 제공한다.
본 발명의 일측에 따르는 게임 엔진에서의 이펙트를 구현하는 장치는 렌더컨텍스트(Rendercontext) 등록을 요청하는 뷰(View)와, 상기 뷰로부터 렌더컨텍스트 등록을 요청 받고, 소정의 이펙트 구현에 따라 상기 렌터컨텍스트 등록을 위임하는 비주얼(Visual)와, 상기 비주얼로부터 상기 렌더컨텍스트 등록을 위임 받아 상기 비주얼이 가지는 렌더컨텍스트를 불러오는 테크닉(Technique), 및 상기 테크닉으로부터 상기 렌더컨텍스트 등록을 요청 받고, 상기 렌더컨텍스트를 변형하고, 상기 변형된 렌더컨텍스트를 상기 뷰에 등록하는 페이즈(Phase)를 포함한다.
본 발명에 따른 FX 포맷은 이펙트, 테크닉, 및 페이즈와 같은 3개의 객체가 관여하며, 속성 데이터 이외에 렌더링의 과정, 대상, 횟수 등과 같은 렌더링 파이프라인의 레벨까지 변화를 줄 수 있다. 본 발명에 따른 이펙트 객체는 추상적인 효과의 단위이고, 테크닉 객체는 구체적인 구현의 단위이고, 페이즈 객체는 그림의 세부 단위이다.
이하에서는 첨부된 도면들을 참조하여 본 발명의 실시예에 따른 게임 엔진에서 이펙트를 구현하는 방법 및 그 장치를 상세히 설명한다.
도 1은 본 발명에 따른 게임 엔진에서 렌더컨텍스트 클래스다이어그램을 나타내는 도면이다.
도 1을 참조하면, 기본 렌더컨텍스트(BaseRenderContext, 100)는 렌더링 상 태(state), 재질(shade), 랜더링커맨드(renderingcommend), 또는 트랜스폼(transform) 등을 포함하고, 렌더링의 정보를 노출시킨다. 상기 랜더링 상태는 투명, 불투명, 투명에서 점점 불투명, 불투명에서 점점 투명 등과 같이 렌더링하기 위한 상태에 대응하는 각종 값들을 포함한다. 상기 재질은 밝기, 텍스쳐 이미지 등을 포함하고, 트랜스폼은 멀리부터 가까운 곳 순으로 그린다든지 하는 원근감의 정보를 포함한다. 따라서, 기본렌더컨텍스트(100)는 이미지 구현의 대상이 되는 비주얼의 렌더링과 관련한 정보를 의미하며, 비주얼의 렌더링 처리에 관여하여 비주얼에 대한 간접적인 렌더링 처리를 실현할 수 있도록 한다. 그리고, 기본렌더컨텍스트(100)는 비주얼을 게임 내에서 이미지화(이미지 구현)하는 경우, 상기 비주얼을 어떠한 방식으로 이미지화 할 것인가에 대한 정보를 포함하며, 예컨대 비주얼에 대한 렌더링 수준 정보, 렌더링 질감 정보, 렌더링 밝기 수준 정보, 렌더링 원근 정보 등을 포함함으로써 비주얼의 렌더링 처리에 관여할 수 있다. 기본렌더컨텍스트(100)는 비주얼(120)과 연관되는 예컨대, 비주얼 작성자에 의해 사전에 생성될 수 있으며, 본 발명의 게임 엔진은 상기 비주얼 작성자에 의해 생성된 최초의 렌더컨텍스트를 이용하여 비주얼에 대한 렌더링 처리를 수행할 수도 있다.
렌더컨텍스트(RenderContext, 105)는 구체화된 렌더컨텍스트로서, 형태 정보(T_Type)을 포함한다.
뷰(View, 110)는 렌더컨텍스트를 요청하고, 상기 렌더컨텍스트를 등록 및 소팅한다.
비주얼(Visual, 120)은 렌더컨텍스트를 소유하며, 자신이 소유하고 있는 렌 더컨텍스트를 뷰(110)에 등록한다. 비쥬얼(120)은 하나 이상의 렌더컨텍스트를 소유할 수도 있다.
도 2는 본 발명에 따른 게임 엔진에서 일반적인 렌더컨텍스트를 수집하는 과정을 나타내는 도면이다.
도 1 및 도 2를 참조하면, 단계(210)에서 뷰(110)는 등록된 모든 비주얼(120)에 대하여 렌더컨텍스트의 등록을 요청한다.
단계(220)에서 비주얼(120)은 자신이 소유하고 있는 렌더컨텍스트를 뷰(110)에 등록한다.
도 3은 본 발명에 따른 게임 엔진의 뷰에서 랜더링을 수행하는 절차를 나타내는 도면으로서, 게임 엔진에서 각 뷰에 대해 렌더링을 명령하면, 아래와 같은 순으로 처리된다.
도 1 내지 도 3을 참조하면, 단계(310)에서 뷰(110)는 상기 게임 엔진으로부터 렌더링 명령에 따라 렌더컨텍스트를 수집한다. 뷰(110)는 도 2에 도시된 것과 같은 렌더컨텍스트의 등록 절차에 따라 상기 렌더컨텍스트를 수집한다.
단계(320)에서 뷰(110)는 상기 수집된 렌더컨텍스트에 대한 소팅을 수행한다.
단계(330)에서 뷰(110)는 상기 소팅된 순으로 렌더컨텍스트의 렌더링커맨드를 호출한다.
단계(340)에서 뷰(110)는 상기 호출된 랜더링커맨드에 따라 렌더링을 수행한다.
도 4는 본 발명의 일실시예에 따른 게임 엔진에서의 이펙트 구현 장치의 구성도를 나타내는 도면으로서, 이펙트 구현 장치(400)는 뷰(410), 비주얼(420), 테크닉(430), 및 페이즈(440)를 포함한다.
도 4를 참조하면, 뷰(410)는 비주얼(420)로 렌더컨텍스트(Rendercontext) 등록을 요청한다. 상기 렌더켄텍스트는 비주얼(420)에 구속되며, 렌더링을 위한 렌더링 상태, 재질, 렌더링커맨드, 또는 트랜스폼을 포함하는 정보 구조체이다. 뷰(410)는 상기 게임 엔진의 명령에 따라 상기 렌더컨텍스트를 수집하여 소팅을 수행하고, 상기 소팅된 순으로 상기 렌더컨텍스트의 렌더링커맨드를 호출하여 렌더링을 수행한다.
비주얼(420)은 뷰(410)로부터 렌더컨텍스트 등록을 요청 받고, 소정의 이펙트를 구현하기 위한 테크닉이 설정된 경우, 상기 렌더컨텍스트 등록을 테크닉(430)으로 위임한다.
테크닉(430)은 비주얼(420)로부터 상기 렌더컨텍스트 등록을 위임 받아 상기 비주얼이 가지는 렌더컨텍스트를 호출한다. 또한, 테크닉(430)은 상기 비주얼이 가지는 렌더컨텍스트를 복제하고, 상기 페이즈에 상기 복제된 렌더컨텍스트의 등록을 요청한다.
페이즈(440)는 테크닉(430)으로부터 상기 렌더컨텍스트 등록을 요청 받고, 상기 렌더컨텍스트를 변형하고, 상기 변형된 렌더컨텍스트를 뷰(410)에 등록한다. 즉, 페이즈(440)는 상기 복제된 렌더컨텍스트에 대해 상기 변형 데이터에 따른 페이즈 속성을 부여한 후 변경된 렌더컨텍스트를 뷰(410)에 등록한다.
도 5는 본 발명에 따른 게임 엔진에서의 이펙트 관련 클래스 다이어그램을 나타내는 도면이다.
도 5를 참조하면, 고이펙트(GoEffect, 510)는 추상적이고 종합적인 구현 조건 정보를 포함하고, 고테크닉(GoTechnique, 520)은 구체적인 구현 조건 정보를 포함하고, 고페이즈(GoPhase, 530)는 테크닉을 구성하는 세부적인 구현 조건 정보를 포함한다. 고테크닉(520)은 구체적인 구현 조전 정보인 처리 능력 정보 즉, 제작툴 모듈의 하드웨어 성능에 따른 렌더컨텍스트의 렌더링 수준에 관한 정보를 보유한다. 고페이즈(530)는 상기 렌더컨텍스트 등록 요청에 따른 구현 조건 정보로서 렌더링 질감 정보, 렌더링 밝기 수준 정보, 렌더링 원근 정보 등을 포함하며, 상기 렌더컨텍스트에 대한 이펙트 수준을 결정한다. 그리고, 고페이즈(530)는 비주얼의 세부 렌더링 처리에 대한 정보를 구현 조건 정보로 보유하며, 구현 조건 정보에 따라 변환 처리된 렌더컨텍스트를 이용하여 이미지 구현되는 비주얼이 게임 내에서 특징적인 게임 효과를 발휘할 수 있도록 한다.
본 발명이 적용되는 FX 포맷은 이펙트, 테크닉 및 페이즈의 3개 객체가 관여하며, 단순히 데이터를 제공하는 수동적 역할만 수행하는 것이 아니라 렌더링의 과정, 대상, 횟수 등과 같이 렌더링 파이프라인의 레벨까지 변화를 줄 수 있다. 또한, 본 발명은 스크립트로 지원하여 이펙트 제작을 최대한 독립적으로 신속하게 진행할 수 있다. 이를 구현하기 위해서 본 발명은 게임 엔진의 렌더링 파이프라인을 스크립트와 FX포맷을 변경 가능한 플렉서블한 구조로 바꾸고, 스크립트언어를 내장하는 전처리 작업을 수행한다. 상기 전처리 작업은 해당 테크닉이 붙을 객체 를 선정하는 것이고, 후처리 작업은 복원 또는 연속 효과 시 다리 역할을 수행하는 것이다.
도 6은 본 발명의 일실시예에 따른 게임 엔진에서 이펙트 구현 방법의 흐름도를 나타내는 도면이다.
도 6을 참조하면, 단계(610)에서 뷰(View)에서 비주얼(Visual)로 렌더컨텍스트(Rendercontext) 등록을 요청한다. 상기 렌더컨텍스트는 비주얼에 귀속되며, 렌더링을 위한 랜더링 상태, 재질, 랜더링커맨드, 또는 트랜스폼을 포함하는 정보 구조체이다.
단계(620)에서 상기 비주얼은 소정의 이펙트를 구현하기 위한 테크닉이 설정된 경우, 렌더컨텍스트 등록을 상기 테크닉에 위임한다.
단계(630)에서 상기 테크닉은 상기 비주얼이 가지는 렌더컨텍스트를 불러오고, 페이즈(Phase)에 렌더컨텍스트 등록을 요청한다.
상기 테크닉은 상기 렌더컨텍스트의 이펙트 구현 여부에 따라 상기 비주얼에 설정되거나 또는 상기 비주얼로부터 삭제된다.
단계(630)은 상기 테크닉에서 상기 비주얼이 가지는 렌더컨텍스트를 복제하는 단계 및 상기 페이즈에 상기 복제된 렌더컨텍스트의 등록을 요청하는 단계를 포함한다.
단계(640)에서 상기 페이즈는 상기 페이즈에 설정된 변형 데이터에 따라 상기 렌더컨텍스트를 변형하고, 상기 변형된 렌더컨텍스트를 상기 뷰에 등록한다.
단계(640)에서 상기 페이즈는 상기 복제된 렌더컨텍스트에 대해 상기 변형 데이터에 따른 페이즈 속성을 부여한다
상기 테크닉 및 상기 페이즈는 상기 렌더컨텍스트에 상기 이펙트를 구현하기 위한 소정의 변형을 가하고, 상기 변형된 렌더컨텍스트를 상기 비주얼을 대신하여 상기 뷰에 등록한다. 이와 같이, 상기 테크닉과 페이즈가 일반적인 비주얼이 가지는 렌더컨텍스트를 가져와서 다양한 변경을 가하고, 그것을 비주얼을 대신해 요청한 상기 뷰로 등록하기 때문에 단순히 비주얼에 의한 등록과 다른 특수 효과를 제공할 수 있다. 상기 테크닉은 모든 비주얼에 항시 자유롭게 붙이거나 삭제될 수 있는 것으로 이것을 통해 플러그블(pluggable)한 특수 효과를 지원할 수 있다.
상기 뷰는 상기 게임 엔진의 명령에 따라 상기 등록된 렌더컨텍스트를 수집하여 소팅을 수행하고, 상기 소팅된 순으로 상기 렌더컨텍스트의 랜더링커맨드를 호출하여 랜더링을 수행한다.
또한 본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그 램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
도 7은 본 발명에 따른 게임 엔진에서의 이펙트 구현 장치를 구성하는 데 채용될 수 있는 범용 컴퓨터 시스템의 내부 블록도이다.
도 7을 참조하면, 컴퓨터 시스템(700)은 램(RAM: Random Access Memory)(720)과 롬(ROM: Read Only Memory)(730)을 포함하는 주기억장치와 연결되는 하나 이상의 프로세서(701)를 포함한다. 프로세서(710)는 중앙처리장치(CPU)로 불리기도 한다. 본 기술분야에서 널리 알려져 있는 바와 같이, 롬(730)은 데이터(data)와 명령(instruction)을 단방향성으로 CPU에 전달하는 역할을 하며, 램(720)은 통상적으로 데이터와 명령을 양방향성으로 전달하는 데 사용된다. 램(720) 및 롬(730)은 컴퓨터 판독 가능 매체의 어떠한 적절한 형태를 포함할 수 있다. 대용량 기억장치(Mass Storage)(740)는 양방향성으로 프로세서(710)와 연결되어 추가적인 데이터 저장 능력을 제공하며, 상기된 컴퓨터 판독 가능 기록 매체 중 어떠한 것일 수 있다. 대용량 기억장치(740)는 프로그램, 데이터 등을 저장하는데 사용되며, 통상적으로 주기억장치보다 속도가 느린 하드디스크와 같은 보조기억장치이다. CD 롬(760)과 같은 특정 대용량 기억장치가 사용될 수도 있다. 프로세서(710)는 비디오 모니터, 트랙볼, 마우스, 키보드, 마이크로폰, 터치스크린 형 디스플레이, 카드 판독기, 자기 또는 종이 테이프 판독기, 음성 또는 필기 인식기, 조이스틱, 또는 기타 공지된 컴퓨터 입출력장치와 같은 하나 이상의 입출력 인터페이스(750)와 연결된다. 마지막으로, 프로세서(710)는 네트워크 인터페이스(770)를 통하여 유선 또는 무선 통신 네트워크에 연결될 수 있다. 이러한 네트워크 연결을 통하여 상기된 방법의 절차를 수행할 수 있다. 상기된 장치 및 도구는 컴퓨터 하드웨어 및 소프트웨어 기술 분야의 당업자에게 잘 알려져 있다.
상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.
본 발명에 따르면, 게임 엔진에서 최대한 독립적으로 신속하게 이펙트를 구현하는 방법 및 그 장치가 제공된다.
또한 본 발명에 따르면, 게임 엔진에서 속성 데이터외에도 렌더링의 과정 및 대상을 자유롭게 변경할 수 있다.
또한 본 발명에 따르면, 게임 엔진에서 렌더링 파이프라인을 스크립트와 FX 포맷으로 변경 가능한 플렉서블한 구조로 구현할 수 있다.
또한 본 발명에 따르면, 게임 엔진에서 테크닉이 모든 비주얼에 항상 자유롭게 붙이거나 삭제할 수 있으므로 손쉽게 특수 효과를 지원할 수 있다.

Claims (11)

  1. 게임 엔진에서 이펙트를 구현하는 방법에 있어서,
    뷰(View)에서 비주얼(Visual)로 렌더컨텍스트(Rendercontext) 등록을 요청하는 단계;
    상기 비주얼에 소정의 이펙트를 구현하기 위한 테크닉이 설정된 경우, 상기 비주얼에서 렌더컨텍스트 등록을 상기 테크닉에 위임하는 단계;
    상기 테크닉에서 상기 비주얼이 가지는 렌더컨텍스트를 불러오고, 페이즈(Phase)에 렌더컨텍스트 등록을 요청하는 단계;
    상기 페이즈에서 상기 페이즈에 설정된 변형 데이터에 따라 상기 렌더컨텍스트를 변형하는 단계; 및
    상기 페이즈에서 상기 변형된 렌더컨텍스트를 상기 뷰에 등록하는 단계
    를 포함하는 것을 특징으로 하는 이펙트 구현 방법.
  2. 제1항에 있어서,
    상기 테크닉에서 상기 비주얼이 가지는 렌더컨텍스트를 불러오고, 페이즈(Phase)에 렌더컨텍스트 등록을 요청하는 상기 단계는,
    상기 테크닉에서 상기 비주얼이 가지는 렌더컨텍스트를 복제하는 단계; 및
    상기 페이즈에 상기 복제된 렌더컨텍스트의 등록을 요청하는 단계
    를 포함하는 것을 특징으로 하는 이펙트 구현 방법.
  3. 제2항에 있어서,
    상기 페이즈에서 상기 페이즈에 설정된 변형 데이터에 따라 상기 렌더컨텍스트를 변형하는 상기 단계는,
    상기 페이즈에서 상기 복제된 렌더컨텍스트에 대해 상기 변형 데이터에 따른 페이즈 속성을 부여하는 단계를 포함하는 것을 특징으로 하는 이펙트 구현 방법.
  4. 제1항에 있어서,
    상기 테크닉 및 상기 페이즈는,
    상기 렌더컨텍스트에 상기 이펙트를 구현하기 위한 소정의 변형을 가하고, 상기 변형된 렌더컨텍스트를 상기 비주얼을 대신하여 상기 뷰에 등록하는 것을 특징으로 하는 이펙트 구현 방법.
  5. 제1항에 있어서,
    상기 테크닉은,
    상기 렌더컨텍스트의 이펙트 구현 여부에 따라 상기 비주얼에 설정되거나 또는 상기 비주얼로부터 삭제되는 것을 특징으로 하는 이펙트 구현 방법.
  6. 제1항에 있어서,
    상기 렌더컨텍스트는 상기 비주얼에 귀속되며, 렌더링을 위한 렌더링 상태, 재질, 렌더링커맨드, 또는 트랜스폼을 포함하는 정보구조체이고,
    상기 뷰는 상기 게임 엔진의 명령에 따라 상기 렌더컨텍스트를 수집하여 소팅을 수행하고, 상기 소팅된 순으로 상기 렌더컨텍스트의 렌더링커맨드를 호출하여 렌더링을 수행하는 것을 특징으로 하는 이펙트 구현 방법.
  7. 제1항 내지 제6항 중 어느 한 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록하는 컴퓨터 판독 가능한 기록매체.
  8. 게임 엔진에서의 이펙트를 구현하는 장치에 있어서,
    렌더컨텍스트(Rendercontext) 등록을 요청하는 뷰(View);
    상기 뷰로부터 렌더컨텍스트 등록을 요청 받고, 소정의 이펙트 구현에 따라 상기 렌터컨텍스트 등록을 위임하는 비주얼(Visual);
    상기 비주얼로부터 상기 렌더컨텍스트 등록을 위임 받아 상기 비주얼이 가지는 렌더컨텍스트를 불러오는 테크닉(Technique); 및
    상기 테크닉으로부터 상기 렌더컨텍스트 등록을 요청 받고, 상기 렌더컨텍스트를 변형하고, 상기 변형된 렌더컨텍스트를 상기 뷰에 등록하는 페이즈(Phase)
    를 포함하는 것을 특징으로 하는 이펙트 구현 장치.
  9. 제8항에 있어서,
    상기 테크닉은 상기 비주얼이 가지는 렌더컨텍스트를 복제하고, 상기 페이즈에 상기 복제된 렌더컨텍스트의 등록을 요청하는 것을 특징으로 하는 이펙트 구현 장치.
  10. 제8항에 있어서,
    상기 페이즈는 상기 복제된 렌더컨텍스트에 대해 상기 변형 데이터에 따른 페이즈 속성을 부여하는 것을 특징으로 하는 이펙트 구현 장치.
  11. 제8항에 있어서,
    상기 렌더컨텍스트는 상기 비주얼에 귀속되며, 렌더링을 위한 렌더링 상태, 재질, 렌더링커맨드, 또는 트랜스폼을 포함하는 정보구조체이고,
    상기 뷰는 상기 게임 엔진의 명령에 따라 상기 렌더컨텍스트를 수집하여 소팅을 수행하고, 상기 소팅된 순으로 상기 렌더컨텍스트의 렌더링커맨드를 호출하여 렌더링을 수행하는 것을 특징으로 하는 이펙트 구현 장치.
KR1020050059235A 2005-07-01 2005-07-01 게임 엔진에서 이펙트를 구현하는 방법 및 그 장치 KR100820256B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050059235A KR100820256B1 (ko) 2005-07-01 2005-07-01 게임 엔진에서 이펙트를 구현하는 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050059235A KR100820256B1 (ko) 2005-07-01 2005-07-01 게임 엔진에서 이펙트를 구현하는 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20070003333A true KR20070003333A (ko) 2007-01-05
KR100820256B1 KR100820256B1 (ko) 2008-04-07

Family

ID=37870199

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050059235A KR100820256B1 (ko) 2005-07-01 2005-07-01 게임 엔진에서 이펙트를 구현하는 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR100820256B1 (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6731288B2 (en) * 2002-03-01 2004-05-04 3Dlabs Inc., Ltd. Graphics engine with isochronous context switching
US7126606B2 (en) * 2003-03-27 2006-10-24 Microsoft Corporation Visual and scene graph interfaces

Also Published As

Publication number Publication date
KR100820256B1 (ko) 2008-04-07

Similar Documents

Publication Publication Date Title
US11210109B2 (en) Method and system for loading resources
JP5697661B2 (ja) プラットフォームの拡張性フレームワーク
US9495722B2 (en) Developer controlled layout
US20070273700A1 (en) Method, system and computer program product for efficiently utilizing limited resources in a graphics device
US10719970B2 (en) Low latency firmware command selection using a directed acyclic graph
WO2005078571A2 (en) A method and graphics subsystem for a computing device
US11094036B2 (en) Task execution on a graphics processor using indirect argument buffers
US11727632B2 (en) Shader binding management in ray tracing
US20190369849A1 (en) Visualizing Execution History With Shader Debuggers
JP7282675B2 (ja) アウトオブオーダキャッシュリターン
CN110990014A (zh) 骨架屏页面代码的生成方法、装置、服务器及存储介质
US20230078878A1 (en) Systems and methods for coordinate-based search
US20230385363A1 (en) Web site preview generation based on web site type
JP2000089959A (ja) デ―タ処理方法及び装置
KR100820256B1 (ko) 게임 엔진에서 이펙트를 구현하는 방법 및 그 장치
CN108845791B (zh) 应用程序代码开发处理方法及装置、可读存储介质、终端
JP2023114595A (ja) 画面制御装置、画面制御方法及び画面制御プログラム
KR20070003330A (ko) 게임 엔진에서 소정의 오브젝트를 렌더링하는 방법 및 상기랜더링 방법을 수행하는 프로그램이 기록된 기록 매체
CN112579991A (zh) 页面数据保护方法、装置、设备及介质
CN114781029A (zh) 一种三维信息模型转换为二维图的方法、系统、存储介质
WO2018020623A1 (ja) 画像処理装置、画像処理方法、および、プログラム
JP2000242519A (ja) シミュレーションシステムおよびシミュレーション方法
JPH0512014A (ja) データ処理装置
JPH0358280A (ja) 注記文字列生成方法
JP2002196959A (ja) データベース管理および装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
E801 Decision on dismissal of amendment
B601 Maintenance of original decision after re-examination before a trial
S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20110404

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130329

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170328

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180328

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190325

Year of fee payment: 12