PhysX를 처음 설치해본지도 한 달이 훌쩍 넘었다. PhysX는 순수 물리 계산만 담당하기 때문에 그래픽 작업, 즉 렌더링 작업을 해줄 녀석이 필요하다. PhysX에서는 OpenGL을 기본적으로 지원하고 있으며, 이는 PhysX SDK를 설치하면 lib 폴더 내에 openGL 라이브러리인 glut.lib 파일이 존재하고 있는 것으로 알 수 있다.
하지만 나는 이런저런 사정으로 인해 DirectX를 공부하게 되었다. 한동안 directxtutorial.com에 소개된 내용을 따라 열심히 익힌 후, glut의 DirectX 버전이라 할 수 있는 dxut를 잠깐 보고 PhysX로 다시 넘어왔다.
그런데 일전에도 언급했는지 모르겠지만 PhysX에서 제공하는 Traing Program의 매뉴얼은 몹시 부실하다. OpenGL 버전으로 먼저 PhysX를 익힌 mocamilk군의 강좌를 따라 간신히 기본 폼은 맞춰볼 수가 있었다. 그런데 렌더링하는 부분에서 문제에 막혔다. 모든 PhysX Tutorial에서 사용하고 있는 Shared_source의 파일들이 OpenGL을 사용하고 있는 것. DirectX를 사용하고 싶으면 Shared_source에서 해주는 일들을 손수 구현해주어야 한다. OTL
내일 필요한 부분만 간단하게 구현할 수 있는지 다시 알아보고, 안되면 OpenGL로 갈아타든지 해야겠다.
하지만 나는 이런저런 사정으로 인해 DirectX를 공부하게 되었다. 한동안 directxtutorial.com에 소개된 내용을 따라 열심히 익힌 후, glut의 DirectX 버전이라 할 수 있는 dxut를 잠깐 보고 PhysX로 다시 넘어왔다.
그런데 일전에도 언급했는지 모르겠지만 PhysX에서 제공하는 Traing Program의 매뉴얼은 몹시 부실하다. OpenGL 버전으로 먼저 PhysX를 익힌 mocamilk군의 강좌를 따라 간신히 기본 폼은 맞춰볼 수가 있었다. 그런데 렌더링하는 부분에서 문제에 막혔다. 모든 PhysX Tutorial에서 사용하고 있는 Shared_source의 파일들이 OpenGL을 사용하고 있는 것. DirectX를 사용하고 싶으면 Shared_source에서 해주는 일들을 손수 구현해주어야 한다. OTL
내일 필요한 부분만 간단하게 구현할 수 있는지 다시 알아보고, 안되면 OpenGL로 갈아타든지 해야겠다.
Trackback 0 And
Comment 3
이렇게 공개된 물리 엔진을 사용하면, 게임 개발자들은 자신이 별도의 물리 엔진을 개발하지 않아도 됩니다. 자신만의 고유한 물리 법칙을 구현할 필요가 없다면 굳이 똑같은 물리 엔진을 만들면서 시간을 낭비할 필요는 없겠죠. 이제부터 NVIDIA가 제공하는 PhysX의 사용법을 하나 둘씩 익혀나갈까 합니다.
1. 다운로드 & 설치
우선 PhysX를 설치해야겠죠. NVIDIA의 Developer Zone으로 가서 PhysX SDK 메뉴를 선택하거나, PhysX SDK Downloads 페이지로 바로 이동하여 SDK를 다운로드 받습니다.
여기서 한 가지 주의할 것은, SDK를 설치하기 전에 PhysX System Software를 먼저 설치해야 한다는 것입니다. PhysX System Software가 설치되어 있지 않으면 PhysX를 사용하는 프로그램을 실행했을 때
SDK create error (1 - NXCE_PHYSX_NOT_FOUND).와 같은 에러를 만나게 됩니다. PhysX System Software는 PhysX SDK Downloads 페이지에서 받을 수 있습니다. System Software와 아래에 있는 PhysX SDK를 받고 순서대로 설치하면 됩니다.
Unable to initialize the PhysX SDK, exiting the sample.
PhysX system software를 설치한 후 SDK를 설치해야 합니다.
PhysX System Software가 설치되지 않았을 때 발생하는 에러 - NXCE_PHYSX_NOT_FOUND
PhysX System Software 설치
PhysX SDK 설치
설치가 완료되면 시작-프로그램에 NVIDIA Corporation이란 폴더가 생기고 PhysX SDK가 설치된 것을 확인할 수 있습니다.
2. 샘플 실행
개발에 대한 내용은 일단 다음으로 미루고 샘플을 실행해 보겠습니다. 샘플은 시작-프로그램-NVIDIA Corporation-PhysX SDK <버전..>-Samples-Executables에서 바로 실행 가능한 것들을 찾을 수 있습니다.
시작 메뉴의 PhysX Samples
저는 제일 위에 있는 SampleActiveTransforms를 선택해 보았습니다. 아래와 같은 화면을 만날 수 있을 겁니다.
SampleActvieTransforms의 초기화면
화면에 아무것도 나타나지 않아 의아하실텐데, 커맨드 창을 보면 사용할 수 있는 키들에 대한 설명이 나옵니다. camera 조작을 위해 방향키와 2, 4, 6, 8, 마우스를 사용할 수 있다는 말과 w, t, s, b 키로 화면에 여러가지 물체들을 만들 수 있다는 설명이 있습니다. s 키를 눌러보았습니다.
SampleActiveTransform에서 S 키를 누른 모습
화면에 사각형 박스들이 삼각형 형태로 놓여진 것을 볼 수 있습니다. 여기서 또 한 번 S 키를 누르면?
S 키를 두 번째 눌렀을 때
같은 영역에 상자들이 만들어지기 때문에 펑~하고 날아가 버립니다. w 키를 누르면 커다란 상자를 날릴 수 있는데 마치 슈팅게임을 하는 듯한 기분이 드네요 ^^ w, t, s, b 키를 번갈아가며 눌러보시는 걸로 오늘의 PhysX 소개는 마치겠습니다. 즐거운 시간 되세요~
Sample로 즐겁게 놀아 보아요~
Trackback 0 And
Comment 2
결국 오늘 현재 이글루스에 걸려진 글들은 모두 티스토리 내에서 삭제했다. 몇몇 새로운 분들이 덧글을 남긴 글들만 남겨둔 상태다. 이글루스 블로그는 이글루스의 길을, 이곳은 티스토리의 길을 걸어가야 할 것이다.
티스토리 블로그는 어떤 식으로 운영할지 결정하지 못했다. 일단은 중복되는 포스팅을 모두 정리했다는 것이 만족스럽다.
Trackback 0 And
Comment 3