DirectX 10에서 DirectX 11로 이동


10

DirectX 9를 사용하여 합리적인 수의 소규모 취미 프로젝트를 수행했지만 지금은 DirectX 11로 전환해야합니다.

DirectX 10을 사용하는 3D 프로그래밍에 대한 Frank Luna의 책을 가지고 있지만 DirectX 11에는 아무것도 없습니다. 나는 그것들이 꽤 비슷하다고 생각하지만, 내가 알아야 할 코드 수준에서 주요 차이점을 열거 할 수 있는지 궁금합니다. 또는 기존 소스를 가리 킵니다).



DX10은 DX9와 호환되지 않는 반면 DX10은 DX9와 호환되지 않는다고 들었습니다.
jokoon

DX10은 DX9와는 상당히 다르지만 DX11은 DX10과 상당히 비슷합니다. 차이점이 무엇인지 알고 싶었습니다. 이상하게도 DX11은 DX9 하드웨어와 함께 작동하지만 DX10은 그렇지 않습니다.)
JohnB

답변:


15

SDK 설명서에는 9와 10에서 모두 다루는 11로 마이그레이션하기위한 섹션 이 있습니다. D3D11 기능 페이지있습니다. 있습니다.

10과 11 사이의 API 형태 측면에서 가장 큰 변화 중 하나는 11이 ID3D11DeviceContext새로운 멀티 스레딩 기능을 지원하기 위해 장치 자체에서 장치 컨텍스트 ( 특히) 라는 새로운 인터페이스로 많은 메소드를 이동한다는 것 입니다.

그러나 변경 사항을 알고 나면 다음과 같이 쉽게 적응할 수 있습니다. " someDevice->Draw()" 라는 이름의 10 개 위치 에 장치에 대한 즉각적인 컨텍스트가 표시되고 " "이 (가) 호출 immediateContext->Draw()됩니다. "

또 다른 큰 변화는 Effects API가 핵심에서 벗어나 독자적인 소스 배포판을 작성하여 직접 컴파일하고 연결해야한다는 것입니다. 더 이상 사용되지 않거나 제거 된 일부 D3DX 인터페이스 및 기능을 볼 수도 있습니다.

그 외에도 일부 기능에는 소수의 새로운 매개 변수가 있으며 구조에는 소수의 추가 필드가 있습니다. 예를 들어, 도 11의 버퍼 정보 객체 추가 갖는 StructureByteStride필드 (10)에없는를 , 장치 생성 통과 관련된 기능 레벨 정보. 또한 인터페이스 이름에 명백하고 앞서 언급 한 변경 사항이 있습니다 (10은 11로 대체 됨).


고마워, 내가 필요한 것만 나는 무엇이 바뀌 었는지에 대한 공식적인 가이드를 찾았지만 어떻게 든 그것을 찾지 못했습니다. 이 답변과 시간을내어 좋은 답변을 도와
주신

그 물건을 빨리 잊어 버리는 것은 재밌습니다. 나는 특히 효과 편집을 싫어했고 효과를 내기까지 며칠이 걸렸습니다. 그러나 나는 그것을 내 대답에 포함시키지 않았다 ...
Notabene

나는 이것을 질문으로 게시하려고했지만 귀하의 답변은 이미 확인하고 싶지만 대부분의 관심사를 다루고 있음을 깨달았습니다. DX9로만 작업했지만 지식을 업그레이드하려는 사람에게 DX11 책고르면 DX11 에 대해 가르쳐 줄뿐만 아니라 필요한 경우 DX10에 대해 작업 할 수있는 충분한 지식을 얻을 수 있습니까?
David Gouveia

예, 거의 요

1

DX11에서 DXFont가 사라 졌다는 것의 주된 차이점은 notabene이 말한 것 이외의 것입니다. 그 DX10 책에 문제가 없을 것입니다. DX11로 옮길 때 사용했지만 아무런 문제가 없었습니다. 때때로 때때로 msdn을 살펴 봐야 할 것입니다. API에 약간의 차이가 있습니다.


1

변경할 필요가 없습니다. Directx11은 새로운 기능 만 추가합니다. ID3D10에서 ID3D11 등으로 숫자를 변경하면됩니다.


DirectX11은 그래픽 파이프 라인 (CUDA 또는 openCL에 대해서는 말할 수 없음)과 GPGPU 용 API (Hyd tHation에 대해 이야기하지 않는 경우) Direct Compute : API를 추가합니다. 그리고 픽셀 쉐이더에 여러 개의 RW 텍스처와 버퍼가있을 가능성이있어 많은 새로운 가능성이 열립니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.