POV-Ray : Newsgroups : povray.off-topic : Game opinions : Re: Game opinions Server Time
11 Oct 2024 07:12:40 EDT (-0400)
  Re: Game opinions  
From: scott
Date: 6 Feb 2008 03:22:43
Message: <47a96e53@news.povray.org>
> (Obviously the "simplest" thing to do would be to assume one level of 
> DirectX and fail if any other level is present. It also seems likely that 
> it wouldn't be that hard to check and use until available features - I was 
> just checking whether that is what they actually did.)

It is complicated to make a DX9 game work with a large variety of hardware. 
For every single "technique" you use in your game code you must check the 
driver to see if the installed hardware supports it, and if it doesn't 
whether DX can supply some software emulation at a reasonable enough speed 
to support it.  It very quickly gets very messy as you need to code 
different ways to do the same effect.  Add to that you'll probably need 
several different versions of your shader code for each "generation" of 
graphics card.  It's a mess and almost impossible to get things working 100% 
correctly on 100% of "DX9-compatible" hardware.

DX10 on the other hand is much simpler.  If a card supports DX10 then it 
supports DX10.  There are a list of things that the card must support to be 
DX10 compatible, and you can just use them all without going through any 
stupid checking procedures or having 4 different code versions.  There is no 
such thing as running DX10 on a card with limited functionality (like you 
can with DX9).  DX10 also makes lots of common things (like rendering 
cube-maps, shadows etc) much simpler and faster than on DX9.

As you can imagine, writing a game that supports DX10 *and* DX9 is even 
worse.  It's a shame that DX10 doesn't work on XP or older GFX cards, but 
they had to make it that way so that in future things will be way simpler. 
Just wait a year or two and you'll probably start seeing games that are DX10 
only.


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.