Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Prerequisite for learning directx

I am from .net C# background and I want to learn DirectX. I have knowledge of C++ but I am fairly new to graphic world.

I am little confused about how to start learning directx, should I start learning direct directly or buy a basic graphic book like hern and baker and then jump to directx.

Which is the recommended book for learning basic graphic concepts, is it hern and baker? Is there any directx book which will cover graphic concepts as well?

I think that keeping a basic graphics book is allways good, because i can use it as reference anytime

Any suggestions from experts here?

like image 607
Signcodeindie Avatar asked Dec 18 '22 04:12

Signcodeindie


1 Answers

You say that you have a C# background so I am going to assume you are more comfortable with C# then C++. Also, you say that you have knowledge of C++ so I will assume that you already have an understanding of memory management.

If you just want to learn and become more comfortable with the graphics pipeline you should check out SlimDX and XNA. They both allow you to use DirectX without having to dive into C/C++.

As for whether to learn the theory or API first I don't think you should do either one first. It makes sense to learn them asynchronously. Pick up a book on the theory but mess around with an API at the same time.

I highly recommend XNA. People commonly say that you should stick with C++ if you want to develop games but I strongly disagree. XNA will allow you to learn more high level game concepts in less time than if you use C++ and DirectX alone. You will be able to focus on learning why you are doing something rather than how to manage the memory. If in the future you decide that game development is a serious passion then by all means C++ is the way to go. You will find that XNA's graphics pipeline closely mirrors DirectX 9 and wont have much trouble moving to C++.

Also, DirectX 9 should be good enough for any beginner and it will give you a better understanding of how and why things have changed in 10 and 11. However, if you really want bleeding edge technologies you can try out SlimDX which is a C# wrapper for DirectX.


With all this said, XNA offers many easy to understand samples that you can start playing with on their educational catalog page. Also, check out ziggyware (great collection of xna tutorials).

Also, there are many blogs you can check out. A lot of them have excellent tutorials on them. Here are some off the top of my head:

  • Reimer Grootjans
  • Shawn Hargreaves
  • Richard Dodsworth
  • Renaud Bédard
  • Nick Gravelyn

Finally, here are 2 graphics books that I highly recommend (they are pretty complex and will last you a long time):

They are not directly related to DirectX, but rather they cover the theory every graphics developer should know. (from linear algebra to texture mapping to volumetrix rendering...)

like image 115
zfedoran Avatar answered Feb 02 '23 00:02

zfedoran