Learning Direct X 10

Started by
12 comments, last by Dynamo_Maestro 11 years, 8 months ago

All these are valid points in some way but it all depends how YOU want to approach it, and here is what I think:

If you actually planning on making a game I say use DX11 which is the latest of course, a lot recent games are using it so it would make sense, and it like kunos said it targets dx9,10 hardware as well

If you really want to understand dx in depth then start from dx9, this way you can understand the CHANGES/DIFFERENCE as dx went from 9 to 10 and then to 11. It's all up to you though


why not start from DirectX 1.0 then? rolleyes.gif

Stefano Casillo
TWITTER: [twitter]KunosStefano[/twitter]
AssettoCorsa - netKar PRO - Kunos Simulazioni

Advertisement

It's not exactly like that. DX9.0c is the highest DX version supported by WinXP, which at the moment is the most popular OS on this planet.


That's not actually true any more. People had a hard time transitioning to Vista, and rightly so, but today there are significantly more people on Windows 7 than on XP.


Inuyashakagome16, on 28 July 2012 - 11:17 AM, said:
If i learn DX11, can i make the game compatible with DX9? I'm guessing you can but it's worth asking. I mean i'm sure its close enough syntax wise so i wont be super lost but.
Nope, you would need to make two separate versions.


As Kunos pointed out, it depends on what you mean by compatible. Direct3D Feature Levels introduced in DX11 allows you to write D3D code written with the DX11 API that behaves like DX9 and it will be compatible with any DX9 hardware. To add to his points, when writing Windows 8 Apps, D3D9 is not supported. You can continue to use it for desktop applications, but if you plan to make games for Win8 Metro, ARM Surface devices, or Windows Phone 8, you're going to need to use D3D11. DirectX 9 is dead.


If you really want to understand dx in depth then start from dx9, this way you can understand the CHANGES/DIFFERENCE as dx went from 9 to 10 and then to 11. It's all up to you though


This is undesirable. Understanding the changes between DirectX 9, 10, 10.1, 11, and 11.1 is only useful if you'll be migrating applications from a previous version of DirectX to a newer version. This is because the primary difference between these versions was A). removing the fixed-function pipeline in favor of a pure shader-driven API. B) exposing more stages in the graphics pipeline for use by developers, and C) implementing better scalability through multi-threading and parallelism. In the case of A, we don't want people using the fixed-function pipeline. In the case of B, you can just use the basic vertex and fragment shaders used by DX9, without having to actually use DX9. In the case of C, the benefits are largely transparent to users. Now, I'm not saying there weren't other specific feature updates between version, but from version to version Microsoft mostly added without taking away. So it's entirely possible to start learning a subset of DX 11 functionality without having to regress to DX 9.
Jeromy Walsh
Sr. Tools & Engine Programmer | Software Engineer
Microsoft Windows Phone Team
Chronicles of Elyria (An In-development MMORPG)
GameDevelopedia.com - Blog & Tutorials
GDNet Mentoring: XNA Workshop | C# Workshop | C++ Workshop
"The question is not how far, the question is do you possess the constitution, the depth of faith, to go as far as is needed?" - Il Duche, Boondock Saints
All of the posts. o.o After reading through all of this, I've decided to start over (kinda of?) with DX11. I'm still using the same site at least for now till I'm more settled. I'm looking for better books for after I understand the basics at the moment. So if anyone can think of one, let me know. :)

All of the posts. o.o After reading through all of this, I've decided to start over (kinda of?) with DX11. I'm still using the same site at least for now till I'm more settled. I'm looking for better books for after I understand the basics at the moment. So if anyone can think of one, let me know. smile.png


I havent checked that site but that "Beginning DX10" book imo is not that great and does not deserve even being called beginner. The books I used for DX10 to understand the pipeline and structure were:


Ultimate programming with DX10 - a fairly decent beginner book, explains really nicely but isnt 'ultimate' at all, missing out stream out which is somewhat odd.
Introduction to DX10 - practically a rewrite from the DX9 version, it is a decent book but some things just arent explained at all and you have to work out yourself why it was used.

As for rendering and making things pretty

Real-time rendering - This book has A LOT of theory and deals heavily with rendering, I havent read the whole book but from what I read I loved it, word of advice, dont bother reading this until you are comfortable with the pipeline stages as this doesnt explain anything about directx
GPU Gems 1 -> 3 - Same applies above, full of useful theory and examples, a very nice collection of free books to work with
DX SDK Examples - The DX examples are useful too and gives some theory / examples, it also explains DXUT I guess in a bit more detail which other books lack in

That may seem a lot but to be honest when you get really into graphics programming you will fly through those books

Other books to have a look at.

Physics = Real time collision detection
Sound = FMOD alone should cover all your sound needs imo

I know I have quoted DX10 books but honestly migrating from DX10 to DX11 is simple, the only thing that I truly had to change was my 'Font' classes which DX11 doesnt have, but then thats really where Direct2d / DirectWrite come into play which are thoroughly covered in the DX SDK

This topic is closed to new replies.

Advertisement