Physx의 불안한 미래?

AMD 그래픽 제품 그룹의 기술 마케팅 디렉터인 고프리 쳉(Godfrey Cheng)이 Bit-Tech와의 인터뷰에서 PhysX에 사망선고(?)를 했네요.

AMD says Physx will Die: 원문은 여기에서

Mirror's Edge PC delay down to PhysX 원문의 핵심은 아래로 nVidia의 GPU에서의 물리 기능을 사용하면 nVidia 칩에서만 돌아간다는 이야기입니다. 원문에서는 유사한 예로 과거 "FarCry"의 HDR이나 "Compan of Heroes"의 DX10 포팅을 이야기하고 있습니다.

(...)
Of course the let down is that those with ATI graphics will miss out,as PhysX acceleration on the GPU is still very much an Nvidia exclusiveproperty despite rumours of third party developers porting the API to ATI hardware persisting, although nothing concrete has yet materialised.
(...)

위의 기사 내용을 보니 과거 Novodex에서 Physx에 참여했던 Pierre Terdiman씨가 자신의 블로그에서 NVidia Physx 2.8.1의 발표에 대해서 포스팅한 내용이 떠오릅니다. (혹시 공격 사이트라는 경고가 나올 수도 있는데 무시하시길 -_-)

현재 Physx를 사용하고 있거나 혹은 예정인 경우에는 혼돈스러운 내용일 수도 있겠습니다. 물론 물리 계산에 하드웨어 가속을 이용하지 않는다면야 크게 신경 쓸 내용이 아닐 수도 있겠습니다만 앞으로의 트렌드를 본다면 너무 과감한(?) 결단이겠죠.

Physx 물리 엔진의 대안으로는 Bullet Physics Engine을 고려해 볼 수 있지만 물리 엔진을 대체하는 것만으로는 같은 일이 벌어지지 말라는 법이 없으므로 역시 불안합니다. 그래서 미들웨어 사용시에는 반드시 해당 도메인를 잘 파악한 다음 유연한 인터페이스를  설계하는 것이 중요합니다.(쉽게 이야기하면 래퍼 클래스를 작성하는 일입니다.)

물리 엔진의 경우 PAL과 같은 추상 레이어를 사용하는 것도 좋습니다. 아니면 Nebula3의 물리 엔진 레이어를 참고해서 필요한 추상 레이어를 작성하는 것도 좋습니다. (Nebula3의 물리 추상 레이어는 잘 작성되어 있다고 평가 받고 있는 것 중의 하나입니다. 현재 사용하고 있는 물리 엔진은 ODE입니다.)

이렇게 하면 사용하고 있는 미들웨어를 교체해야 하는 일이 발생하더라도 전체 애플리케이션이 경천동지할 일이 벌어지지는 않습니다. 전체를 엎어야 하는 것이 아니라 물리 엔진 래퍼 아래서만 변경하면 되니까 말입니다.

핵심은 인터페이스가 되는 래퍼 클래스를 만드는 일입니다. 네, 이미 알다시피 잘 만드는 일이 어렵습니다. 그러니까 여기서 이야기하고 싶은 핵심은 무작정 만들기 보다는 기존에 다른 곳에서 작성한 것이나 사용하고 있는 예가 있다면 충분히 살펴 보고 작성하라는 것입니다. ^^

by kimsama | 2009/01/04 15:07 | Development | 트랙백 | 덧글(8)

트랙백 주소 : http://kimsama.egloos.com/tb/1856130
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 김윤정 at 2009/01/04 19:17
으음. 그럼 PhysX 는 사용말고 하복을 사용해야 하는 건가요..
Commented by kimsama at 2009/01/04 21:04
이럴까바 맨 마지막에 한번 더 언급했습니다. ^^ 하복...비쌀텐데요.
Commented by 김용준 at 2009/01/05 10:41
하복은 Intel에서 인수했으니 향후 인텔용 many-core 아키텍처에 최적화 시켜서 오픈시키지 않을까요? ^^
Commented by kimsama at 2009/01/05 11:01
음....글쎄요..지금도 상업용이 아니면 라이브러리 수준에서는 이용이 가능하긴 합니다만...상업적인 이용이 가능한 오픈까지는 모르죠 ㅋ
Commented by 김윤정 at 2009/01/05 23:33
앗 용준 교수님이다.
안녕하세요 저예용.
Commented by 도플광어 at 2009/01/21 19:08
저는 자체적으로 추상레이어를 만들어서 블릿피직스를 사용하고 있는데...
구조가 irrlicht 엔진 처럼 심플해서 맘에들더군요.
Commented by jusias at 2009/03/21 21:15
글을 넘 늦게 봤네요..
하.... 이제 피직스 길 잡아서 좀 재미있게 프로그램 만들고 놀고 있었는데...
뭐... 피직스가 죽으면 다른거 또 시작하면 되겠죠.. (먼산)

흠... 어쨌든 제가 드리고 싶은 말은... 제가 아는거랑 조금 다른거같아서요..
원래 피직스가 nVidia칩에서만 동작하도록 만들어졌었는데.. (그것도 물리가속기가 탑재된 몇 제품)

하드웨어에 구애받지 않고도 작동하도록 했다고.. (아닌가..)
그래서 샘플 프로그램들 보면.. hardware랑 software랑 전환하는게 있는거 아닌가여? = ㅁ=;;

잘못알고 있는거 일수도 있지만...
누리엔이라는 게임이 원래 피직스를 이용해서 만들어서 클로즈배타때는 nVidia측 그래픽카드에서만 작동했었는데...

실제로 오픈할때는 어떻게 했는지 모르겠지만 AMD그래픽카드에서도 돌아가게 했던데...
효과나 그런건 그대로인데 AMD칩도 지원하려면 피직스를 포기하고 다른걸로 다시 만들었거나..

아니면 피직스에서 다른칩도 지원하게 만들었던지...
그런데 전자로 말할거같으면 개발비가 한번 더 들어서.. 후자쪽이 아닐까 생각하는데...

절대 다시 공부하기 싫어서 그런건 아니고(조금은...?) nVidia도 바보가 아니니 잘해주겠져 뭐 = 3=..
그나저나 피직스 버그가 종종 보이네여... -_ㅠ
Commented by kimsama at 2009/03/24 16:33
애초에는 물리 전용 가속칩을 팔 생각으로 공개한거죠. 그러다 시장성이 생각만큼 좋지 않아 여차저차 하다 nvidia에서 인수한 것으로 압니다. 누리엔에서의 동작 관련한 내용은 잘은 모르겠지만 아마 하드웨어적인 지원을 이야기하는 것 같습니다. 그래픽 카드와 관계없이 소프트웨어적인 동작이 보장되기 때문에 일반적인 구동에는 문제가 없는 것으로 알고 있습니다.

좀 먼 미래는 nVidia와 ATI의 싸움이 아니라 nVidia(CUDA)와 Intel(Larrabee)의 대결이 될 것 같습니다. 게임을 만드는 입장에서는 API 레벨이 아니라 PAL 같은 추상적인 레이어 같이 물리 드라이버와의 추상 레이어만 잘 만들어 놓으시면 드라이버 레이어의 변경이 생겨도 큰 문제는 없을 겁니다. ^^

:         :

:

비공개 덧글

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