KR100820256B1 - Method for realizing effect in game engine and apparatus thereof - Google Patents

Method for realizing effect in game engine and apparatus thereof Download PDF

Info

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

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/00Systems or methods specially adapted for 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

본 발명은 게임 엔진에서 이펙트를 구현하는 방법 및 그 장치에 관한 것이다. 본 발명은 비주얼(Visual)에서 렌더컨텍스트(Rendercontext)를 소유하는 단계와, 뷰(View)에서 상기 렌더컨텍스트의 등록을 상기 비주얼로 요청하는 단계와, 상기 비주얼에 소정의 이펙트를 구현하기 위한 테크닉이 설정된 경우, 상기 비주얼에서 렌더컨텍스트의 등록을 상기 테크닉에 위임하는 단계와, 상기 테크닉에서 상기 비주얼이 소유하는 상기 렌더컨텍스트를 불러오고, 렌더컨텍스트의 등록을 페이즈(Phase)로 요청하는 단계와, 상기 페이즈에서 상기 이펙트에 따라 설정된 변형 데이터에 기초하여 상기 렌더컨텍스트를 변형하는 단계, 및 상기 페이즈에서 상기 변형된 렌더컨텍스트를 상기 뷰에 등록하는 단계를 포함하는 것을 특징으로 하는 이펙트 구현 방법을 제공한다. 따라서, 본 발명은 게임 엔진에서 속성 데이터외에도 렌더링 과정 및 대상을 자유롭게 변경하고, 이를 스크립트로 지원하여 최대한 독립적으로 신속하게 이펙트를 구현할 수 있다. The present invention relates to a method and apparatus for implementing an effect in a game engine. The present invention includes the steps of owning a render context in a visual, requesting the visual for registration of the render context in a view, and a technique for implementing a predetermined effect in the visual. If set, delegating a registration of a render context to the technique in the visual; loading the render context owned by the visual in the technique; requesting a registration of a render context to a phase; Modifying the render context based on the transformation data set according to the effect in the phase, and registering the modified render context in the view in the phase. Therefore, the present invention can freely change the rendering process and the object in addition to the attribute data in the game engine, and can be implemented as a script as quickly and independently as possible by supporting the script.

이펙트, 뷰, 비주얼, 렌더컨텍스트, 테크닉, 페이즈 Effects, Views, Visuals, RenderContext, Techniques, Phases

Description

게임 엔진에서 이펙트를 구현하는 방법 및 그 장치{METHOD FOR REALIZING EFFECT IN GAME ENGINE AND APPARATUS THEREOF}METHOD FOR REALIZING EFFECT IN GAME ENGINE AND APPARATUS THEREOF}

도 1은 본 발명에 따른 게임 엔진에서의 렌더컨텍스트 클래스다이어그램을 나타내는 도면이다.1 is a diagram illustrating a render context class diagram in a game engine according to the present invention.

도 2는 본 발명에 따른 게임 엔진에서 렌더컨텍스트를 수집하는 절차를 나타내는 도면이다.2 is a diagram illustrating a procedure of collecting a render context in a game engine according to the present invention.

도 3은 본 발명에 따른 게임 엔진에서 렌더링을 수행하는 절차를 나타내는 도면이다.3 is a diagram illustrating a procedure of performing rendering in a game engine according to the present invention.

도 4는 본 발명의 일실시예에 따른 이펙트 구현 장치의 구성도를 나타내는 도면이다.4 is a diagram illustrating a configuration of an effect implementing apparatus according to an embodiment of the present invention.

도 5는 본 발명에 따른 게임 엔진에서의 이펙트 관련 클래스 다이어그램을 나타내는 도면이다.5 is a diagram illustrating an effect related class diagram in the game engine according to the present invention.

도 6은 본 발명의 일실시예에 따른 게임 엔진에서 이펙트 구현 방법의 흐름도를 나타내는 도면이다.6 is a flowchart illustrating a method of implementing an effect in a game engine according to an embodiment of the present invention.

도 7은 본 발명에 따른 게임 엔진에서의 이펙트 구현 장치를 구성하는 데 채용될 수 있는 범용 컴퓨터 시스템의 내부 블록도이다.7 is an internal block diagram of a general purpose computer system that may be employed to construct an effect implementing device in a game engine according to the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

100: 기본렌더컨텍스트(BaseRenderContext)100: BaseRenderContext

105: 렌더컨텍스트(RenderContext)105: RenderContext

110, 410: 뷰(View) 120, 420: 비주얼(Visual)110, 410: View 120, 420: Visual

430: 테크닉(Technique) 440: 페이즈(Phase)430: Technique 440: Phase

본 발명은 게임 엔진에서 이펙트를 구현하는 방법 및 그 장치에 관한 것으로, 더욱 상세하게는 비주얼에 이펙트를 구현하기 위한 테크닉이 설정된 경우 테크닉에서 비주얼이 가지는 렌더컨텍스트를 불러와서 페이즈에 렌더컨텍스트 등록을 요청하면 페이즈에서 변형된 렌더컨텍스트를 뷰에 등록하여 이펙트를 구현하는 방법 및 그 장치에 관한 것이다.The present invention relates to a method and an apparatus for implementing an effect in a game engine. More specifically, when a technique for implementing an effect is set in a visual, the technique calls a render context of the visual in a technique and requests a render context to be registered in a phase. The present invention relates to a method and an apparatus for implementing an effect by registering a render context modified in a phase in a view.

일반적으로 3차원 어플리케이션에서는 그래픽 하드웨어의 발전과 더불어 점점 더 다양화된 특수 효과를 지원하게 되고, 그에 따른 효과를 구현하기 위해 많은 속성 데이터를 필요로 한다. In general, three-dimensional applications with the development of graphics hardware support an increasingly diversified special effects, and requires a lot of attribute data to implement the effects.

최신의 그래픽 어플리케이션 프로그래밍 인터페이스(API: Application Programming Interface)에는 속성 데이터를 위한 포맷을 제공하는데 이것을 FX 포맷이라고 한다. Modern graphical application programming interfaces (APIs) provide a format for attribute data, called the FX format.

하지만, 종래 FX 포맷은 단순히 데이터만을 가지는 구조이기 때문에 데이터 외에 렌더링의 과정 및 대상 등을 변경할 수 없는 문제점이 있다. However, since the conventional FX format is simply a structure having only data, there is a problem in that the process and the target of rendering other than the data cannot be changed.

