윈도우에서 DirectX를 쓰면 OpenGL보다 어떤 점이 좋은가요?

나그네나그네의 이미지

충분히 논쟁거리가 될 가능성이 있는 글입니다만 -_-;;;;

정말로 순수하게 '궁금'해서 감히 올려봅니다.

게임업체에서 DirectX를 많이 쓰더군요.

윈도우에서 DirectX를 쓰면 OpenGL보다 어떤 점이 더 좋은가요?

단순히 DirectX을 배우는 사람이 더 많아서인가요?

익명 사용자의 이미지

rOseria의 이미지

기능 상으로는 DirectX와 OpenGL의 차이는 없다시피 합니다만 ...

윈도우 개발환경은 Visual Studio를 많이 사용합니다. 그리고, DirectX SDK에서 기본적으로 지원되는 개발 툴이 Visual Studio이고 여러 가지로 편합니다.

예를 들자면, DirectX Debug 모드로 실행시켰을 때, Visual Studio 출력 창을 통해 Warning 메시지를 띄워준다던가, 오류 났을 때 break 걸어준다던가 하는 등의 기능이 됩니다.

거기다 아무래도 게임쪽 개발 툴은 DirectX 쪽이 여러 가지로 많습니다.
Microsoft에서 제공하는 디버깅 툴 PIX라던가, AMD/ATI의 PerfStudio, Nvidia의 NvPerf HUD 등 .. 전부 DirectX 용 디버깅 툴입니다. - 전부 무료로 제공하며, 특히 NvPerf HUD는 환상의 디버깅 툴이죠.

----
한 발자국, 한 발자국 - 언젠가는 도약하리라 ~

----
한 발자국, 한 발자국 - 언젠가는 도약하리라 ~

bookgekgom의 이미지

만들기가 opengl 보다 편합니다.

그렇다고 더 좋은건 아니죠.

만들어지는 게임들을 보시면 아시겠지만 빨리만든 쓰레기들이 많죠..

ㅎㄷㄷㄷ
----------------------------------------------------------

허접한 페도라 가이드 http://oniichan.shii.org

---------------------------------------------------------------------------------------------------------------
루비 온 레일즈로 만들고 있는 홈페이지 입니다.

http://jihwankim.co.nr

여러 프로그램 소스들이 있습니다.

필요하신분은 받아가세요.

iris의 이미지

더 좁아지면 좁아졌지 더 넓어지는 상황은 오기 어려울 것입니다.

OpenGL의 마지막 성역이라 할 수 있는 3DSMAX나 Maya조차 이제는 D3D 가속을 '기본으로' 지원할
정도입니다. 이들 툴은 굳이 Windows 베이스를 벗어날 필요가 없으니 MS OS에 최적화된
DX 지원을 강화하는 것이 당연합니다.

더군다나 OpenGL 자체의 잘못은 아닙니다만, OpenGL은 그래픽 프로세서의 성능 편차가 꽤나
크게 나타납니다. nVIDIA는 평균 수준은 나오나 AMD(ATI)는 상당히 엉망으로 나옵니다.

=================================

이 세상은 썩어있다!

=================================

이 세상은 썩어있다!
- F도 F시 시가지 정복 프로젝트

홈페이지: 언더그라운드 웹진 18禁.net - www.18gold.net

익명 사용자의 이미지

그래픽카드가 DirectX에 최적화 되어 나오는 경우가 있죠. :)

segfault의 이미지

OpenGL은 크로스 플랫폼입니다. 여러 OS에서 동시에 작동하는 3D 어플리케이션을 작성하는 데는 OpenGL 외의 대안이 없죠.
이 덕분에 비록 윈도에서는 Direct3D에 비해서 확실히 밀리고 있지만 OpenGL은 업계에서 여전히 독보적인 위치를 점할 수 있는 것입니다.

올 연말에 Khronos Group에서 OpenGL 3.0의 스펙을 공개한다고 합니다. 지금까지의 OpenGL 리비젼은 단지 확장만 붙여나가는 수준이었지만 3.0은 OpenGL 사상 최초로 API를 대거 리팩토링한 버젼이 될 것이라고 하네요.
자세한 건 나와 봐야 알겠지만 OpenGL 3.0의 발표로 그래픽스 API 전쟁이 어떤 양상으로 흘러갈 지 흥미롭군요.

----
http://www.planetmono.org

shockyhan의 이미지

OpenGL자체는 DirectX에 비해 간결한 구조의 그래픽 프로그래밍이 가능한 장점이 있지만,
음향이나 조이스틱 등 입력장치를 다루는 부분은 별개의 SDK를 통해 다뤄야 합니다.
DirectX는 DirectInput이나 DirectSound등 각종 SDK가 통합돼 있는 듯(!) 보이죠.
사실 별개의 SDK입니다만 이름이 비슷하다 보니 같은 SDK로 보이는 것 같습니다.
OpenSource 계열에는 비슷한 류로 SDL 등의 라이브러리 들이 있긴 한데, 구입이나
기술 지원, 개발의 편의성 등을 따지다 보면 회사 입장에서는 복잡한 OpenGL류 보다는
DirecX 류쪽을 선호하게 되는것 같습니다.

