PhysX와 DirectX를 같이 써보려다 좌절

|
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로 갈아타든지 해야겠다.
Trackback 0 And Comment 3
  1. 제임스디오 2009.06.06 12:33 신고 address edit & del reply

    안녕하세요~ 그라드님

    제 블로그 댓글다신거 보고 방문했습니다.^^

    게임개발자 이신가보네요? 이야~
    저도 개발자인데 SI쪽 일을 하고있구요^^

    이렇게 만나뵙게 되서 반갑습니다.


    아! 질문이 한가지 있는데요

    개인적인 목적으로 D3DQUATERNION, D3DVECTOR 관련해서 공부하려고 하는데 뭐 도움될만 한 자료없을까요?^^

    그럼 좋은 주말 보내시고
    좋은 글들 많이 부탁드리겠습니다~

    • 그라드 2009.06.07 12:04 신고 address edit & del

      게임개발자는 아니구요, 아직 학교에서 공부하는 입장입니다. ^^;; 관련 내용들을 찾기 힘들어서 제가 아는 한도 내에서만 정리하려고 노력중입니다.

      D3DQUATERNION, D3DVECTOR에 대해서 질문해 주셨는데 딱히 아는 것이 없네요;; DX 공부는 주로 directxtutorial.com에서 했습니다. 기초적인 개념에 대한 설명들이 잘 되어 있더군요.

      더 도움이 되어 드리지 못해 죄송합니다 ^^;

  2. 도플광어 2009.09.20 03:54 address edit & del reply

    랜더러가 고민이시면...
    랜더러는 일리히트엔진써보세요.

PhysX SDK의 설치와 실행

|
PhysX는 그래픽과 멀티미디어 관련 장비를 개발, 제조하는 NVIDIA의 물리 엔진 이름입니다. PC 및 콘솔 게임에 실시간 물리 연산을 지원하는 기술이라고 보면 될 것 같네요. 게임에서 물리 연산은 매우 까다로운 부분이기 때문에 계산을 얼마나 효율적이고 빠르게 하느냐가 게임의 속도나 성능에 영향을 줍니다. 그 물리 연산을 담당하는 것이 바로 물리 엔진이죠(물리 엔진과 렌더링 엔진, 사운드, 인공 지능 기술들이 한데 모여 하나의 게임 엔진을 이룹니다). PhysX는 유명한 1인칭 슈팅게임인 Unreal Tournament 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).
Unable to initialize the PhysX SDK, exiting the sample.
와 같은 에러를 만나게 됩니다. PhysX System Software는 PhysX SDK Downloads 페이지에서 받을 수 있습니다. System Software와 아래에 있는 PhysX SDK를 받고 순서대로 설치하면 됩니다.

PhysX Download Page

PhysX system software를 설치한 후 SDK를 설치해야 합니다.


PhysX System Software가 설치되지 않았을 때 발생하는 에러

PhysX System Software가 설치되지 않았을 때 발생하는 에러 - NXCE_PHYSX_NOT_FOUND


PhysX System Software 설치

PhysX System Software 설치


PhysX SDK 설치

PhysX SDK 설치


설치가 완료되면 시작-프로그램에 NVIDIA Corporation이란 폴더가 생기고 PhysX SDK가 설치된 것을 확인할 수 있습니다.

2. 샘플 실행

개발에 대한 내용은 일단 다음으로 미루고 샘플을 실행해 보겠습니다. 샘플은 시작-프로그램-NVIDIA Corporation-PhysX SDK <버전..>-Samples-Executables에서 바로 실행 가능한 것들을 찾을 수 있습니다.

시작 메뉴의 PhysX Samples

시작 메뉴의 PhysX Samples


저는 제일 위에 있는 SampleActiveTransforms를 선택해 보았습니다. 아래와 같은 화면을 만날 수 있을 겁니다.

SampleActvieTransforms의 초기화면

SampleActvieTransforms의 초기화면


화면에 아무것도 나타나지 않아 의아하실텐데, 커맨드 창을 보면 사용할 수 있는 키들에 대한 설명이 나옵니다. camera 조작을 위해 방향키와 2, 4, 6, 8, 마우스를 사용할 수 있다는 말과 w, t, s, b 키로 화면에 여러가지 물체들을 만들 수 있다는 설명이 있습니다. s 키를 눌러보았습니다.

SampleActiveTransform에서 S 키를 누른 모습

SampleActiveTransform에서 S 키를 누른 모습


화면에 사각형 박스들이 삼각형 형태로 놓여진 것을 볼 수 있습니다. 여기서 또 한 번 S 키를 누르면?

S 키를 두 번째 눌렀을 때

S 키를 두 번째 눌렀을 때


같은 영역에 상자들이 만들어지기 때문에 펑~하고 날아가 버립니다. w 키를 누르면 커다란 상자를 날릴 수 있는데 마치 슈팅게임을 하는 듯한 기분이 드네요 ^^ w, t, s, b 키를 번갈아가며 눌러보시는 걸로 오늘의 PhysX 소개는 마치겠습니다. 즐거운 시간 되세요~

Sample로 즐겁게 놀아 보아요~

Sample로 즐겁게 놀아 보아요~


Trackback 0 And Comment 2
  1. 도플광어 2009.09.20 03:55 address edit & del reply

    좋은글잘봤습니다. 퍼갈께요..^^;

  2. 대우 라보르기닙 2015.09.02 16:43 address edit & del reply

    저거로 어떻게 유로트럭 해요? 유튜브에서는 차가 막 부서지던데

티스토리 글 정리

|
원래 사용하던 이글루스에서 가져온 글들로 채워져 있던 티스토리. 그동안 유입되는 경로를 찾아보면 검색을 통해 들어오시는 분들이 대부분이었다. 그런데 검색된 화면을 보면 이글루스와 티스토리 블로그가 모두 노출되어 있었다. 나란히 걸려있는 두 개의 블로그를 보면서 '이건 뭔가 아닌데...'라는 생각이 들었다. 같은 내용의 글이 같은 블로그 이름으로 올라가 있는 것을 보면서 중복된 느낌을 지울 수가 없었기 때문이다.

결국 오늘 현재 이글루스에 걸려진 글들은 모두 티스토리 내에서 삭제했다. 몇몇 새로운 분들이 덧글을 남긴 글들만 남겨둔 상태다. 이글루스 블로그는 이글루스의 길을, 이곳은 티스토리의 길을 걸어가야 할 것이다.

티스토리 블로그는 어떤 식으로 운영할지 결정하지 못했다. 일단은 중복되는 포스팅을 모두 정리했다는 것이 만족스럽다.
Trackback 0 And Comment 3
  1. 2009.04.23 20:17 신고 address edit & del reply

    이글루스에서 넘어오셨군요.
    어쨌든 반가워요. ^^

    • 그라드 2009.04.23 22:28 신고 address edit & del

      이글루스에서 완전히 넘어 온 것은 아니구요, 목적을 다르게 해서 블로깅 할 생각입니다 ^^;
      환영해 주셔서 감사해요~ :)

  2. 아크몬드 2010.02.25 01:40 address edit & del reply

    화이팅입니다..ㅋㅋ

prev | 1 | 2 | 3 | next