따라서, 게임 엔진에서 종래 FX 포맷을 이용하기 위하여 다양한 효과를 구현하기 위해서는 각 효과에 대한 많은 속성 데이터를 필요로 하기 때문에 시간이 오래 걸리는 문제점이 있다.Therefore, in order to implement various effects in order to use the conventional FX format in the game engine, it requires a long time because a lot of attribute data for each effect is required.

본 발명은 상기와 같은 종래기술을 개선하기 위해 안출된 것으로서, 게임 엔진에서 최대한 독립적으로 신속하게 이펙트를 구현하는 방법 및 그 장치를 제공하는 것을 목적으로 한다. The present invention has been made to improve the prior art as described above, it is an object of the present invention to provide a method and apparatus for quickly implementing the effect as independently as possible in the game engine.

본 발명의 목적은 게임 엔진에서 속성 데이터외에도 렌더링의 과정 및 대상을 자유롭게 변경할 수 있는 FX포맷을 이용하여 이펙트를 구현하는 방법 및 그 장치를 제공하기 위한 것이다.An object of the present invention is to provide a method and an apparatus for implementing an effect using an FX format that can freely change the process and object of rendering in addition to attribute data in a game engine.

본 발명의 다른 목적은 게임 엔진에서 렌더링 파이프라인을 스크립트와 FX 포맷으로 변경 가능한 플렉서블한 구조를 지원하는 이펙트 구현 방법 및 그 장치를 제공하기 위한 것이다.Another object of the present invention is to provide a method and apparatus for implementing an effect that supports a flexible structure in which a rendering pipeline can be changed into a script and an FX format in a game engine.

상기의 목적을 이루고 종래기술의 문제점을 해결하기 위하여, 본 발명은 비주얼(Visual)에서 렌더컨텍스트(Rendercontext)를 소유하는 단계와, 뷰(View)에서 렌더컨텍스트의 등록을 비주얼로 요청하는 단계와, 상기 비주얼에 소정의 이펙트를 구현하기 위한 테크닉이 설정된 경우, 상기 비주얼에서 렌더컨텍스트의 등록을 상기 테크닉에 위임하는 단계와, 상기 테크닉에서 상기 비주얼이 소유하는 렌더컨텍스트 정보를 불러오고, 페이즈(Phase)에 렌더컨텍스트의 등록을 요청하는 단계와, 상기 페이즈에서 상기 이펙트에 따라 설정된 변형 데이터에 기초하여 상기 렌더컨텍스트를 변형하는 단계, 및 상기 페이즈에서 상기 변형된 렌더컨텍스트를 상기 뷰에 등록하는 단계를 포함하는 것을 특징으로 하는 이펙트 구현 방법을 제공한다.In order to achieve the above object and solve the problems of the prior art, the present invention comprises the steps of owning a render context (Visual) in the visual (Visual), requesting the registration of the render context in the view (Visual), If a technique for implementing a predetermined effect is set in the visual, delegating a registration of a render context to the technique in the visual; loading the render context information owned by the visual in the technique; Requesting a registration of a render context at the phase, modifying the render context based on the transformation data set according to the effect at the phase, and registering the modified render context with the view at the phase. It provides a method for implementing an effect, characterized in that.

본 발명의 일측에 따르는 게임 엔진에서의 이펙트를 구현하는 장치는 렌더컨텍스트(Rendercontext) 정보의 등록을 요청하는 뷰(View)와, 상기 뷰로부터 렌더컨텍스트 정보의 등록을 요청 받고, 소정의 이펙트 구현에 따라 상기 렌터컨텍스트 정보의 등록을 위임하는 비주얼(Visual)와, 상기 비주얼로부터 상기 렌더컨텍스트 정보의 등록을 위임 받아 상기 비주얼이 가지는 렌더컨텍스트 정보를 불러오는 테크닉(Technique), 및 상기 테크닉으로부터 상기 렌더컨텍스트 정보의 등록을 요청 받고, 상기 렌더컨텍스트 정보를 변형하고, 상기 변형된 렌더컨텍스트 정보를 상기 뷰에 등록하는 페이즈(Phase)를 포함한다.An apparatus for implementing an effect in a game engine according to an aspect of the present invention includes a view requesting registration of rendercontext information, a request for registration of render context information from the view, and a predetermined effect implementation. A visual for delegating the registration of the render context information, a technique for delegating registration of the render context information from the visual and retrieving render context information possessed by the visual, and the render context information from the technique And a phase for requesting the registration of the information, modifying the render context information, and registering the modified render context information in the view.

본 발명에 따른 FX 포맷은 이펙트, 테크닉, 및 페이즈와 같은 3개의 객체가 관여하며, 속성 데이터 이외에 렌더링의 과정, 대상, 횟수 등과 같은 렌더링 파이프라인의 레벨까지 변화를 줄 수 있다. 본 발명에 따른 이펙트 객체는 추상적인 효과의 단위이고, 테크닉 객체는 구체적인 구현의 단위이고, 페이즈 객체는 그림의 세부 단위이다. The FX format according to the present invention involves three objects, such as effects, techniques, and phases, and can change the level of the rendering pipeline such as the rendering process, the target, the number of times, and the like in addition to the attribute data. An effect object according to the present invention is a unit of abstract effects, a technique object is a unit of concrete implementation, and a phase object is a detailed unit of a picture.

이하에서는 첨부된 도면들을 참조하여 본 발명의 실시예에 따른 게임 엔진에서 이펙트를 구현하는 방법 및 그 장치를 상세히 설명한다.Hereinafter, a method and an apparatus for implementing an effect in a game engine according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 게임 엔진에서 렌더컨텍스트 클래스다이어그램을 나타내는 도면이다.1 is a diagram illustrating a render context class diagram in a game engine according to the present invention.

