DirectX 11 , Where to start?

Started by
11 comments, last by matt77hias 6 years, 7 months ago

Hi i'm new to this forum and was wondering if there are any good places to start learning directX 11. I bought Frank D Luna's book but it's really outdated and the projects won't even compile. I was excited to start learning from this book because it gives detailed explanations on the functions being used as well as the mathematics. Are there any tutorials / courses /books that are up to date which goes over the 3D math and functions in a detailed manner? Or where does anyone here learn directX 11? I've followed some tutorials from this website http://www.directxtutorial.com/LessonList.aspx?listid=11 which did a nice job but it doesn't explain what's happening with the math so I feel like I'm not actually learning, and it only goes up until color blending. Rasteriks tutorials doesn't go over the functions much at all or the math involved either. I'd really appreciate it if anyone can point me in the right direction, I feel really lost. Thank you

Advertisement

Luna's examples won't compile anymore?  I guess it has been a few years since I tried.  One of the knocks on his examples is that they all use the Effects Framework, which has been deprecated, and maybe doesn't exist in the latest DirectX SDK?

Another good one is Practical Rendering and Computation with Direct3D11, which was co-written by one of the moderators here, MJP

Eric Richards

SlimDX tutorials - http://www.richardssoftware.net/

Twitter - @EricRichards22

The examples in frank's book (along with many others) are indeed out of date so wont compile / work fully, there is a potential workaround as listed on Frank's site at (http://www.d3dcoder.net/Data/Book4/d3d11Win10.htm)

This can allow you to work through the code you need with some minor changes. Though as said it is a workaround so isnt using DX11 in the most "up to date" of ways.

You can however look at how things are done previously and compare that to how they are done now, many functions etc still have similar names / ways of doing things with just a little bit of moving around and playing with old code to update it.. can also just be fun in itself ;o

You could try this page:

http://www.rastertek.com/tutindex.html

DirectX11 and techniques to get going.

I have come far using Franks book and this page.

/Kim

 

Thank you everyone for your responses, I like your ideas. I was researching for hours on how to get his projects to work but nothing seemed to work, not even the fix he posted. There is always one error or another coming at me, and I spent many many hours trying to get his projects working so I just decided to drop it already. @kikr4000 What is your method of following both the book and rastertek's tutorials? I had posted that I didn't enjoy his tutorials because the explanations are very vague so it's difficult to know what you're actually doing. Do you follow through his tutorials and check frank's book for more details on the particular subject you're studying or something? The thing I like about Frank's book is that he explains the math and the functions in-detail, so I feel that I'm actually learning something as opposed to reading from many other sources.

 

 

Hi,

I read most of the book first. And as you also discovered it requires some work to get the books examples running. 
As I recall it I got  some examples running using the June2010 SDK which you have to compile. Do not ask me details because I do not remember just found a short node I made:

  • After Install of directX June 2010 the following must be compiled.
  • C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Samples\C++\Effects11
  • Chose either x64 or x86 and make both a debug and release version
  • Error concerning  "d3dx11effect.h" Common expects d3dx11Effect.h
  • In d3dUtil.h replace
  • "#include <d3dx11.h>"
  • with
  • "#include <d3d11.h>
  • #include <dxgi.h>
  • #include <d3dx11.h>"

The next problem is then what version of windows you are using I remember it also caused me some major headaches.

So the book was mostly used for setting up DirectX (I basically used chapter 4-page 103 and forward as a recipe and wrote my own code based on that chapter) and get it working and understanding the flow of the directX commands in order to get going. Also it has been used for understanding some of the rendering techniques used for shadows and so on.
But none of the examples is compile and go.
Rastertek examples is perhaps not elegant code and you are right introduction of subjects and end target for tutorials could be better, but my experience has been that it is fairly simple to get going and then it is a matter of change code parts and experience how stuff works or not works after changes.
The main problem with Franks book is the Effect Framework but that relate to the hlsl code. This is then where rastertek examples came in handy. What rastertek does are in most cases found and described in Franks Book.
So for me it was a matter of cutting code pieces from the book to setup directX and using rastertek examples to get things going with HLSL.
A third option I forgot to mention in my first post : https://www.braynzarsoft.net/viewtutorial/q16390-braynzar-soft-directx-11-tutorials

Not a tutorial I have looked much at for getting going but have however used it later where the chapter concerning instancing came in handy.
Doing DirectX 11 requires work to get going I have not seen any one source that gives you all the answers.
 

/Kim

 

"Quick and Dirty" Introductions:

Fundamentals:

Refinements:

  • HLSL Development Cookbook (On the one hand, this book contains lots of small and large errata. On the other hand, this book still gives valuable insights. So in order to find the gems and get the most out of it, you already need some understanding of rendering techniques and have a critical mindset.)

🧙

1 hour ago, matt77hias said:

HLSL Development Cookbook (On the one hand, this book contains lots of small and large errata. On the other hand, this book still gives valuable insights. So in order to find the gems and get the most out of it, you already need some understanding of rendering techniques and have a critical mindset.)

Be very careful with this one.  The technical content is pretty decent, but oh flying spaghetti monster, it looks like it wasn't even put through the Microsoft Word grammar checker, let alone put in the the same room as a proofreader, which makes it much more difficult to understand than it ought to be.

Eric Richards

SlimDX tutorials - http://www.richardssoftware.net/

Twitter - @EricRichards22

14 minutes ago, ericrrichards22 said:

Be very careful with this one.  The technical content is pretty decent, but oh flying spaghetti monster, it looks like it wasn't even put through the Microsoft Word grammar checker, let alone put in the the same room as a proofreader, which makes it much more difficult to understand than it ought to be.

I am really angry with the so-called reviewers (and proof readers) (ps.: there is no Howest University in Belgium; it is a university college) of this book. A complete page is dedicated to them while the book contains so many grammar and word errors (which are copy-pasted around), one immediately notices during the first read. I didn't really blame the author till the point I started noticing the code errors as well (wrong projection matrices, non-existing DXGI_FORMATs, etc.).

Furthermore, the author doesn't really explain his intentions. For example, he suddenly generates his light volumes explicitly via the tesselation pipeline (as an alternative for stencil testing) while explaining how deferred shading differs from forward shading. This is just an optimization, which one can use in combination with deferred shading, but has fundamentally nothing to do with deferred shading. One wouldn't use that in practice anyway since it involves a separate pass for each light. As a reader, you basically need to figure that out yourself and you need to realize that his code isn't the blueprint of beautiful (a pixel shader for four lights at the same time? no need to give the code, just mention the idea) and efficient code.

🧙

BTW @ericrrichards22 I noticed your bookshelf while googling some D3D11 stuff. I wonder since you have all three books that I mentioned, if you know some other more advanced D3D11 books (C++, no SlimDX)?

🧙

This topic is closed to new replies.

Advertisement