DirectX 11 - Status
by Lopuska · in Torque 3D Professional · 03/15/2014 (5:02 pm) · 118 replies
Hi All!
Ok, we have cleaned the entire DX9 Layer! thanks to all devs that help and support me.
Now we have a modern DirectX9 layer without fixed function and deprecated functionality.
I think that The DX9 layer was really unmodified since a long time (:
We can talk about DirectX 11...
Here you have DirectX 11 Status:
Note: at the moment there are no DX11 features, but just a port.
The goal is to have a working version of DirectX 11 so next, we can develop support for tipical nextgen features.
Contributors: Andrew Mac, ZeroFault
gfxD3D11CardProfiler - OK
gfxD3D11Cubemap - OK
gfxD3D11Device - OK
gfxD3D11EnumTranslate - OK
gfxD3D11IndexBuffer - OK
gfxD3D11OcclusionQuery - OK
gfxD3D11QueryFence - OK
gfxD3D11Shader - OK
gfxD3D11StateBlock - OK
gfxD3D11Target - OK
gfxD3D11TextureManager - OK
gfxD3D11TextureObject - OK
gfxD3D11VertexBuffer - OK
repository:
https://github.com/Lopuska/Torque3D/tree/D3D9_D3D11_R%26D
Ok, we have cleaned the entire DX9 Layer! thanks to all devs that help and support me.
Now we have a modern DirectX9 layer without fixed function and deprecated functionality.
I think that The DX9 layer was really unmodified since a long time (:
We can talk about DirectX 11...
Here you have DirectX 11 Status:
Note: at the moment there are no DX11 features, but just a port.
The goal is to have a working version of DirectX 11 so next, we can develop support for tipical nextgen features.
Contributors: Andrew Mac, ZeroFault
gfxD3D11CardProfiler - OK
gfxD3D11Cubemap - OK
gfxD3D11Device - OK
gfxD3D11EnumTranslate - OK
gfxD3D11IndexBuffer - OK
gfxD3D11OcclusionQuery - OK
gfxD3D11QueryFence - OK
gfxD3D11Shader - OK
gfxD3D11StateBlock - OK
gfxD3D11Target - OK
gfxD3D11TextureManager - OK
gfxD3D11TextureObject - OK
gfxD3D11VertexBuffer - OK
repository:
https://github.com/Lopuska/Torque3D/tree/D3D9_D3D11_R%26D
About the author
#84
09/25/2014 (1:22 pm)
Good job Anis, thanks!
#85
09/26/2014 (12:36 am)
Nice, very nice job!! Thanks Anis.
#86
09/26/2014 (2:43 am)
Awesome! Thanks Anis :)
#87
Am I doing something wrong here?
Thanks in advance guys.
09/30/2014 (10:06 am)
It doesn't work. I get a messagebox saying that it can't set a Lighting Manager. After debugging I found that the only adapter present is the NULL device. I am running Windows 7 64bit with a Geforce GTX660 which should be DX11 (must be because I can play Splinter Cell Blacklist with DX11 enabled and it runs very smooth I must say).Am I doing something wrong here?
Thanks in advance guys.
#88
I'm using the DX9 refactored version without any problems and when I look at the console GFXInit reports both the DX9 and the DX11 version of the card.
So I'm a little bit flabbergasted here.
09/30/2014 (10:17 am)
I forgot to mention that I'm using VS2013 without the DirectX SDK.I'm using the DX9 refactored version without any problems and when I look at the console GFXInit reports both the DX9 and the DX11 version of the card.
So I'm a little bit flabbergasted here.
#89
Could you send me the *.log?
09/30/2014 (10:27 am)
Maybe it's a bug on the device enumeration routine.Could you send me the *.log?
#90
It's possible that it tries to launch torque in DX9 mode because you are using the old configuration of a previous/different Torque version.
In this branch DX9 layer has been removed, so you get an error when you try to start torque with it.
09/30/2014 (10:33 am)
otherwise try to remove prefs.cs and restart torque3d again in "Torque3D\\Templates\\Full\\game\\scripts\\client" directoryIt's possible that it tries to launch torque in DX9 mode because you are using the old configuration of a previous/different Torque version.
In this branch DX9 layer has been removed, so you get an error when you try to start torque with it.
#91
09/30/2014 (10:34 am)
I had the same problem.If you are generating through project manager then you will have to manually add the files in source/gfx/d3d11 to your solution. For some reason. Its not in being included in project generation.
#92
09/30/2014 (10:40 am)
uhauha, You right ZeroFault! you need also to add yourself D3D11 folder from GFX folder to your visual studio solution.
#93
09/30/2014 (11:29 am)
Yes adding the files to the solution did the trick. Thanks guys.
#94
Are you aware that some shaders won't compile and crash the engine? It did happen with the DOF_Gaussian shaders. Is this because they are now cimpiled against the shader model 5 instead of 3? I did try with the legacy flag set, but that didn't work out.
Thanks for the great job you're doing.
10/01/2014 (7:37 am)
Hi guys,Are you aware that some shaders won't compile and crash the engine? It did happen with the DOF_Gaussian shaders. Is this because they are now cimpiled against the shader model 5 instead of 3? I did try with the legacy flag set, but that didn't work out.
Thanks for the great job you're doing.
#95
10/01/2014 (8:08 am)
Yes, some shaders will not compile. We haven't updated them yet. The legacy setting has issues that produce the wrong code sometimes. Especially, using samplers will sometimes bind the texture on the wrong register.
#96
10/01/2014 (8:24 am)
I see. Would you mind telling something on what to change?
#97
thx
10/01/2014 (8:28 am)
I also had issues using the car model from the chinatown demo. It would crash. I believe due to the trianglefan/stripes was that ever fixed?thx
#98
@Anis or anyone - Can you tell us more about what a switch to DX11 would do for us in more detail and what any drawbacks to switching might be? And also, what you have in mind for 'support of typical next-gen features'?
Thanks a ton, we're really mulling this over and could use some clarification.
10/01/2014 (9:23 am)
Quote:The goal is to have a working version of DirectX 11 so next, we can develop support for tipical nextgen features.
@Anis or anyone - Can you tell us more about what a switch to DX11 would do for us in more detail and what any drawbacks to switching might be? And also, what you have in mind for 'support of typical next-gen features'?
Thanks a ton, we're really mulling this over and could use some clarification.
#99
What do you mean what to change? The shader code?
@Kory
The trianglefan code has already been ported to use triangle stripes.Maybe, the crash you are seeing might be an issue with shadergen.
@Scot
Right now, we are only focusing on a basic port to DX11 from DX9. So there will not be any new features from DX11 just yet. I don't believe there will be any drawbacks other than the requirement of having a DX11 Gpu and Window vista or higher.
10/01/2014 (10:45 am)
@RichardWhat do you mean what to change? The shader code?
@Kory
The trianglefan code has already been ported to use triangle stripes.Maybe, the crash you are seeing might be an issue with shadergen.
@Scot
Right now, we are only focusing on a basic port to DX11 from DX9. So there will not be any new features from DX11 just yet. I don't believe there will be any drawbacks other than the requirement of having a DX11 Gpu and Window vista or higher.
#100
10/01/2014 (10:51 am)
If they don't have a DX11 GPU is there a way to fall back?
Lopuska
I've merged last ZeroFault patch from his branch.
In my main R&D branch there is a first playable/working but still buggy version:
https://github.com/Lopuska/Torque3D/tree/D3D9_D3D11_R%26D
Now the work is mainly under optimizations, fix and intensive debug.
I never expected so many enthusiasm from the community!.