도 1을 참조하면, 기본 렌더컨텍스트(BaseRenderContext, 100)는 렌더링 상태(state), 재질(shade), 랜더링 커맨드(renderingcommend), 또는 트랜스폼(transform) 등을 포함하고, 렌더링의 정보를 노출시킨다. 상기 랜더링 상태는 투명, 불투명, 투명에서 점점 불투명, 불투명에서 점점 투명 등과 같이 렌더링하기 위한 상태에 대응하는 각종 값들을 포함한다. 상기 재질은 밝기, 텍스쳐 이미지 등을 포함하고, 트랜스폼은 멀리부터 가까운 곳 순으로 그린다든지 하는 원근감의 정보를 포함한다. 따라서, 기본 렌더컨텍스트(100)는 이미지 구현의 대상이 되는 비주얼의 렌더링과 관련한 정보를 의미하며, 비주얼의 렌더링 처리에 관여하여 비주얼에 대한 간접적인 렌더링 처리를 실현할 수 있도록 한다. 그리고, 기본 렌더컨텍스트(100)는 비주얼을 게임 내에서 이미지화(이미지 구현)하는 경우, 상기 비주얼을 어떠한 방식으로 이미지화 할 것인가에 대한 정보를 포함하며, 예컨대 비주얼에 대한 렌더링 수준 정보, 렌더링 질감 정보, 렌더링 밝기 수준 정보, 렌더링 원근 정보 등을 포함함으로써 비주얼의 렌더링 처리에 관여할 수 있다. 기본 렌더컨텍스트(100)는 비주얼(120)과 연관되는 예컨대, 비주얼 작성자에 의해 사전에 생성될 수 있으며, 본 발명의 게임 엔진은 상기 비주얼 작성자에 의해 생성된 최초의 렌더컨텍스트를 이용하여 비주얼(120)에 대한 렌더링 처리를 수행할 수도 있다.Referring to FIG. 1, the base render context 100 includes a rendering state, a material, a rendering command, a transform, and the like, and exposes information of a rendering. The rendering state includes various values corresponding to a state for rendering such as transparent, opaque, increasingly transparent in opacity, increasingly transparent in opacity, and the like. The material includes brightness, texture images, and the like, and the transform contains perspective information such as drawing from far to near. Accordingly, the basic render context 100 refers to information related to rendering of a visual that is an object of image implementation, and may be involved in rendering of the visual to realize indirect rendering of the visual. The basic render context 100 includes information on how to visualize the visual when visualizing the image in the game (image realization). For example, the rendering level information, the rendering texture information, By including rendering brightness level information, rendering perspective information, and the like, it is possible to participate in the rendering process of the visual. The default render context 100 may be generated in advance by, for example, a visual creator associated with the visual 120, and the game engine of the present invention uses the first render context generated by the visual author to visually generate the visual 120 ) Can also be processed for rendering.

렌더컨텍스트(RenderContext, 105)는 구체화된 렌더컨텍스트로서, 형태 정보(T_Type)을 포함한다. 즉, 렌더컨텍스트(105)는 비주얼(120)(비주얼 객체)에 대한 렌더링 수준 정보, 렌더링 질감 정보, 렌더링 밝기 정보, 및 렌더링 원근 정보 중에서 하나 이상의 정보를 포함한다. 소정의 오브젝트를 렌더링하기 위해 비주얼(120)은 렌더컨텍스트(105)를 유지한다.The render context 105 is a materialized render context and includes type information T_Type. That is, the render context 105 includes one or more of rendering level information, rendering texture information, rendering brightness information, and rendering perspective information for the visual 120 (visual object). Visual 120 maintains render context 105 to render a given object.

뷰(View, 110)는 렌더컨텍스트의 등록을 비주얼(Visual, 120)로 요청하고, 상기 등록하고자 하는 렌더컨텍스트를 소팅한다. 즉, 뷰(110)는 게임 어플리케이션으로부터 오브젝트에 대한 렌더링 명령을 수신하고, 상기 오브젝트의 렌더링을 수행하기 위하여 상기 오브젝트의 속성에 대응하는 렌더컨텍스트를 비주얼(120)로 요청한다. 상기 오브젝트는 뷰(110)에 표현되는 객체로서, 일례로 사과, 나무, 사람, 태양, 배경, 그림자, 및 책상 등과 같은 표현 대상을 포함한다. 또한, 상기 오브젝트는 각각의 질감 정보, 밝기 수준 정보, 원근 정보, 및 오브젝트의 종류 등과 같은 속성을 갖고 있으며, 뷰(110)는 상기 오브젝트의 속성을 확인한다. 일례로 뷰(110)는 "어떠한 속성의 오브젝트를 렌더링해야 하는데, 어떠한 렌더컨텐스트가 필요한가?"라는 의미로 상기 렌더컨텍스트의 등록을 비주얼(120)로 요청한다. 상기 게임 어플리케이션은 상기 사전에 생성된 렌더링 순서에 따라 상기 렌더컨텍스트의 실행에 따른 소팅 순서를 결정하고, 이에 따라 상기 렌더컨텍스트는 소팅된다.The view 110 requests the visual context 120 to register the render context and sorts the render context to be registered. That is, the view 110 receives a rendering command for an object from a game application and requests the visual 120 for a render context corresponding to an attribute of the object to perform rendering of the object. The object is an object represented in the view 110, and includes an object to be represented, for example, an apple, a tree, a person, the sun, a background, a shadow, and a desk. In addition, the object has attributes such as texture information, brightness level information, perspective information, and type of the object, and the view 110 confirms the attributes of the object. For example, the view 110 requests the visual 120 to register the render context, meaning "what kind of render content is required to render an object of a certain attribute?". The game application determines the sorting order according to the execution of the render context according to the pre-generated rendering order, and thus the render context is sorted.

비주얼(Visual, 120)은 상기 렌더컨텍스트를 소유하며, 자신이 소유하고 있는 렌더컨텍스트를 뷰(110)에 등록한다. 비쥬얼(120)은 하나 이상의 렌더컨텍스트를 소유할 수도 있다. 즉, 비주얼(120)은 자신이 소유하고 있는 렌더컨텍스트를 확인하여 뷰(110)로부터 수신한 상기 렌더컨텍스트의 등록 요청에 대한 응답으로 상기 렌더컨텍스트를 뷰(110)에게 제공한다. Visual (120) owns the render context and registers the render context owned by the view (110). Visual 120 may own one or more render contexts. That is, the visual 120 checks the render context owned by the visual 120 and provides the render context to the view 110 in response to a request for registering the render context received from the view 110.

도 2는 본 발명에 따른 게임 엔진에서 일반적인 렌더컨텍스트를 수집하는 과정을 나타내는 도면이다.2 is a diagram illustrating a process of collecting a general render context in a game engine according to the present invention.

