본문 바로가기

Robotics/Software Tech.

렌더링 엔진 OGRE을 접하다.


* 물리엔진이라고 작성되었것을 렌더링 엔진으로 수정합니다. - 2010.1.20-

ODE(Open Dynamics Engine)는 많이 들어봤는데, 사실 OGRE라는 것은 오늘 처음 알았다. 이미 게임 개발자들은 한번이상은 들어본 렌더링엔진이겠지만 말이다. 인터넷을 검색하여 알게된 정보들중에 물리엔진이 그렇게 많은줄은 몰랐다. 그것도, 상용도 많지만 공개용도 많다는것..
OGRE(Object-Oriented Graphics Rendering Engine)은 LGPL라이센스 적용을 받고 있고 오픈소스이며(오픈소스라고 무조건 무료라는 의미는 아님) OpenGL과 DiretX를 지원한다. (ODE와 OGRE는 서로 다른 기능의 엔진입니다.^^;)

요즘 회사에서 일을 하는데 물리엔진? 렌더링엔진?을 이용해야 할 일이 있었다. 아직 해본것도 아니고, 어떤 엔진이 있는지도 이제야 알았고, 어떻게 사용하는 지도 잘 몰랐고.. 겸사겸사 이런일을 어떻게 효과적으로 처리할 수 있을지 인터넷으로 검색하면서 부터 코드를 내려받아서 보고, 예제를 실행해보고 내 노트북에서 컴파일까지 해보면서, 시작해보게 된 것이다.

일단 OGRE를 선택한 이유는 없다. 다른 렌더링엔진보다 커뮤니티나 문서들, 예제들이 많이 있어서.. 개발에 참고할 수 있는 자료들이 상당히 많다는 것이다. 뭐 다른 렌더링엔진에도 이런것들이 제공되긴 하지만, 이 OGRE가 접근이 쉽다는 이야기를 들어서 일단 OGRE부터 파고보자 한 것이다.

이 물리엔진을 적당히 이용해서, 내가 생각한 로봇을 설계해보고 이것을 다양한 환경에서 가상으로 실행시켜 보면서 가능성을 확인하는데 활용하려고 한다. 내가 생각한 로봇의 운동, 이동방법(locomotion)들을 말이다..
더 넓게는 알고리즘을 이 물리엔진을 이용하여 확인해 볼 수도 있겠다.
(OGRE는 렌더링 엔진으로 가상환경에서의 물리 시뮬레이션을 위해서는 ODE와 같은 물리엔진이 추가적으로 필요한 것이다.)


일단, Visual studio 2008(VC9)이 본인의 노트북에 설치되어 있고...

OGRE SDK를 다운받아야 할 것이다. 처음에는 정확히 모르니 사이트에서 SDK와 소스를 모두 다운받았다.

OGRE 1.6.4 SDK for Visual C++ .Net 2008 (9.0
OGRE 1.6.4 Source For Windows
Visual C++.Net 2008 (9.0) Precompiled Dependencies

그리고, 다운받아야 할 것이 하나 더 있다. 이것을 다운을 다 받고 컴파일을 해보고 난뒤에 안 것인데, NVidia 홈페이지에서 CG 라이브러리를 다운받아서 설치해야 한다는 것이다. 현재 CG 2.0 베타버젼이 공개되어 있다. 이것을 설치하지 않으면 cg.h파일이 없다고 visual studio에서 뭐라한다.

cg 2.0 beta 설치 패키지 download

그리고, 마지막으로 DirectX를 다운받아서 설치해야 한다. 설치하지 않으면 컴파일할때 directx관련된 헤더파일을 찾을수 없다고 visual stduio가 난리칠거다.

http://developer.download.nvidia.com/cg/Cg_2.0/beta/Cg-2.0_Oct2007_Setup.exe

이러면 대충 환경셋팅이 끝난것같다.
그럼.. 이제 컴파일 해보러...... 다다다다...=33