skmp / nullDC

nullDC, a sega dreamcast emulator
177 stars 45 forks source link

DX11 plugin #192

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
Notes to self:

1: Mudlord needs to make a DX11 port of the DX9 plugin.
2: Mudlord needs to port the shaders and do fixed function emulation.
3: Do code on private SVN *before* committing to main nulldc tree.

What is the expected output? What do you see instead?

The expected output is: Proper Z with antialiasing, because of increased depth 
precision.

But instead I see: Improper Z sorting due to DX9 not supporting 32bit floating 
Z.

What version of the product are you using? What build? What plugins?

I use version: Latest nullDC Debug SVN with latest debug plugins

On what kind of system?
My system specifications are as follows:

Operating System: Windows 7 Ultimate x64
CPU: AMD Phenom II 550 @ 3.1Ghz
Video Card: ATI Radeon 5770 with 1GB RAM
Sound Card: Onboard 7.1 Via based.

Original issue reported on code.google.com by mudl...@tpg.com.au on 16 Aug 2010 at 1:57

GoogleCodeExporter commented 9 years ago
"Issue owner must be a project member" ... =S

Mail ain't enough it seems.

Original comment by KrossX3 on 16 Aug 2010 at 5:55

GoogleCodeExporter commented 9 years ago
will this D3D11 plugin have D3D10 fallbacks? D3D10 supports 32FPZ as well

Original comment by danialho...@gmail.com on 16 Aug 2010 at 9:02

GoogleCodeExporter commented 9 years ago
You can use Dx10 HW with D3D11. The float depth support should get rid of the 
z-fighting, and the Out of Order Transparency should get rid of the sorting 
problems. But the latter does require Dx11 HW I think.

Original comment by KrossX3 on 17 Aug 2010 at 12:57

GoogleCodeExporter commented 9 years ago
Actually, the current dx9 code is a mess-- you'l probably have more luck 
writing something form the beginning :p. Been wanting to do this for some time, 
but never really got around more than dx10 init code

Original comment by drkIIRaziel on 17 Aug 2010 at 10:58

GoogleCodeExporter commented 9 years ago
out of order transparency works on D3D10 as well.

Original comment by danialho...@gmail.com on 17 Aug 2010 at 6:03

GoogleCodeExporter commented 9 years ago
nvidia's depth peeling has been nominated to be a form of out of order 
transparency.

Original comment by danialho...@gmail.com on 18 Aug 2010 at 12:01

GoogleCodeExporter commented 9 years ago
heck, apparently Nvidia has supported this since the Geforce 3
http://developer.nvidia.com/object/order_independent_transparency.html

I expect it may be a D3D11 requirement, which im sure the 4xx cards will 
support from the go.

Original comment by danialho...@gmail.com on 18 Aug 2010 at 12:09

GoogleCodeExporter commented 9 years ago
http://www.slideshare.net/ohyecloudy/shaderx6-37-robust-orderindependent-transpa
rency-via-reverse-depth-peeling-in-directx-10

Original comment by danialho...@gmail.com on 18 Aug 2010 at 12:14

GoogleCodeExporter commented 9 years ago
Using depth peeling to achieve OIT? Might as well use software rendering 
instead. Same effect, same speed, but with s/w rendering being more accurate. :p

Original comment by Mr.PsyMan on 18 Aug 2010 at 1:36

GoogleCodeExporter commented 9 years ago
Reverse OIT is apparently nearly hitless.

Original comment by danialho...@gmail.com on 18 Aug 2010 at 5:01

GoogleCodeExporter commented 9 years ago
@drkRaz: Fine, doing it with MSVC2008. :P

Original comment by mudl...@tpg.com.au on 18 Aug 2010 at 5:50

GoogleCodeExporter commented 9 years ago
The pvr hardware implements a version of depth peeling

Original comment by drkIIRaziel on 18 Aug 2010 at 11:04

GoogleCodeExporter commented 9 years ago

Original comment by KrossX3 on 18 Aug 2010 at 11:47

GoogleCodeExporter commented 9 years ago
indeed it does drk.

surely we can write a custom shader to emulate PVR GPU Depth peeling?

Original comment by danialho...@gmail.com on 19 Aug 2010 at 2:17

GoogleCodeExporter commented 9 years ago
We are salvaging what we can from the old D3D9 plugin, as some is still useful. 
Really, the shaders, rasterization etc, needs to be redone.

Original comment by mudl...@mudlord.info on 19 Aug 2010 at 2:26

GoogleCodeExporter commented 9 years ago

Original comment by mudl...@mudlord.info on 19 Aug 2010 at 2:30

GoogleCodeExporter commented 9 years ago
First initial commits.
Added code base.

Original comment by mudl...@mudlord.info on 7 Sep 2010 at 9:46

GoogleCodeExporter commented 9 years ago
Just saw the first inicial commit, really good!!!!! Keep the good work, one 
more to add their name to the scene :D

Original comment by telmo.qu...@gmail.com on 8 Sep 2010 at 2:12