도 1 및 도 2를 참조하면, 단계(210)에서 뷰(110)는 등록된 모든 비주얼(120)에 대하여 렌더컨텍스트의 등록을 요청한다. 즉, 단계(210)에서 뷰(110)는 게임 어플리케이션으로부터 오브젝트에 대한 렌더링 명령을 수신하고, 상기 오브젝트의 렌더링을 수행하기 위하여 상기 오브젝트의 속성에 대응하는 렌더컨텍스트의 등록을 비주얼(120)로 요청한다.1 and 2, in step 210, the view 110 requests registration of a render context for all registered visuals 120. That is, in step 210, the view 110 receives a rendering command for an object from a game application, and requests the visual 120 to register a render context corresponding to an attribute of the object in order to perform rendering of the object. do.

단계(220)에서 비주얼(120)은 자신이 소유하고 있는 렌더컨텍스트를 뷰(110)에 등록한다. 즉, 단계(220)에서 비주얼(120)은 상기 렌더컨텍스트를 확인하여 뷰(110)로부터 수신한 상기 렌더컨텍스트의 등록 요청에 대한 응답으로 상기 렌더컨텍스트를 뷰(110)에게 제공하여 등록한다. In operation 220, the visual 120 registers a render context owned by the view 110 to the view 110. That is, in operation 220, the visual 120 checks the render context and provides the render context to the view 110 in response to a request for registration of the render context received from the view 110.

도 3은 본 발명에 따른 게임 엔진의 뷰에서 랜더링을 수행하는 절차를 나타내는 도면으로서, 게임 엔진에서 각 뷰에 대해 렌더링을 명령하면, 아래와 같은 순으로 처리된다.3 is a diagram illustrating a procedure of performing rendering in a view of a game engine according to the present invention. When a rendering command is given to each view in the game engine, the following processing is performed.

도 1 내지 도 3을 참조하면, 단계(310)에서 뷰(110)는 상기 게임 엔진으로부터 렌더링 명령에 따라 렌더컨텍스트를 수집한다. 뷰(110)는 도 2에 도시된 것과 같은 렌더컨텍스트의 등록 절차에 따라 상기 렌더컨텍스트를 수집한다. 1 to 3, in step 310, the view 110 collects a render context from the game engine according to a rendering command. The view 110 collects the render context according to the registration procedure of the render context as shown in FIG. 2.

단계(320)에서 뷰(110)는 상기 수집된 렌더컨텍스트에 대한 소팅을 수행한다. In step 320, view 110 performs a sorting on the collected render context.

단계(330)에서 뷰(110)는 상기 소팅된 순으로 렌더컨텍스트의 렌더링커맨드를 호출한다.In step 330 the view 110 calls the render commands of the render context in the sorted order.

단계(340)에서 뷰(110)는 상기 호출된 랜더링커맨드에 따라 렌더링을 수행한다. In step 340, view 110 performs rendering in accordance with the called rendering command.

도 4는 본 발명의 일실시예에 따른 게임 엔진에서의 이펙트 구현 장치의 구성도를 나타내는 도면으로서, 이펙트 구현 장치(400)는 뷰(410), 비주얼(420), 테크닉(430), 및 페이즈(440)를 포함한다.4 is a diagram illustrating a structure of an effect implementing apparatus in a game engine according to an exemplary embodiment of the present invention, wherein the effect implementing apparatus 400 includes a view 410, a visual 420, a technique 430, and a phase. 440.

도 4를 참조하면, 뷰(410)는 비주얼(420)로 렌더컨텍스트(Rendercontext)의 등록을 요청한다. 상기 렌더켄텍스트는 비주얼(420)이 소유하고 있으며, 렌더링을 위한 렌더링 상태, 재질, 렌더링커맨드, 또는 트랜스폼을 포함하는 정보 구조체이다. 뷰(410)는 상기 게임 엔진의 명령에 따라 상기 렌더컨텍스트를 수집하여 소팅을 수행하고, 상기 소팅된 순으로 상기 렌더컨텍스트의 렌더링커맨드를 호출하여 렌더링을 수행한다. Referring to FIG. 4, the view 410 requests a registration of a rendercontext from the visual 420. The renderkentext is owned by the visual 420 and is an information structure including a rendering state, a material, a rendering command, or a transform for rendering. The view 410 performs the sorting by collecting the render context according to the command of the game engine, and performs rendering by calling the render commands of the render context in the sorted order.

비주얼(420)은 뷰(410)로부터 상기 렌더컨텍스트의 등록을 요청 받고, 소정의 이펙트를 구현하기 위한 테크닉이 설정된 경우, 상기 렌더컨텍스트의 등록을 테크닉(430)으로 위임한다. The visual 420 is requested to register the render context from the view 410, and when a technique for implementing a predetermined effect is set, the visual 420 delegates the registration of the render context to the technique 430.

테크닉(430)은 비주얼(420)로부터 상기 렌더컨텍스트의 등록을 위임 받아 비주얼(420)이 소유하는 상기 렌더컨텍스트를 호출한다. 또한, 테크닉(430)은 비주얼(420)이 소유하는 상기 렌더컨텍스트를 복제하고, 페이즈(440)에 상기 복제된 렌더컨텍스트의 등록을 요청한다. The technique 430 delegates registration of the render context from the visual 420 and calls the render context owned by the visual 420. Technique 430 also duplicates the render context owned by visual 420 and requests phase 440 to register the cloned render context.

페이즈(440)는 테크닉(430)으로부터 상기 렌더컨텍스트의 등록을 요청 받고, 상기 렌더컨텍스트를 변형하고, 상기 변형된 렌더컨텍스트를 뷰(410)에 등록한다. 즉, 페이즈(440)는 상기 복제된 렌더컨텍스트에 대해 상기 변형 데이터에 따른 페이즈 속성을 부여한 후 상기 변형된 렌더컨텍스트를 뷰(410)에 등록한다. Phase 440 receives a request for registration of the render context from technique 430, modifies the render context, and registers the modified render context in view 410. That is, the phase 440 assigns a phase attribute according to the modified data to the duplicated render context and then registers the modified render context in the view 410.

도 5는 본 발명에 따른 게임 엔진에서의 이펙트 관련 클래스 다이어그램을 나타내는 도면이다.5 is a diagram illustrating an effect related class diagram in the game engine according to the present invention.

