Best learning resource for an OpenGL programmer

Started by
7 comments, last by SapphireG 9 years, 6 months ago

Hi all,

I have a mid level knowledge of graphics in theory and I have a bit of experience in OpenGL, but I want to learn DX now.

It's not a problem buying a book or reading several tuts, but what I'd like is:

1- When I was learning OpenGL many books and tutorials were strongly relying on underlying framework (i.e. wrappers or compulsory engines). If possible I would like something that does not "hide" anything.

2- I know that documentation is often a good place where to start, but I tend to enjoy more a guided walk through.

Are the resources provided with the SDK enough to cover my necessities?

Thank you very much,

Micheal

Advertisement

I want to learn DX now.

I don't bother buying a book or reading several tuts, but what I'd like is:

1- When I was learning OpenGL many books and tutorials were strongly relying on underlying framework. If possible I would like something that does not "hide" anything.

2- I know that documentation is often a good place where to start, but I tend to enjoy more a guided walk through.

Are the resources provided with the SDK enough to cover my necessities?

By "DX," do you mean Direct2D? Direct3D 11? DirectX 9 or 10?

It's not clear what you mean by "framework." The Direct3D 11 API, for instance, relies on several "underlying" frameworks or layers - DXGI, hardware drivers, etc., none of which a starting D3D programmer needs to be intimately familiar with.

As it appears you don't want to buy a book or work through tutorials, with regard to a "guided walkthrough" (somehow different than a tutorial? - not clear), the SDK that, for instance, comes with Visual Studio has excellent documentation, but won't provide you with a "walkthrough."

However, googling for "guided walkthrough direct3d 11" yields ~6 million hits. Perhaps one of those will provide you a start. Some of them, for instance, discuss porting OpenGL apps to Direct3D, etc.

Please don't PM me with questions. Post them in the forums for everyone's benefit, and I can embarrass myself publicly.

You don't forget how to play when you grow old; you grow old when you forget how to play.


I want to learn DX now.

I don't bother buying a book or reading several tuts, but what I'd like is:

1- When I was learning OpenGL many books and tutorials were strongly relying on underlying framework. If possible I would like something that does not "hide" anything.

2- I know that documentation is often a good place where to start, but I tend to enjoy more a guided walk through.

Are the resources provided with the SDK enough to cover my necessities?

By "DX," do you mean Direct2D? Direct3D 11? DirectX 9 or 10?

It's not clear what you mean by "framework." The Direct3D 11 API, for instance, relies on several "underlying" frameworks or layers - DXGI, hardware drivers, etc., none of which a starting D3D programmer needs to be intimately familiar with.

As it appears you don't want to buy a book or work through tutorials, with regard to a "guided walkthrough" (somehow different than a tutorial? - not clear), the SDK that, for instance, comes with Visual Studio has excellent documentation, but won't provide you with a "walkthrough."

However, googling for "guided walkthrough direct3d 11" yields ~6 million hits. Perhaps one of those will provide you a start. Some of them, for instance, discuss porting OpenGL apps to Direct3D, etc.


I want to learn DX now.

I don't bother buying a book or reading several tuts, but what I'd like is:

1- When I was learning OpenGL many books and tutorials were strongly relying on underlying framework. If possible I would like something that does not "hide" anything.

2- I know that documentation is often a good place where to start, but I tend to enjoy more a guided walk through.

Are the resources provided with the SDK enough to cover my necessities?

By "DX," do you mean Direct2D? Direct3D 11? DirectX 9 or 10?

It's not clear what you mean by "framework." The Direct3D 11 API, for instance, relies on several "underlying" frameworks or layers - DXGI, hardware drivers, etc., none of which a starting D3D programmer needs to be intimately familiar with.

As it appears you don't want to buy a book or work through tutorials, with regard to a "guided walkthrough" (somehow different than a tutorial? - not clear), the SDK that, for instance, comes with Visual Studio has excellent documentation, but won't provide you with a "walkthrough."

However, googling for "guided walkthrough direct3d 11" yields ~6 million hits. Perhaps one of those will provide you a start. Some of them, for instance, discuss porting OpenGL apps to Direct3D, etc.

Sorry I clearly explained myself pretty poorly. My English is failing me.

I mean D3D11, by framework I mean API wrappers for example.

I want to look at tutorials and books, actually I don't care if I have to read many of them I am open to anything! :)

