답변:
3 년, 1 년 또는 6 개월 내에 게임을 제작할 엔진을 설계할지 여부와 콘솔 포트를 생각하는지 여부에 따라 다릅니다. Direct3D9에서 게임의 360 포트를 버리는 것이 상대적으로 쉽지만 D3D11에서 훨씬 더 많은 작업을 수행해야합니다. 모든 D3D9 하드웨어 일 필요는 없지만 D3D11은 모든 XP 사용자를 잠그는 것을 기억하십시오.
가장 최근의 Steam 설문 조사에 따르면 약 16 %의 사람들이 여전히 Windows XP를 사용하고 있습니다. 당신은 그들을 잘라 여유가 있습니까? 게임이 완료 될 때 어떻게 바뀌 었습니까? 더 높은 수준의 API에 의존하는 기능을 사용 하시겠습니까? 이들은 스스로 대답해야하는 질문입니다.
Direct3D 9는 접근하기가 매우 쉽고 D3D9 게임을 통해 많은 사람들에게 다가 갈 수 있지만 요즘은 특히 PC에서 번호가 매겨져 있습니다. 그 사람들을 타겟팅하는 데 관심이 없다면, 그 점을 거의 지적하지 않아도됩니다.
아, 그리고 DX10을 귀찮게하지 마십시오. DX11 이상으로 사용할 이유가 없습니다. 무리하지 않는 D2D / DirectWrite를 사용하지 않으려는 경우.
물론 DX11에는 취미로 DX9에서 매우 유용한 클래스를 대체 할 수는 없습니다. ID3DXMesh, ID3DXSprite, ID3DXFont와 같은 소스에서 ID3DXEffect를 컴파일해야합니다. Microsoft는 ID3DXFont를 대체하기 위해 DirectWrite를 권장하지만 물론 실제로 DX11이 새로운 Direct2D / DirectWrite 시스템과 호환되는 것을 잊어 버렸습니다. .
tldr : D3D11을 배우십시오.
API의 모양면에서 10과 11의 차이는 매우 작습니다. D3D11을 사용하면 다운 레벨링을 사용하여 D3D9 클래스 하드웨어로 다시 실행되는 D3D11 API에 대한 코드를 작성할 수 있습니다 (그러나 Vista 이상이 여전히 필요합니다). 따라서 새로운 API를 배울 수 있습니다. 어쨌든 깨끗하고 균일합니다.
그러나 Vista 이상이 없거나 XP에서 자신의 코드가 실행되도록하려면 (예 : XP 사용자에게 게임을 배포하기 위해) D3D9를 사용해야합니다. XP 시장은 아마도 축소되고 있기 때문에 가능하다면 11로 가라고 말하고 싶습니다.
3D 프로그래밍에 익숙하지 않고, 특히 COM 및 Windows 프로그래밍에 익숙하지 않다면 지금 DirectX를 배우지 말 것을 강력히 권합니다. 필자의 경험에 따르면 DirectX는 매우 강력한 도구이지만 Windows 프로그래밍, 3D 프로그래밍 및 기타 여러 가지 학습 곡선 외에도 고려해야 할 매우 가파른 학습 곡선이 있습니다. DirectX로 시작하면 상용구 코드 작성에 대한 모든 세부 사항에 압도 감을 느낄 수 있으므로 이에 대해 조언합니다.
대신 3D 프로그래밍에 대한 학습에 더 집중할 수있는 더 간단한 API를 추천합니다. XNA는 꽤 훌륭하며 DirectX 위에 있기 때문에 DirectX로 이동하면 DirectX 학습 곡선을 훨씬 쉽게 활용할 수있는 몇 가지 아이디어가 있습니다.
이제 OpenGL과 같은 3D 프로그래밍 경험이 있고 COM 프로그래밍 방법을 알고 있다면 DirectX 11을 권장합니다. 최신 버전을 제외한 모든 것이 더 이상 사용되지 않으며 경험이 있으면 도움이 될 것입니다. 더 짧은 시간.
그러나 다시 한 번, 실제 경험은 다양하므로 DirectX와 OpenGL, 그리고 원하는 경우 XNA 및 가능한 한 많은 API를 배우는 것이 좋습니다. 이렇게하면 3D 프로그래밍이 다른 도구와 어떻게 작동하는지에 대한 추상 지식을 갖게되며 각 작업에 적합한 도구를 사용할 수 있습니다.
DX11 또는 DX10을 권장합니다. 그 차이는 매우 작습니다. DX11로 더 많은 작업을 수행 할 수 있습니다 (hw 테셀레이션, 더 나은 gpgpu, 픽셀 셰이더의 여러 텍스처로 출력). DirectX 9에는 다른 아키텍처가 있으며 현재 거의 구식이 아닙니다. 현재 게임 개발 산업에 대해 묻는다면 현재 개발 된 PC 게임은 DX9로 죽었습니다.
그러나 나는 말해야합니다 :
api 에 대해 신경 쓰지 마십시오 . 그래픽이 어떻게 작동하는지 이해하면 새로운 api를 배우는 데 최대 한 달이 걸릴 것입니다. 더 짧은 시간.
win xp 시스템을 사용하는 dx9는 단일 코어 기반 시스템이라고 들었습니다. 오래된 기술입니다. 나는 당신에게 dx11을 추천합니다.