도 5를 참조하면, 고이펙트(GoEffect, 510)는 추상적이고 종합적인 구현 조건 정보를 포함하고, 고테크닉(GoTechnique, 520)은 구체적인 구현 조건 정보를 포함하고, 고페이즈(GoPhase, 530)는 테크닉을 구성하는 세부적인 구현 조건 정보를 포함한다. 고테크닉(520)은 구체적인 구현 조전 정보인 처리 능력 정보 즉, 제작툴 모듈의 하드웨어 성능에 따른 렌더컨텍스트의 렌더링 수준에 관한 정보를 보유한다. 고페이즈(530)는 상기 렌더컨텍스트 등록 요청에 따른 구현 조건 정보로서 렌더링 질감 정보, 렌더링 밝기 수준 정보, 렌더링 원근 정보 등을 포함하며, 상기 렌더컨텍스트에 대한 이펙트 수준을 결정한다. 그리고, 고페이즈(530)는 비주얼의 세부 렌더링 처리에 대한 정보를 구현 조건 정보로 보유하며, 구현 조건 정보에 따라 변환 처리된 렌더컨텍스트를 이용하여 이미지 구현되는 비주얼이 게임 내에서 특징적인 게임 효과를 발휘할 수 있도록 한다. Referring to FIG. 5, the GoEffect 510 includes abstract and comprehensive implementation condition information, the GoTechnique 520 includes specific implementation condition information, and the GoPhase 530 technique. Contains detailed implementation condition information constituting. The high technique 520 holds processing capability information, that is, specific implementation assistance information, that is, information about a rendering context of the render context according to hardware performance of the production tool module. The high phase 530 includes rendering texture information, rendering brightness level information, rendering perspective information, and the like as implementation condition information according to the render context registration request, and determines an effect level for the render context. In addition, the high phase 530 holds information on the detailed rendering process of the visual as implementation condition information, and visuals implemented as an image using a render context converted according to the implementation condition information are used to generate characteristic game effects in the game. Make it work.

본 발명이 적용되는 FX 포맷은 이펙트, 테크닉 및 페이즈의 3개 객체가 관여하며, 단순히 데이터를 제공하는 수동적 역할만 수행하는 것이 아니라 렌더링의 과정, 대상, 횟수 등과 같이 렌더링 파이프라인의 레벨까지 변화를 줄 수 있다. 또한, 본 발명은 스크립트로 지원하여 이펙트 제작을 최대한 독립적으로 신속하게 진행할 수 있다. 이를 구현하기 위해서 본 발명은 게임 엔진의 렌더링 파이프라인을 스크립트와 FX 포맷을 변경 가능한 플렉서블한 구조로 바꾸고, 스크립트언어를 내장하는 전처리 작업을 수행한다. 상기 전처리 작업은 해당 테크닉이 붙을 객체를 선정하는 것이고, 후처리 작업은 복원 또는 연속 효과 시 다리 역할을 수행하는 것이다. The FX format to which the present invention is applied involves three objects, effects, techniques, and phases, and not only plays a passive role of providing data, but also changes the level of the rendering pipeline such as the rendering process, the target, and the number of times. Can give In addition, the present invention can be supported by a script so that the effect production can proceed as quickly and independently as possible. In order to implement this, the present invention converts the rendering engine of the game engine into a flexible structure that can change the script and FX formats, and performs a preprocessing operation of embedding the script language. The preprocessing task is to select an object to which the corresponding technique is to be attached, and the postprocessing task is to serve as a bridge in the restoration or continuous effect.

도 6은 본 발명의 일실시예에 따른 게임 엔진에서 이펙트 구현 방법의 흐름도를 나타내는 도면이다.6 is a flowchart illustrating a method of implementing an effect in a game engine according to an embodiment of the present invention.

도 6을 참조하면, 단계(610)에서 뷰(View)는 렌더컨텍스트(Rendercontext)의 등록을 비주얼(Visual)로 요청한다. 상기 렌더컨텍스트는 상기 비주얼이 소유하고 있으며, 렌더링을 위한 랜더링 상태, 재질, 랜더링커맨드, 또는 트랜스폼을 포함하는 정보 구조체이다. 즉, 단계(610)에서 상기 뷰는 게임 어플리케이션으로부터 오브젝트에 대한 렌더링 명령을 수신하고, 상기 오브젝트의 렌더링을 수행하기 위하여 상기 오브젝트의 속성에 대응하는 렌더컨텍스트의 등록을 상기 비주얼로 요청한다. 상기 오브젝트는 상기 뷰에 표현되는 객체로서, 일례로 사과, 나무, 사람, 태양, 배경, 그림자, 및 책상 등과 같은 표현 대상을 포함한다. 또한, 상기 오브젝트는 각각의 질감 정보, 밝기 수준 정보, 원근 정보, 및 오브젝트의 종류 등과 같은 속성을 갖고 있으며, 상기 뷰는 상기 오브젝트의 속성을 확인한다. 일례로 상기 뷰는 "어떠한 속성의 오브젝트를 렌더링해야 하는데, 어떠한 렌더컨텐스트가 필요한가?"라는 의미로 상기 렌더컨텍스트의 등록을 상기 비주얼로 요청한다. 상기 게임 어플리케이션은 상기 사전에 생성된 렌더링 순서에 따라 상기 렌더컨텍스트의 실행에 따른 소팅 순서를 결정하고, 이에 따라 상기 렌더컨텍스트는 소팅된다.Referring to FIG. 6, in operation 610, the view requests a visual of registration of a rendercontext. The render context is owned by the visual and is an information structure containing a rendering state, a material, a rendering command, or a transform for rendering. That is, in step 610, the view receives a rendering command for an object from a game application, and requests the visual to register a render context corresponding to an attribute of the object in order to perform rendering of the object. The object is an object represented in the view, and includes, for example, an expression object such as an apple, a tree, a person, a sun, a background, a shadow, a desk, and the like. In addition, the object has attributes such as texture information, brightness level information, perspective information, type of object, and the like, and the view identifies the attribute of the object. For example, the view requests registration of the render context to the visual, meaning "what kind of render content is required to render an object of an attribute?" The game application determines the sorting order according to the execution of the render context according to the pre-generated rendering order, and thus the render context is sorted.

단계(620)에서 상기 비주얼은 소정의 이펙트를 구현하기 위한 테크닉이 설정된 경우, 상기 렌더컨텍스트의 등록을 상기 테크닉에 위임한다. 상기 이펙트는 추상적 효과의 단위이며, 상기 테크닉은 구체적 구현 단위이며, 상기 페이즈는 그림의 세부 단위이다. 즉, 단계(620)에서 상기 비주얼은 상기 렌더컨텍스트에 사용자가 원하는 상기 이펙트를 구현되도록 상기 테크닉이 설정되면, 상기 이펙트가 적용된 렌더컨텍스트가 상기 뷰에 등록될 수 있도록 상기 렌더컨텍스트의 등록을 상기 테크닉으로 위임한다.In step 620, the visual delegates registration of the render context to the technique when a technique for implementing a predetermined effect is set. The effect is a unit of abstract effect, the technique is a concrete implementation unit, and the phase is a detailed unit of a picture. That is, in step 620, if the technique is set to implement the effect desired by the user in the render context, the technique registers the render context so that the render context to which the effect is applied is registered in the view. To delegate.