I'd like a tutorial like for example this one I used for opengl: http://www.opengl-tutorial.org/ that goes from zero to something a tad more advanced.

Sorry again if I didn't explained myself clearly


Sorry if I didn't explained myself clearly

No problem. Just wanted to clarify.

You don't mention your language preference, but it sounds like you can work in C++. If so, you'll likely find more learning info laying about.

I'd suggest as a first step, if you don't already have it, download (or download) Visual Studio Express (free). There are several flavors, but the "for Windows" or "for Desktop" versions are likely what you're looking for. Read the descriptions. The appropriate SDK and documentation (which IMHO is very good) come with it.

Googling for "Direct3d 11 c++ tutorial" would be next. Be mindful that goggle will insist that you mean "DirectX 11," which is unfortunate. There are a lot of tutorials that are based on the older DirectX SDK (June 2010)**. Just be careful when you see code such as "#include <d3dx11.h>" as the new SDK has no such "DirectX" support.

**The DirectX SDK is still available (I believe) and may be worth the time to download also, as it has a nice set of code examples with it (which the D3D sdk does not). The example implementation includes a sample browser which is the next best thing to tutorials, and, if you're not familiar with VS, will give you some "solutions" to look at to see how various default directories, libraries, etc., are setup.

Either now or later (maybe later if you're starting at Zero), the DirectX Toolkit will be a welcome addition. Yeah, "DirectX" as it provides some D3D11 implementations similar to the older DX9, 10 and 11 features.

Please don't PM me with questions. Post them in the forums for everyone's benefit, and I can embarrass myself publicly.

You don't forget how to play when you grow old; you grow old when you forget how to play.

Well, since you don't mind buying a book, Frank Luna's one is a pretty safe bet for learning D3D11 imho.


buying a book, Frank Luna's one is a pretty safe bet for learning D3D11 imho.

I would have to disagree about "..Programming With DirectX 11" [emphasis mine] (if that's what you're referring to) being a "safe" bet with regard to learning Direct3D 11. To be sure, his code is very thorough but is based on the DirectX SDK. Certainly a lot can be learned from Luna, but, eventually a transition to Direct3D 11 may be desirable.

Please don't PM me with questions. Post them in the forums for everyone's benefit, and I can embarrass myself publicly.

You don't forget how to play when you grow old; you grow old when you forget how to play.


buying a book, Frank Luna's one is a pretty safe bet for learning D3D11 imho.

I would have to disagree about "..Programming With DirectX 11" [emphasis mine] (if that's what you're referring to) being a "safe" bet with regard to learning Direct3D 11. To be sure, his code is very thorough but is based on the DirectX SDK. Certainly a lot can be learned from Luna, but, eventually a transition to Direct3D 11 may be desirable.

I don't get it. :) In order to program Direct3D 11 applications, you need the DirectX 11 SDK, no? Afaik, Direct3D 11 is part of DirectX 11.

Also, quoting the intended audience from the book's introduction:

"This book was designed with the following three audiences in mind:
1. Intermediate level C++ programmers who would like an introduction to 3D programming using the latest iteration of Direct3D.
2. 3D programmers experienced with an API other than DirectX (e.g., OpenGL) who would like an introduction to Direct3D 11.
3. Experienced Direct3D 9 and Direct3D 11 programmers wishing to learn the latest iteration of Direct3D."
I'm not by any means intended to create a confusion to the OP, so please correct me if I'm wrong.

In order to program Direct3D 11 applications, you need the DirectX 11 SDK, no?

No. What is called the DirectX SDK is from June 2010 (as mentioned in the book) and Luna relies in several places on the D3DX library (such as D3DX11CompileFromFile and others). Direct3D 11 is now implemented (e.g., for Windows 7 desktop) via Windows Kits 8.0 or 8.1. It does not include the D3DX library. The previous mentioned function, for example, is now implemented as D3DCompileFromFile.

Don't misunderstand, as I stated above, a lot can be learned from Luna's "..DirectX 11..", as many of the processes remain the same, but not all. For a beginner (as the OP mentioned), it may or may not be confusing to have to download, install and use the DirectX SDK, if the intent is to learn (today's) Direct3D 11.

Please don't PM me with questions. Post them in the forums for everyone's benefit, and I can embarrass myself publicly.

You don't forget how to play when you grow old; you grow old when you forget how to play.

Ah I see, it's clear now...Thanks for the clarification Buckeye.

This topic is closed to new replies.

Advertisement