|
 |
> (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
|
 |