단계(630)에서 상기 테크닉은 상기 비주얼이 소유하는 렌더컨텍스트를 불러오고, 페이즈(Phase)에 상기 렌더컨텍스트의 등록을 요청한다. 상기 테크닉은 상기 렌더컨텍스트의 이펙트를 구현하는 여부에 따라 상기 비주얼에 설정되거나 또는 상기 비주얼로부터 삭제된다. 즉, 상기 테크닉은 상기 렌더컨텍스트에 이펙트를 구현하고자 하는 경우 상기 비주얼에 설정되고, 상기 렌더컨텍스트에 이펙트를 구현하지 않는 경우 상기 비주얼로부터 상기 설정된 테크닉이 삭제된다. 그러므로, 상기 비주얼이 소유하고 있는 렌더컨텍스트에 이펙트를 구현하고자 하는 경우 상기 이펙트에 대응되는 테크닉을 설정하고, 상기 이펙트를 구현하지 않는 경우 해당 테크닉을 삭제한다. In step 630, the technique loads a render context owned by the visual, and requests phase registration of the render context. The technique is set in the visual or deleted from the visual depending on whether the effect of the render context is implemented. That is, the technique is set in the visual when the effect is to be implemented in the render context, and the set technique is deleted from the visual when the effect is not implemented in the render context. Therefore, when the effect is to be implemented in a render context owned by the visual, a technique corresponding to the effect is set, and when the effect is not implemented, the corresponding technique is deleted.

상기 테크닉은 상기 렌더컨텍스트의 이펙트 구현 여부에 따라 상기 비주얼에 설정되거나 또는 상기 비주얼로부터 삭제된다. The technique is set in the visual or deleted from the visual depending on whether the render context implements an effect.

단계(630)는 상기 테크닉에서 상기 비주얼이 소유하는 렌더컨텍스트를 복제하는 단계 및 상기 페이즈에 상기 복제된 렌더컨텍스트의 등록을 요청하는 단계를 포함한다. Step 630 includes duplicating a render context owned by the visual in the technique and requesting the phase to register the duplicated render context.

단계(640)에서 상기 페이즈는 상기 페이즈에 설정된 변형 데이터에 따라 상기 렌더컨텍스트를 변형하고, 상기 변형된 렌더컨텍스트를 상기 뷰에 등록한다. In step 640, the phase transforms the render context according to the transformation data set in the phase, and registers the modified render context in the view.

단계(640)에서 상기 페이즈는 상기 이펙트에 따라 설정된 변형 데이터에 기초하여 상기 렌더컨텍스트를 변형하고, 상기 변형된 렌더컨텍스트를 상기 뷰에 등록한다. 즉, 단계(640)에서 상기 페이즈는 상기 이펙트에 따라 설정된 변형 데이터에 기초하여 부여된 페이즈 속성을 상기 복제된 렌더컨텍스트에 부여하여 상기 렌더컨텍스트를 변형하고, 상기 변형된 렌더컨텍스트를 상기 비주얼을 대신하여 상기 뷰에 등록한다. 이처럼 상기 페이즈는 상기 렌더컨텍스트에 상기 이펙트를 구현하기 위한 소정의 변형을 가하고, 상기 변형된 렌더컨텍스트를 상기 비주얼을 대신하여 상기 뷰에 등록할 수 있다.In step 640, the phase transforms the render context based on the transformation data set according to the effect, and registers the modified render context in the view. That is, in step 640, the phase modifies the render context by applying a given phase attribute to the duplicated render context based on the transform data set according to the effect, and replaces the transformed render context with the visual. Register with the view. As such, the phase may apply a predetermined modification to the render context to implement the effect, and register the modified render context in the view on behalf of the visual.

이와 같이, 상기 테크닉 및 상기 페이즈가 일반적인 비주얼이 소유하는 렌더컨텍스트를 가져와서 다양한 변형을 가하고, 상기 비주얼을 대신해 상기 변형된 렌더컨텍스트를 요청한 상기 뷰로 등록하기 때문에 단순히 비주얼에 의한 등록과 다른 특수 효과를 제공할 수 있다. 상기 테크닉은 모든 비주얼에 항시 자유롭게 붙이거나 삭제될 수 있는 것으로 이것을 통해 플러그블(pluggable)한 특수 효과를 지원할 수 있다.As such, the technique and phase take a render context owned by a general visual, make various modifications, and register the modified render context with the view requesting the visual instead of simply registering the visual and other special effects. Can provide. The technique can be freely attached or deleted at all times at any time, thereby supporting pluggable special effects.

상기 뷰는 상기 게임 엔진의 명령에 따라 상기 등록된 렌더컨텍스트를 수집하여 소팅을 수행하고, 상기 소팅된 순으로 상기 렌더컨텍스트의 랜더링커맨드를 호출하여 랜더링을 수행한다. The view performs sorting by collecting the registered render context according to the command of the game engine, and performs rendering by calling the rendering commands of the render context in the sorted order.

또한 본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그 램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.Embodiments of the invention also include computer-readable media containing program instructions for performing various computer-implemented operations. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The medium or program instructions may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. The medium may be a transmission medium such as an optical or metal wire, a waveguide, or the like including a carrier wave for transmitting a signal specifying a program command, a data structure, or the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.

도 7은 본 발명에 따른 게임 엔진에서의 이펙트 구현 장치를 구성하는 데 채용될 수 있는 범용 컴퓨터 시스템의 내부 블록도이다.7 is an internal block diagram of a general purpose computer system that may be employed to construct an effect implementing device in a game engine according to the present invention.

