Reflection System of Mangalore

- 리플렉션(Reflection)이란 무엇인가?

- 실제 게임에서는 리플렉션을 어떻게 응용할 수 있는가
   XML 파일을 이용한 직렬화(serialization)
   네트워크를 통한 클래스 객체 전송


리플렉션을 위해 필요한 것
    1) RTTI
    2) Attr


RTTI

C++에서 제공하는 기본 RTTI를 사용하지 않고 직접 커스텀 RTTI 를 작성하는 이유는 퍼로퍼티 시스템 작성을 보다 간단하게 할 수 있는데다 확장도 용이하다. 그리고 리플렉션에 최적화된 코드를 작성할 수 있다는 장점도 있다.


망갈로의 RTTI 시스템은 다음의 내용을 포함한다
  - 클래스 이름
  - unique ID


Attr 객체

영속성(persistence)이 필요한 클래스 멤버들은 Attr 객체를 이용해서 정의한다.

 
참조
[Dominic]Dominic Filion, Artificial Mind & Movement, Using Templates for Reflection in C++, Game Programming Gems 5


@

일반적으로 Property라고 이야기하지만 망갈로에서는 이 프로퍼티(Property)가 속성(Attribute)으로로 컴포넌트(Component)를 Property로 이름 지어서 헷갈리는 것이 흠. 



by kimsama | 2007/07/01 17:05 | Nebula Croquis | 트랙백 | 핑백(1) | 덧글(0)

트랙백 주소 : http://kimsama.egloos.com/tb/1594925
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Linked at East Agent's Blo.. at 2008/12/03 17:09

... 리플렉션과 관련한 내용은 자세하게 정리가 된 글이 있지만 공개 여부는 아직 모르겠습니다. 우선 이전의 비공개글들을 하나씩 정리해서 공개하는 차원에서 포스팅합니다. Reflection of Mangalore 게임과 관련한 리플렉션에 대한 글은 GPG 5권의 "Using Templates for Reflection in C++"에 나와 있지만 기본 지식이 없는 사 ... more

:         :

:

비공개 덧글

◀ 이전 페이지다음 페이지 ▶