Beginner DirectX questions

Started by
5 comments, last by MJP 14 years, 9 months ago
1) Can I mix directX 9 & directX 10 code together? 2) It's close to impossible for me to find any tutorials in directX 10. Is it okay for me to stick with directX 9? I ran a couple programs sucessfully with it, but haven't gotten deep into it to know whether or not its compatible with VS 2008, directX 9 that is. 3) This is my first time using a graphics library. Is it normal to having to keep referencing back and forth for the code? It seems to be very tidious and intimidating.
Advertisement
1. Yes, multiple versions of DirectX can be used in the same application.

2. I don't think there's anything wrong with sticking with DirectX9. A large number of graphics cards being used still don't support DirectX10 and as a beginner you can learn so much from DirectX9 that you can use later on in DirectX10.

3. Like learning any new language or API, it takes time to feel comfortable with the code-base. The best way (IMHO) to learn D3DX is to make sure you know why you're using a certain object, method, etc. rather than just blazing through tutorials and samples. Eventually you'll tie what you need to do to how you need to do it and it will just make sense.
2. I would suggest reading Introduction to 3D Game Programming with DirectX 10 by Frank Luna. There is also this, which looks like it has some good information.
"All you have to decide is what to do with the time that is given to you." - Gandalf
Quote:Original post by Bargomer
1) Can I mix directX 9 & directX 10 code together?

2) It's close to impossible for me to find any tutorials in directX 10. Is it okay for me to stick with directX 9? I ran a couple programs sucessfully with it, but haven't gotten deep into it to know whether or not its compatible with VS 2008, directX 9 that is.

3) This is my first time using a graphics library. Is it normal to having to keep referencing back and forth for the code? It seems to be very tidious and intimidating.


1. You'll never want to be running code that uses both at the same time. You'll either want to be running only D3D9 code, or D3D10 code. Some apps will do this by generating seperate executables or DLL's, and just picking which to use to use. You can also use runtime polymorphism, and have an abstract interface class with both a D3D9 and a D3D10 implementation.

2. D3D9 is still very widely used, and if you stick with the more modern functionality in there (mainly Pixel/Vertex Shaders instead of fixed-function pipeline) then what you'll learn will still be very relevent. The latest version of the DX SDK (March 2009) still includes the D3D9 headers and libraries, which are fully compatible with VS 2008.

3. Yeah, you'll definitely spend a lot of your time in documentation and sample code when you're starting out. But you'll get through it, I promise. [smile]

[Edited by - MJP on July 20, 2009 5:56:35 PM]
Thanks for the responses! It's very reassuring. I wanted to start out with directX 9, and looks like I'm gonna be able to!
Quote:2. I would suggest reading Introduction to 3D Game Programming with DirectX 10 by Frank Luna. There is also this, which looks like it has some good information.


Agreed...Frank has also written a pair of books for DirectX9 (of similar titles to this one) which are quite good.

Quote:...The latest version of the DX SDK (March 2008) still includes the D3D9 headers and libraries, which are fully compatible with VS 2008.

I believe this should be March 2009 (just for clarification).
Quote:Original post by CasperAS14
I believe this should be March 2009 (just for clarification).


Whoops, you are correct sir.

This topic is closed to new replies.

Advertisement