도 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)를 통하여 유선 또는 무선 통신 네트워크에 연결될 수 있다. 이러한 네트워크 연결을 통하여 상기된 방법의 절차를 수행할 수 있다. 상기된 장치 및 도구는 컴퓨터 하드웨어 및 소프트웨어 기술 분야의 당업자에게 잘 알려져 있다.Referring to FIG. 7, the computer system 700 may include one or more processors 701 connected to a main memory including a random access memory (RAM) 720 and a read only memory (ROM) 730. Include. The processor 710 is also called a central processing unit (CPU). As is well known in the art, the ROM 730 serves to transfer data and instructions to the CPU unidirectionally, and the RAM 720 typically transfers data and instructions bidirectionally. Used to. RAM 720 and ROM 730 may include any suitable form of computer readable media. Mass storage 740 is bidirectionally coupled to processor 710 to provide additional data storage capabilities, and may be any of the computer readable recording media described above. The mass storage device 740 is used to store programs, data, and the like, and is typically an auxiliary memory device such as a hard disk which is slower than the main memory device. Certain mass storage devices such as CD ROM 760 may be used. The processor 710 may include one or more input / output interfaces, such as video monitors, trackballs, mice, keyboards, microphones, touchscreen displays, card readers, magnetic or paper tape readers, voice or handwriting readers, joysticks, or other known computer input / output devices. 750 is connected. Finally, the processor 710 may be connected to a wired or wireless communication network through the network interface 770. Through this network connection, the procedure of the method described above can be performed. The apparatus and tools described above are well known to those skilled in the computer hardware and software arts.

상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있다.The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above-described embodiments, which can be variously modified and modified by those skilled in the art to which the present invention pertains. Modifications are possible. Accordingly, the spirit of the present invention should be understood only by the claims set forth below, and all equivalent or equivalent modifications thereof will belong to the scope of the present invention.

본 발명에 따르면, 게임 엔진에서 최대한 독립적으로 신속하게 이펙트를 구현하는 방법 및 그 장치가 제공된다.According to the present invention, a method and apparatus for implementing an effect as quickly as independently as possible in a game engine are provided.

또한 본 발명에 따르면, 게임 엔진에서 속성 데이터외에도 렌더링의 과정 및 대상을 자유롭게 변경할 수 있다.According to the present invention, in addition to the attribute data, the game engine can freely change the rendering process and the object.

또한 본 발명에 따르면, 게임 엔진에서 렌더링 파이프라인을 스크립트와 FX 포맷으로 변경 가능한 플렉서블한 구조로 구현할 수 있다. In addition, according to the present invention, the rendering engine can be implemented in a flexible structure that can change the rendering pipeline in the script and FX format.

또한 본 발명에 따르면, 게임 엔진에서 테크닉이 모든 비주얼에 항상 자유롭게 붙이거나 삭제할 수 있으므로 손쉽게 특수 효과를 지원할 수 있다.In addition, according to the present invention, the technique can be freely attached or deleted at all times in the game engine at any time, it is easy to support the special effects.

Claims (11)

