Jump to content
  • Advertisement
Sign in to follow this  
Yoyoyoyo

Learning DirectX

This topic is 2834 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi just started learning directx9, and found that Directx 11 has changed quite a lot of things, like the pipeline.
So should i bother learning directx9 or just shift to 11... The problem being i wont have access to 11 for a while until i can get myself a rig that supports it. Will the knowledge of Directx9 be usefull once i get started on 11, or will it be a waste of time ? Thanks.

Share this post


Link to post
Share on other sites
Advertisement
If you've never used a 3d graphics API before, then there is a lot of theoretical knowledge which applies to virtually every API. You can pick up this knowledge on any API, and apply it on any other API.

On the other hand, most of the API-specific details learnt from DX9 API will be of little use in the DX11 API.

So the answer is "yes and no". Lots of abstract concepts will pass over from one to the next, the small details will all change.

Also, the min requirements for "a rig that supports DX11" is a DX9 video card and Windows Vista.

Share this post


Link to post
Share on other sites
Ah so, with my dx10 laptop i can just go ahead with learning Directx11 on it? Would there be any problems, such as some functionality missing, wont work?

Share this post


Link to post
Share on other sites
Thanks, that got me to the next level, although working through this;
http://www.directxtutorial.com/Tutorial11/B-A/BA2.aspx

I get an unhandled exception ;

Unhandled exception at 0x00341801 in DirectX 11 learning.exe: 0xC0000005: Access violation reading location 0x00000000.

So a few probs for me to chew on. Appreciate the help, looking up this error seems it has something to do with a pointer error.

Share this post


Link to post
Share on other sites

Unhandled exception at .... in ....: 0xC0000005: Access violation reading location 0x00000000.
Thats saying you tried to read from a NULL pointer. If you run your code from a debugger, it should stop on the line where the NULL pointer was used.

It could be that a D3D function has failed at some point and returned NULL and you've used the result without checking if it's ok.

Share this post


Link to post
Share on other sites

[quote name='Rexxaw(Forgrim's mate)' timestamp='1299496872' post='4782767']
Unhandled exception at .... in ....: 0xC0000005: Access violation reading location 0x00000000.
Thats saying you tried to read from a NULL pointer. If you run your code from a debugger, it should stop on the line where the NULL pointer was used.

It could be that a D3D function has failed at some point and returned NULL and you've used the result without checking if it's ok.
[/quote]

Thanks for the heads up Hodgman. Though Im particularly noob in terms of c++ and graphics API's, and this was a cut and paste job from the tutorial just to test the IDE setup.

But it does lead me to a question about learning Directx in general. I'm after Frank d Luna's book on Directx10, as it will be a coherent text to learn from, rather than bits and pieces assimilated from the net, can't wait till i have it in my hands :) But id like to know, will this knowledge from Directx10, apply to 11, or will it be another great leap(and time wasted on learning legacy techniques)?
Cheers.

Share this post


Link to post
Share on other sites

[quote name='Hodgman' timestamp='1299499350' post='4782775']
[quote name='Rexxaw(Forgrim's mate)' timestamp='1299496872' post='4782767']
Unhandled exception at .... in ....: 0xC0000005: Access violation reading location 0x00000000.
Thats saying you tried to read from a NULL pointer. If you run your code from a debugger, it should stop on the line where the NULL pointer was used.

It could be that a D3D function has failed at some point and returned NULL and you've used the result without checking if it's ok.
[/quote]

Thanks for the heads up Hodgman. Though Im particularly noob in terms of c++ and graphics API's, and this was a cut and paste job from the tutorial just to test the IDE setup.

But it does lead me to a question about learning Directx in general. I'm after Frank d Luna's book on Directx10, as it will be a coherent text to learn from, rather than bits and pieces assimilated from the net, can't wait till i have it in my hands :) But id like to know, will this knowledge from Directx10, apply to 11, or will it be another great leap(and time wasted on learning legacy techniques)?
Cheers.
[/quote]The D3D11 API is quite similar in structure to the D3D10 API, with a couple of big exceptions. D3D11 uses the concept of device contexts, which is a big departure from the older style devices... But still, if you want to learn D3D11, D3D10 is a good place to start - you can also check out our D3D10 book (its free and online, so you can look at it now - see the link in my signature). I wouldn't assume that a book is the best way to learn the API, since it can be helpful to see real examples in a running sample. Also, if you are getting started with D3D11, you can download my engine as well from codeplex (that link is also in my signature...) which will cover most of the basics.

Good luck!

Share this post


Link to post
Share on other sites
If you as you say a "noob" to C++, you should really learn the language first before jumping into something you are going to have a hard time understanding. Can you make a random number guessing game without finding a already programmed game to look at? or Hangman, or even a text-based RPG with a minimum of 3 areas to explore? If you can do those effortlessly than maybe you aren't as noob as you think, but considering you are being told about null pointers I assume these would be a challenge or at least the last 2. I am not trying to be mean, but only trying to help. Learn about STL storage containers, pointers, references, etc... C++ isn't about memorizing and DirectX isn't about copy and pasting code, there is no skip to know it all fast steps. You are going to have to put in the real time. I know you wanted help with DirectX 9 or 11 but I would say considering your follow-up post focus on just C++ for now, and to get a grasp on how graphic API's work I would check out SFML or SDL for a little bit and make 2D games until your knowledge of how they work better suit you and move to DirectX. I did that and I understand DirectX a lot better than I did 2 years ago when I first started messing with DirectX (I just recently got back into DirectX). Anyways I hope what I said helps you out, if not my apologies I tried.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!