C++ D3D12与Direct3DCreate9(D3D_SDK_版本)的等价物是什么?

C++ D3D12与Direct3DCreate9(D3D_SDK_版本)的等价物是什么?,c++,directx,direct3d,directx-9,directx-12,C++,Directx,Direct3d,Directx 9,Directx 12,所以我现在正在编写一个D3D12引擎,我想知道D3D12与这个D3D9函数的等价物是什么 direct3D = Direct3DCreate9(D3D_SDK_VERSION); 最接近的等效物是D3D12CreateDevice。例如,它是这样使用的: hr = D3D12CreateDevice( adapter, D3D_FEATURE_LEVEL_11_0, IID_PPV_ARGS( &device ) ); 没有明显的等价物,最接近我的可能是CreateDXGIFacto

所以我现在正在编写一个D3D12引擎,我想知道D3D12与这个D3D9函数的等价物是什么

direct3D = Direct3DCreate9(D3D_SDK_VERSION);

最接近的等效物是D3D12CreateDevice。例如,它是这样使用的:

hr = D3D12CreateDevice( adapter, D3D_FEATURE_LEVEL_11_0, IID_PPV_ARGS( &device ) );

没有明显的等价物,最接近我的可能是
CreateDXGIFactory
,因为它是适配器和输出的访问点


但是如果你问的是这样的问题,d3d12不适合你。除非你已经是一个d3d11,而不是一个每天都在使用AAA图形引擎的专家,否则d3d12不是你想要的。最好还是坚持使用d3d11。

您应该了解Direct3D 12的基本渲染循环和设备创建工作原理。也就是说,似乎您正试图从Direct3D 9直接移植到Direct3D 12,这是不明智的。最接近的可能是dxgi工厂,而不是设备。