게임 엔진에서 이펙트를 구현하는 방법에 있어서,In how to implement effects in the game engine, 비주얼(Visual)에서 렌더컨텍스트(Rendercontext)를 소유하는 단계;Owning a rendercontext in Visual; 뷰(View)에서 렌더컨텍스트의 등록을 상기 비주얼로 요청하는 단계;Requesting the visual to register a render context in a view; 소정의 이펙트를 구현하기 위한 테크닉이 설정된 경우, 상기 비주얼에서 상기 렌더컨텍스트의 등록을 상기 테크닉으로 위임하는 단계;If a technique for implementing a predetermined effect is set, delegating registration of the render context to the technique in the visual; 상기 테크닉에서 상기 비주얼이 소유하는 상기 렌더컨텍스트를 불러오고, 상기 렌더컨텍스트의 등록을 페이즈(Phase)로 요청하는 단계;Invoking the render context owned by the visual in the technique and requesting a registration of the render context to Phase; 상기 페이즈에서 상기 렌더컨텍스트에 상기 이펙트를 구현하기 위해 설정된 변형 데이터에 따라 상기 렌더컨텍스트를 변형하는 단계; 및Modifying the render context according to transformation data set to implement the effect in the render context in the phase; And 상기 페이즈에서 상기 변형된 렌더컨텍스트를 상기 뷰에 등록하는 단계Registering the modified render context with the view in the phase. 를 포함하는 것을 특징으로 하는 이펙트 구현 방법.Effects implementation method comprising a. 제1항에 있어서,The method of claim 1, 상기 테크닉에서 상기 비주얼이 소유하는 렌더컨텍스트를 불러오고, 상기 렌더컨텍스트의 등록을 페이즈(Phase)로 요청하는 상기 단계는,The step of loading a render context owned by the visual in the technique, and requesting the registration of the render context to Phase, 상기 테크닉에서 상기 비주얼이 가지는 상기 렌더컨텍스트를 복제하는 단계; 및Duplicating the render context of the visual in the technique; And 상기 테크닉에서 상기 복제된 렌더컨텍스트의 등록을 상기 페이즈로 요청하는 단계Requesting the phase to register the duplicated render context in the technique. 를 포함하는 것을 특징으로 하는 이펙트 구현 방법.Effects implementation method comprising a. 제2항에 있어서,The method of claim 2, 상기 렌더컨텍스트를 변형하는 상기 단계는,The step of modifying the render context, 상기 페이즈에서 상기 이펙트에 따라 설정된 변형 데이터에 기초하는 페이즈 속성을 상기 복제된 렌더컨텍스트에 부여하여 상기 렌더컨텍스트를 변형하는 것을 특징으로 하는 이펙트 구현 방법.And modifying the render context by applying a phase attribute based on the transformation data set according to the effect in the phase to the duplicated render context. 제1항에 있어서,The method of claim 1, 상기 페이즈에서 상기 변형된 렌더컨텍스트를 상기 뷰에 등록하는 단계는,Registering the modified render context to the view in the phase, 상기 페이즈에서 상기 변형된 렌더컨텍스트를 상기 비주얼을 대신하여 상기 뷰에 등록하는 것을 특징으로 하는 이펙트 구현 방법.Registering the modified render context in the phase in place of the visual in the phase. 제1항에 있어서,The method of claim 1, 상기 렌더컨텍스트에 상기 이펙트를 구현하는 경우 상기 비주얼에 상기 테크닉을 설정하는 단계 또는 상기 렌더컨텍스트에 상기 이펙트를 구현하지 않는 경우 상기 비주얼로부터 상기 테크닉을 삭제하는 단계를 더 포함하는 것을 특징으로 하는 이펙트 구현 방법.When the effect is implemented in the render context, setting the technique in the visual, or when not implementing the effect in the render context, further comprising deleting the technique from the visual. Way. 제1항에 있어서,The method of claim 1, 상기 렌더컨텍스트는 상기 비주얼이 소유하고 있으며, 렌더링을 위한 렌더링 상태, 재질, 렌더링커맨드, 또는 트랜스폼을 포함하는 정보구조체이고,The render context is owned by the visual and is an information structure including a rendering state, a material, a rendering command, or a transform for rendering. 상기 뷰는 상기 게임 엔진의 명령에 따라 상기 렌더컨텍스트를 수집하여 소팅을 수행하고, 상기 소팅된 순으로 상기 렌더컨텍스트의 렌더링커맨드를 호출하여 렌더링을 수행하는 것을 특징으로 하는 이펙트 구현 방법.And the view collects the render context according to a command of the game engine and performs sorting, and performs rendering by calling render commands of the render context in the sorted order. 제1항 내지 제6항 중 어느 한 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록하는 컴퓨터 판독 가능한 기록매체.A computer-readable recording medium for recording a program for executing the method of any one of claims 1 to 6 on a computer. 게임 엔진에서의 이펙트를 구현하는 장치에 있어서,In a device that implements effects in a game engine, 렌더컨텍스트(Rendercontext)의 등록을 비주얼(Visual)로 요청하는 뷰(View);View for requesting the registration of the render context (Visual) to the visual (Visual); 상기 뷰로부터 렌더컨텍스트의 등록을 요청 받고, 상기 이펙트를 구현함에 따라 상기 렌터컨텍스트의 등록을 테크닉(Technique)으로 위임하는 상기 비주얼;The visual requesting registration of a render context from the view and delegating registration of the render context to a technique as implementing the effect; 상기 비주얼로부터 상기 렌더컨텍스트의 등록을 위임 받아 상기 비주얼이 소유하는 렌더컨텍스트를 불러오고, 상기 비주얼이 소유하는 렌더컨텍스트를 복제하고, 상기 페이즈(Phase)로 상기 복제된 렌더컨텍스트의 등록을 요청하는 상기 테크닉; 및Requesting the registration of the duplicated render context to the phase by retrieving a render context owned by the visual, delegating registration of the render context from the visual, duplicating a render context owned by the visual, and requesting registration of the duplicated render context to the phase; technique; And 상기 테크닉으로부터 상기 렌더컨텍스트의 등록을 요청 받고, 상기 이펙트에 따라 상기 렌더컨텍스트를 변형하고, 상기 변형된 렌더컨텍스트를 상기 뷰에 등록하는 상기 페이즈The phase of requesting registration of the render context from the technique, modifying the render context according to the effect, and registering the modified render context in the view. 를 포함하는 것을 특징으로 하는 이펙트 구현 장치.Effect implementation apparatus comprising a. 삭제delete 제8항에 있어서,The method of claim 8, 상기 페이즈는 상기 이펙트에 따른 변형 데이터의 페이즈 속성을 상기 복제된 렌더컨텍스트에 부여하는 것을 특징으로 하는 이펙트 구현 장치.And the phase imparts a phase attribute of transformed data according to the effect to the duplicated render context. 제8항에 있어서,The method of claim 8, 상기 렌더컨텍스트는 상기 비주얼이 소유하고 있으며, 렌더링을 위한 렌더링 상태, 재질, 렌더링커맨드, 또는 트랜스폼을 포함하는 정보구조체이고,The render context is owned by the visual and is an information structure including a rendering state, a material, a rendering command, or a transform for rendering. 상기 뷰는 상기 게임 엔진의 명령에 따라 상기 렌더컨텍스트를 수집하여 소팅을 수행하고, 상기 소팅된 순으로 상기 렌더컨텍스트의 렌더링커맨드를 호출하여 렌더링을 수행하는 것을 특징으로 하는 이펙트 구현 장치.And the view collects the render context according to a command of the game engine and performs sorting, and performs rendering by calling a render command of the render context in the sorted order.
KR1020050059235A 2005-07-01 2005-07-01 Method for realizing effect in game engine and apparatus thereof KR100820256B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050059235A KR100820256B1 (en) 2005-07-01 2005-07-01 Method for realizing effect in game engine and apparatus thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050059235A KR100820256B1 (en) 2005-07-01 2005-07-01 Method for realizing effect in game engine and apparatus thereof

Publications (2)

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

Family

ID=37870199

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050059235A KR100820256B1 (en) 2005-07-01 2005-07-01 Method for realizing effect in game engine and apparatus thereof

Country Status (1)

Country Link
KR (1) KR100820256B1 (en)

Citations (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
KR20040086043A (en) * 2003-03-27 2004-10-08 마이크로소프트 코포레이션 Visual and scene graph interfaces

Patent Citations (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
KR20040086043A (en) * 2003-03-27 2004-10-08 마이크로소프트 코포레이션 Visual and scene graph interfaces

Also Published As

Publication number Publication date
KR20070003333A (en) 2007-01-05

Similar Documents

Publication Publication Date Title
US7426734B2 (en) Facilitating presentation functionality through a programming interface media namespace
US9620084B2 (en) Method and apparatus of graphical object selection in a web browser
JP5697661B2 (en) Platform extensibility framework
US20200057658A1 (en) Method and system for loading resources
KR101660134B1 (en) Drag and drop of objects between applications
JP4788122B2 (en) Digital content display method and program
CN102221993B (en) The declarative definition of complex user interface Status Change
US20100153968A1 (en) External rendering of clipboard data
US20070055932A1 (en) Application programming interfaces for graphical user interfaces
JP2012084165A (en) Program for causing computer to generate user interface
JP2005108210A5 (en)
US10719970B2 (en) Low latency firmware command selection using a directed acyclic graph
US11094036B2 (en) Task execution on a graphics processor using indirect argument buffers
WO2022242379A1 (en) Stroke-based rendering method and device, storage medium and terminal
CN110990014A (en) Method and device for generating page code of skeleton screen, server and storage medium
JP2000089959A (en) Data processor and data processing method
JPH05197536A (en) Method and system for generating plurality of panel version from single panel definition file
KR100820256B1 (en) Method for realizing effect in game engine and apparatus thereof
US20230385363A1 (en) Web site preview generation based on web site type
TW201443666A (en) System and method for displaying three-dimensional image
US6801225B1 (en) Data storage in ole systems
RU2752777C1 (en) Web browser objects computer-aided magnification and centering
JP7351948B2 (en) Screen control device, screen control method, and screen control program
KR20070003330A (en) Method for rendering objects in game engine and recordable media recording programs for enabling the method
JP2619487B2 (en) File operation method

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