Archived

This topic is now archived and is closed to further replies.

grunz

DX 9 Support

Recommended Posts

Hello. I own a GF 3 TI 200 (shader 1.1) with full DX 8 support but not full DX 9 support.If I try to test some example shader for DX 9 I get a message that it doesn''t work because I haven''t shader 2.0 (or full DX 9 support). Isn''t there a way to emulate the DX9 support? And will I never be able to use hardware acceleration while I am using DX 9? Or do I have to split the shader functions one for the DX 8 and one for the DX 9 cards to get a hardware acceleration? Thanks

Share this post


Link to post
Share on other sites
You probably don''t want software emulated pixel shaders, as you might as well be software rendering, so I''ll ignore that... I''m not sure if DX lets you do it either.

For vertex shaders, you can use hardware shaders for vs.1.0, vs.1.1. But it''s a bit (just a tiny bit) more complex that just that.

When you create your device, you can specify HARDWARE, MIXED, or SOFTWARE processing for you HAL device. Note, this is NOT the software or ref device.

If you create a hardware device, you will do all rendering with HW T&L fixed pipe, or vs.1.0, or vs.1.1.

If you create a mixed device, you can switch between hardware and software processing as much as you want (if you need to switch, attempt to switch as few times as possible). At this point you can use HW T&L fixed pipe, vs.1.0, and vs.1.1 in hardware mode. In software mode you can use SW fixed pipe, vs.1.0, vs.1.1, vs.1.2, vs.1.3, vs.1.4, vs.2.0, ... You get the idea. You can do any shader in software.

If you create a software device you will do all rendering with software only, using any shaders you want.

Note, that this is just triangle setup (World, View, Proj, Fog, TexGen, TexTransform, Lighting, + anything custom in a shader). The scanline rendering of the triangles will still be done in hardware.

Share this post


Link to post
Share on other sites
thanks for your reply.
so the best mode for hardware support is mixed mode?
Or the software mode?
Isn''t it waste to use software mode if I have a card which could use shader 1.1 ?

thanks

Share this post


Link to post
Share on other sites
As a general rule...

If you''re only using shaders upto the version your hardware supports, use hardware mode.
If you''re mixing shaders below and above what your hardware supports, use mixed mode.
If you''re only using shaders your hardware cannot support, use software mode.

Check the device caps to find out which version is supported on your card at runtime.

If in mixed mode, and you are going to switch between software and hardware frequently, it may be faster to just use software. Build your app so it''s easy to switch it''s behaviour, and see what works best. Do this benchmark when your app is nearly done. Until then the results have nothing to do with your actual game.

Be aware that using software mode on a P4 3Ghz, for example, will be faster than using your GPU, but not everyone will have that fast of a CPU. When determining if mixed of software mode is faster for you, ensure you test it on your minimum spec system.

Share this post


Link to post
Share on other sites