D3D10 Geo Shader Emulation

Started by
5 comments, last by _the_phantom_ 17 years, 7 months ago
Greetings! This year I'm embarking on my final year project for my degree and for said final year project I'm doing alot of work with the GPU and currently I'm in a toss up between using OpenGL or D3D for my work. Now, as part of this project I'm hoping to be able to use the Geo Shaders, however I'm left wondering if there is any support for emulating these in the current D3D10 runtime/SDK stuff on Vista RC1 or will I have to wait for the full hardware/SDK/Vista release to be able to use them? If it can be emulated then excellent (proof of concept work more than anything else is needed) and tips the scales more in favour of D3D (right now the R2VB stuff is making me think D3D might be a better choice with my ATI card). So, can anyone throw any light on this subject? My project doesn't have to be in until mid-May 07, however I'd rather not be rushing around at the 11th hour writing code and the results up if I'm going to have to wait for hardware support. Cheers ps. holy hell, I've just posted in the DX forum! The sky is falling! The sky is falling!!! [grin]
Advertisement
ATI recently demoed something they'd done which implemented the entire D3D 10 pipeline just on their pixel shader units. Presumably they relied on things like R2VB and RTT to pull it off.

Then there's the REF rasterizer under Vista, which works if you don't get bored between frames.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
The D3D10 reference rasterizer should emulate a full D3D10 card. There are a couple holes in it at the moment, which is fine as it's still beta, but the geometry shader is definately there (the particle sample uses it for example). Keep in mind, that using the REF device drops even simple spinning triangle demos down to single digit frame rates. Expect minutes per frame rendering for anything interesting.

ATI's R2VB, or manually doing transforms and geometry shading, then using a DX9 card to rasterize the results might be a better option right now unless you're really patient.
Ah, that might be intresting to look at and I just read a comment on my journal from Jack about the D3D10 ref driver, so that'll help even if it is a tad on the slow side (I'm thinking start sim, screen cap each frame and go out for a few hours to get some results...) it'll do anyways until I can get hardware.

edit:
Well, most of it will be a D3D9 system but I wanted to include D3D10 as a comparsion and thus I'll need the shader code, I figure the sooner I get the base work done the better as this is a reasonable large project [smile]
One of my D3D10 projects is to create a faster software rasterizer that uses a Shader Model 4 to SSE jitter. It should be much faster than the Microsoft RefRast. Unfortunately I am not very far yet as I am want to finish my managed layer first.
Quote:Original post by phantom
holy hell, I've just posted in the DX forum! The sky is falling! The sky is falling!!!
Welcome to the fold [evil]
Quote:Original post by phantom
(I'm thinking start sim, screen cap each frame and go out for a few hours to get some results...) it'll do anyways until I can get hardware.
I'm using a similar system that just streams out each frame as a numbered bitmap; I then use VirtualDUB to compress them into a single AVI file for playback. It's a little bit awkward but it does the job...

If you start with Vista/D3D10/RefRast now then you should safely have a couple of months with hardware presuming you buy it as soon as it hits the shops...

Jack

<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ | MVP Profile | Developer Journal ]</small>

Quote:Original post by jollyjeffers
If you start with Vista/D3D10/RefRast now then you should safely have a couple of months with hardware presuming you buy it as soon as it hits the shops...


*nods* that was pretty much my plan, yeah... If the worse came to the worse and I ran out of time I could say I got it working but speed couldn't be tested due to late hardware/software/end of the world kinda thing.

This topic is closed to new replies.

Advertisement