I have been learning OpenGL from NeHe tutorials for half a week. I have stoped because changed my opinion. Of course, OGL is cross-platform and very useful but to be honest - Who use OpenGL as main render device? Nobody... AAA games as well as professional game engines (Source Engine, Unreal Engine, Cry Engine, Quake?, Doom? and many others...) use DirectX.DX also allows you to write games for Xbox, Play Station etc.
I would like to learn DirectX 11. 11 is new and fresh. Say nothing of new features like tessellation and multi-thread rendering, microsoft developers did a big step - everything has been changed since DX9. I think learning will take me a long time. It is not unprofitable(?) to learn DX9, DX9 will be old soon. We will see a new technologies - next Xbox, Play Staton etc... On the other hand DX9 has a lot of tutorials and useful samples from Directx SDK. I also tested WinApi, Allegro and Irrlicht (but i didnt like it).
I have spended last 2 days on looking tutorials and some interesting things for DX11. What have i found?
http://www.rastertek.com/tutdx11.html - This site has a lot of tutorials. I didnt like, a author writes code making a pseudo game engine. To draw a triangle, author wrote many code (like in small pseudo game engine).
DirectX 11 samples from SDK - there are many tutorials for beginners with DX9, intermediate with DX10 and advanced with DX11 (as i said - tessellation, multi-thread rendering etc. and a few tutorials about drawing a triangle)
So, to sum up, my question is: how should I learn DirectX 11? and how have you learned Directx? (9,10,11 - it dosent matter).
That would be very useful instead of broking my head on question - what to do. Sorry for a language mistakes in my text - i am just learning.
A lot of games use OpenGL:http://en.wikipedia....OpenGL_programs
including Starcraft 2 (OSX version), also the Source Engine and Unreal Engine use OpenGL as well as D3D.
You should have a lot of examples provided with the SDK for D3D 11.
This site: http://www.rastertek.com/tutdx11.html
has plenty of examples and I still recommend it. Your goal shouldn't be to copy how someone structures there code, but what they have done in order to get that given result.
You can also go to: http://www.directxtu.../tutorials.aspx
You could just as well buy a book: (Introduction to 3D Game Programming with DirectX 11) http://www.amazon.co...ds=direct 3d 11
I wouldn't worry about what "people" use for AAA games unless you're making AAA games. To say nobody uses OpenGL for AAA title's is false statement. You can get a group of programmers and artists together that lack skill and ability with the best tools out there, and they still would not be able to make any AAA titles. There is no magic button to producing high quality games.
To answer your question on how you should learn DirectX, is to simply just use it! Make a ton of example programs using samples and other tutorials you read up on. I learn API's by understanding the basic structure, and just exploring by spending hours coding with that API. This may not work for everyone because we all learn differently, but much like programming itself, the hours spent coding and exploring is one way to become more familiar with the language.
How much programming experience do you have?