실제 그래픽 퍼포먼스나 지원하는 하드웨어 가속 기능 등에 대한 차이도 약간 있을거구요.
실제로 OpenGL은 근래 들어서야 개정이 좀 빨라져 2.x 대가 된 것 같습니다만,
몇 년 전 까지만 해도 1.x 대에서 버젼 개정이 상당히 느려서 최신 게임의 구현이나
하드웨어 기능의 충분한 활용이 어려운 문제가 있었죠. 그러다 보니 가뜩이나 윈도우즈
기반 게임은 DirectX로 개발하는 경우가 많았는데, 불과 몇 년 사이에 제작사들이 대부분
DirectX 쪽으로 방향을 굳힌 것 같구요.

지금이야 아무래도 DirectX와 격차를 줄이고 역으로 리드해 가려는 쪽으로 노력하겠지만,
플랫폼 독립적인 게임을 목표로 하는 경우나 기존의 강세가 남아있는 공학 시뮬레이션 쪽이
아니면 게임쪽에서는 좀 힘들지 않을까요?
===========================================================================
Shocky Han
Seoul, Korea.
===========================================================================

===========================================================================
Shocky Han
BIM Consultant, Certified Information Systems Auditor
Seoul, Korea.
===========================================================================

나그네나그네의 이미지

진지한 답변을 달아주신 분들 진심으로 감사드립니다
----------------
agidari.wordpress.com

inhosens의 이미지

요즘은 모르겠지만 Windows Graphics driver의 layer를 보면 openGL가속이 DX를 이용하도록 되어있었습니다.
Windows상에서 OpenGL과 DX의 성능을 비교하는 것은 정확한 결과를 얻기 힘들 것 같습니다.

체스맨의 이미지

윈도상의 게임 분야에서 Direct3D 성능이 더 좋다고 보는 것이 옳을 것입니다. 그리고 DirectSound, DirectShow, DirectInput 등으로 그래픽 처리뿐만 아니라, 사운드, 동영상, 입력(조이스틱 등 )등을 통합적으로 다루고 있는 면에서 윈도나 엑스박스용 게임에서 Direct3D 를 쓰는게 더 유리하겠죠.

하지만, API 자체의 우수성 면에서는 단연 OpenGL 이 뛰어납니다. 그리고, 다양한 플렛폼이 존재하는 임베디드 환경에서는, 그 본연의 목적이 다양한 플렛폼에서 작동하는 것이었던 OpenGL 이 OpenGL ES 표준을 기반으로 좀 더 활발하게 구현되고 있는 것 같습니다. 또한 비게임 분야, 특히 산업용 소프트웨어 분야의 경우는 OpenGL 이 실질적 표준에 해당합니다.

한편으로 OpenAL 라이브러리 개발이 정상 괘도에 오를 수 있다면, OpenGL/OpenAL 조합으로 품질 높은 3D 그래픽 처리와, 3D 음성 처리를 보다 용이하게 구현할 수 있습니다. OpenAL 개발이 부진한 것이 아쉬울 따름이지만요.

그래서, 제가 보기에는 앞으로 어느 쪽이 더 우세할 것이다라고 점치기는 어려울 것 같습니다. 분명히 API 자체는 OpenGL 이 더 우세한 것이 사실이고, Direct3D 는 윈도라는 한계를 극복하기가 너무 어렵기 때문에, 앞으로 그래픽 벤더들이 어떤 행보를 하느냐에 따라 달라지겠지요. 3차원 가속기 분야는 아직 더 가야할 길이 많습니다...

Orion Project : http://orionids.org

yegam400의 이미지

윈도우XP에서 DirectX 10/11을 대체할 방법입니다.
OpenGL은 Extension을 따로 정의하기 때문에 API를 MS가 관리하고 있는 DirectX에 비해 최신기능을 구현하기 쉽다는 장점이 있습니다.

그래서 DirectX 10에 있는 기능을 구현하려면, OpenGL은 드라이버만 최신 드라이버를 깔아서 게임이나 기타 기능을 구현하면 되지만,
DirectX의 경우는 API를 사용하기 위하여 OS를 Vista이상으로 업그레이드 하여야 합니다.

그래서 Customize된 기능을 구현하기 위해서는 제조사에서 특별한 기능 + OpenGL Extension을 추가하여 사용하기도 합니다.(3D, Stereo, Multi Channel 등)
감사합니다.
----
내 블로그: http://yegam400.tistory.com

----
내 블로그: http://yegam400.tistory.com