Dx9 or Direct3D10?

Started by
11 comments, last by daviangel 17 years, 5 months ago
I recently finished reading a few books on c++ and had lots of practice with it. Now I'd like to move into directX. My question is: Should I wait until Direct3D10 comes out, before I start breaking out the books or should I start now? The reason I'm asking is because I've heard that Direct3D10 is completely different from number 9 (more that dx8 to dx9). Is this true? What do you guys think I should do? Will all my Dx9 knowledge be useless when direct3d10 comes out?
Advertisement
I believe DX10 is to be used with Windows Vista. Now, given that most games on the market now use DX9, you can safely assume that there will be ways for gamres to run DX9 games for a very long time ahead. So I'd start with DX9.
I live in Palestine, but it's not in the country list, so I picked Zimbabwe.
Also, if you're pretty much new to 3D programming, then much of what you will learn while learning DirectX 9 will carry over not only to DirectX 10, but also to OpenGL, XNA, and pretty much any other rasterizing-based 3D programming. Some of would even carry over to other forms of 3D rendering. The difference between DirectX 9 and DirectX 10 will be negligible relative to all the stuff you have to learn about 3D programming in general. Once you're comfortable with DirectX 9, you should be able to move to other APIs without a great deal of effort.
"We should have a great fewer disputes in the world if words were taken for what they are, the signs of our ideas only, and not for things themselves." - John Locke
I concur with everything Agony posted [smile]

To make it easier going forwards from D3D9 to D3D10 you should focus as much on the programmable parts of D3D9 as you can. It's fairly cheap/easy to get hold of a SM3 graphics card these days and SM3 is pretty close to SM4/D3D10...

hth
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
To make it easier going forwards from D3D9 to D3D10 you should focus as much on the programmable parts of D3D9 as you can. It's fairly cheap/easy to get hold of a SM3 graphics card these days and SM3 is pretty close to SM4/D3D10...

I'd say even a Shader-Model 2 card would be acceptable if you are just getting into graphics programming (e.g. ATI 9600-9800, GF 5000 & 6000), especially if you are looking to save money for a new D3D10-enabled card. All of the features of a SM2 card should be more than enough to hold you over until it is realistic to upgrade.
Dustin Franklin ( circlesoft :: KBase :: Mystic GD :: ApolloNL )
Okay, well.. I've got the Ati x1400 -128mb graphics video card. Which I believe is shader model 3.0 (I may be wrong though). It's also a laptop video card. Which hopefully, won't effect anything.

My other question is where do I get started. I now know c++ to a level that I believe I can use it with Dx9. I also have access to the full version of 3DS Max 8 (through college curriculum), and I'd like to put it to use with 3D game progamming.

Any guidance would be well appreaciated.

and by:
Quote:
GF 5000 & 6000

Don't you mean
Quote:
Fx 5000 & 6000
Quote:Original post by Instigator
It's also a laptop video card. Which hopefully, won't effect anything.

It should be fine for your purposes. When you get into more advanced things, just check its capabilities first (if you don't know what those are, you will find out).

Quote:My other question is where do I get started. I now know c++ to a level that I believe I can use it with Dx9.

Go to the DirectX site at Microsoft and download the latest DXSDK. I'd also recommend checking out any of the numerous tutorial sites we have listed in the DX Forum FAQ.

Quote:I also have access to the full version of 3DS Max 8 (through college curriculum), and I'd like to put it to use with 3D game progamming.

You are going to need a decent exporter to use - the Panda one is pretty good (find it here). As you go through tutorials, you will learn how to load X files, which is what you will need this exporter for.


Quote:and by:
Quote:
GF 5000 & 6000

Don't you mean
Quote:
Fx 5000 & 6000

I guess, it doesn't really matter [wink]
Dustin Franklin ( circlesoft :: KBase :: Mystic GD :: ApolloNL )
Quote:Original post by Instigator
Okay, well.. I've got the Ati x1400 -128mb graphics video card. Which I believe is shader model 3.0 (I may be wrong though). It's also a laptop video card. Which hopefully, won't effect anything.
I have to admit I've not heard of the X1400 but all of the X1*** series are SM3 capable...

Quote:Original post by Instigator
My other question is where do I get started. I now know c++ to a level that I believe I can use it with Dx9. I also have access to the full version of 3DS Max 8 (through college curriculum), and I'd like to put it to use with 3D game progamming.
That's a pretty big question to be honest [smile]

Downloading the latest SDK (which includes both D3D9 and D3D10 should you have Vista and want to have a look at 10) and have a run through the samples and documentation. ati.com/developer and developer.nvidia.com are also good resources - download their respective SDK's (if you're using ATI hardware you may have problems using some Nvidia samples, but you might be lucky).

If you want to learn how shaders work then either 'RenderMonkey' (ATI) or 'FXComposer' (Nvidia) are pretty good tools to play with - they give you real-time editing and previewing of shaders.

Quote:I'd also recommend checking out any of the numerous tutorial sites we have listed in the DX Forum FAQ.
Some more FAQ information in my Work-In-Progress FAQ here.

Quote:You are going to need a decent exporter to use - the Panda one is pretty good (find it here). As you go through tutorials, you will learn how to load X files, which is what you will need this exporter for.
Also check out this sticky thread for another exporter [smile]

hth
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
Quote:Original post by Instigator
Okay, well.. I've got the Ati x1400 -128mb graphics video card. Which I believe is shader model 3.0 (I may be wrong though). It's also a laptop video card. Which hopefully, won't effect anything.
I have to admit I've not heard of the X1400 but all of the X1*** series are SM3 capable...


I have a X1400 (specs) in my laptop, it supports SM3. It's not a particularly great card, it's designed for "thin-and-light notebooks", but it suits my purposes - i'm not doing anything too advanced, it runs Half Life 2 in fullscreen without any problems, and gives what I consider to be a decent framerate in Oblivion with medium textures and most of the fancy effects either off or set to low (though be aware that my definition of decent may be different than yours).

As for learning D3D, I recently switched from OpenGL and found the book Introduction to 3D Game Programming with DirectX 9.0c: A Shader Approach by Frank Luna to be useful. It is an introductory book though - you'll want to later pick up another book that goes into more depth with shaders/HLSL, and if you're new to working in 3D you might want to pick up a 3D math for games book as well.
@Will F, I found this quote in your link to the book

Quote:
Officially, Microsoft's DirectX 9.0 now only supports versions of Visual Studio 7.0 (i.e., Visual Studio .NET 2002) or higher.


However, I'm confused because I've read somewhere else that I can use my "Dev-C++" compiler.

Can someone please explain to me what this is all about?

This topic is closed to new replies.

Advertisement