게임브리오는 멀티 플랫폼 개발이 가능하도록 구성되어 있다.
실제 PS2, DirectX9, DirectX8, OpenGL 등의 플랫폼에서 소스를 크게 수정하지 않고 동작시킬 수 있다. 마크로만 잘 정의했다면, 소스 수정 없이 동작이 가능하다.
사실 멀티플랫폼 개발이라는 것이 꽤 곤혹스럽다. 한 때, Windows Mobile과 Win32 멀티플랫폼 개발을 해보았는데, 신경써주어야하는 것이 한두가지가 아니었다. 비슷한 플랫폼인데도 상당히 작업이 귀찮고 껄끄러운데, 이종간에는 어떨지 대충은 알 것으로 생각한다.
여하튼 각설하고..
게임브리오를 시작하기 위해서는..
1) 윈도우 생성 로직은 직접 작성해야 한다. NiApplication을 사용하는 방법도 있지만, 그리 권하지는 않는다.
2) 윈도우가 생성되었으면 NiInit() 함수를 불러준다.
3) 윈도우 메시지 루프는 GetMessage 형태에서 PeekMessage 형태로 바꾸는 것을 원칙으로 한다.
-> 쓰레드를 이용해서 기존의 윈도우 메시지 루프는 살려두고 작업해도 무방하다. (그러나 난 이렇게 해 본적이 없었다. 게임브리오 데모 소스는 모두 PeekMessage를 사용했으므로)
4) 메시지 루프를 빠져나오게 되면 NiShutdown() 함수를 호출해주도록 한다.
NiInit 함수는 게임브리오를 초기화하는 함수로, 메모리 부분 등 자체적으로 설정이 필요한 곳의 초기화를 담당한다.
NiShutdown 함수는 게임브리오를 종료하는 함수이다.
일단, 게임브리오 시작하기는 이정도만 하고..
다음에는 Renderer 를 생성하는 방법을 알아보도록 한다.
'Game Engine > Gamebryo' 카테고리의 다른 글
트리구조 (0) | 2011.09.24 |
---|---|
트리구조 (0) | 2011.09.23 |
렌더러 생성 (0) | 2011.09.19 |
스마트포인터 (0) | 2011.09.19 |
Gamebryo 엔진 (1) | 2011.09.16 |
댓글