I just want to ask if I'm able to develop DX12 games using DX11 supported video card?

Started by
8 comments, last by matt77hias 6 years, 5 months ago

I was searching for it in google but didn't find, I found only about running the program I can if updated drivers. I'm new in DX11, so I want to ask whether DX12 coding is differs from DX11 or only it has better rendering?

I'm just curious in programming

Advertisement

Technically, your PC does not need to be capable of running D3D12 applications in order to program D3D12 applications.

In order to run D3D12 applications,  your OS must be Windows 10. If this is the case, you can use a (very slow) software driver instead of a hardware driver. To use a hardware driver, you must have a GPU which supports D3D12.

D3D12 is not D3D11 with better graphics. The quality and performance of the graphics depends mostly on the internals of the application itself. Though, you can obtain more performant applications with D3D12 (assuming one knows how to use the API properly).

D3D12 is a lower level API than D3D11, so if you consider yourself new to D3D11, don't jump straight into D3D12 (unless you have to due to external parties).

 

🧙

Thanx, answer is very comprehensive, I'm wondering if there are the same functions in dx11 as in dx12 or differs by something.

I'm just curious in programming

6 hours ago, matt77hias said:

Technically, your PC does not need to be capable of running D3D12 applications in order to program D3D12 applications.

In order to run D3D12 applications,  your OS must be Windows 10. If this is the case, you can use a (very slow) software driver instead of a hardware driver. To use a hardware driver, you must have a GPU which supports D3D12.

D3D12 is not D3D11 with better graphics. The quality and performance of the graphics depends mostly on the internals application itself. Though, you can obtain more performant applications with D3D12 (assuming one knows how to use the API properly).

D3D12 is a lower level API than D3D11, so if you consider yourself new to D3D11, don't jump straight into D3D12 (unless you have to due to external parties).

 

Thanx, answer is very comprehensive, I'm wondering if there are the same functions in dx11 as in dx12 or differs by something.

I'm just curious in programming

9 hours ago, pranciskus2 said:

Thanx, answer is very comprehensive, I'm wondering if there are the same functions in dx11 as in dx12 or differs by something.

You have an ID3D11Device and an ID3D12Device but as one can see at MSDN https://msdn.microsoft.com/en-us/library/windows/desktop/dn788650(v=vs.85).aspx the interfaces are different. D3D12 contains many more functions than D3D11 and it doesn't just add them to the existing ones: they are different.

Worth reading: https://stackoverflow.com/a/33991281/1731200 

🧙

4 hours ago, matt77hias said:

You have an ID3D11Device and an ID3D12Device but as one can see at MSDN https://msdn.microsoft.com/en-us/library/windows/desktop/dn788650(v=vs.85).aspx the interfaces are different. D3D12 contains many more functions than D3D11 and it doesn't just add them to the existing ones: they are different.

Worth reading: https://stackoverflow.com/a/33991281/1731200

So what does command DX_Feature_level 10 or 11 (I can't remember how to type exactly)?  If I have written game and changed feature level from 11 to 12 whether my further commands won't work and I couldn't compile it? And I would like to ask how games in options can be changed from dx 11 to 12. Whether developers have to code in dx 11 and dx 12 separately? 

I'm just curious in programming

Yes, if a game allows you to change from DX11 to DX12 they will have two completely different rendering paths, targeting the different APIs.

Feature level 11 and 12, and D3D11 and 12 are very different. Feature level indicates hardware functionality. If you're using D3D11 at feature level 12, that just means you have access to some additional functionality over a feature level 11 device. If you're using D3D12, it's a COMPLETELY different thing compared to D3D11.

5 hours ago, pranciskus2 said:

If I have written game and changed feature level from 11 to 12 whether my further commands won't work and I couldn't compile it? And I would like to ask how games in options can be changed from dx 11 to 12. Whether developers have to code in dx 11 and dx 12 separately?

Short answer: these are completely different APIs and you are not going to be able to reuse chunks of code. If you want to support both, than you basically need a separate D3D11 and D3D12 renderer. Furthermore, given a D3D11 renderer you will have a very hard time supporting a D3D12 renderer. So if you want to support both, then you start with the lowest-level API (D3D12) and try to add the higher level API (D3D11) not the other way around. 

🧙

This topic is closed to new replies.

Advertisement