Wednesday, December 30, 2009

Direct3D 11 Overview

Here is a first draft for the data flow in the DirectX 11 rendering pipeline:

And here is the DirectCompute overview:

I would consider those now beta.


Anonymous said...

wow good
but i have a question.
i'm a D3D 10 beginner..
this pic show that
"stencil test(runs before pixel shader)"

i don't know why runs before pixel shader

because stencil test is located in output merger (after pixel shader)

i'm not good at english.
peter adams

Wolfgang Engel said...

the image doesn't have to do anything with how actual hardware implements this. I usually keep in the back of my head that the stencil buffer nowadays is implemented before the pixel shader and not after it. The simplified logical view shows it in the output merger. You can say similar things about many parts of this image. I added the hierarchical Z at some point but that doesn't make sense because Hier-Z is a hardware unit that can't be programmed via DirectX. In essence what you do you have a separate overview for the actual hardware implementation in your head. So one overview for the software implementation == DX and one for how the hardware works on the data.

Anonymous said...

ok. i know
thanks very very much for reply

by the way.
there is an tutorial for d3d 10
Programming Vertex, Geometry and Pixel Shaders

will d3d11 version published in th future?

Wolfgang Engel said...

we are talking about it ... but it seems we do not have enough time for an update.



so far,and question i still don't understand.

i had asked about pixel shader ddx/ddy
function at another forums.

some people tell me that pixel shader
render 4 pixels(2x2 quad) at one time.
is this truth.
there is no document or books tell us pixel shader render 2x2 pixels at one time.
At first i thought that render one pixels at one time.

Fernando Moreira said...

Just a small tip from a begginer, if you let me do it.
I believe that the scheme would get better if the programmable stages' surrounding circuit had a different shape or a diferrent color.

Thank you Mr. Wolfgang! Your work is an inspiration to me :)

Anonymous said...

i have found hierarchy z is removed
from the pic.

Wolfgang Engel said...

Yes because it is not part of the software layer.

Anonymous said...

well,compare D3D 9 pipeline with higher version,there is a "depth clip",what it is?
at first,i consider it is "early z test" but seems not.
i had looked from DX SDK,but doesn't any help with "clip depth".

Michael Flenov said...

You know, I started learning DirectX long time ago. I use to love it, but know I prefer using OpenGL. Mostly because I develop for iOS and Windows at the same time and OpenGL allows me to do that.

Antoine Reux said...

Hi Wolfgang, I'm here to make a request. I'm currently writing a simple tutorial about Direct3D 11 on a website, and I found your diagram so great that I would like to use it (after some minor modifications and translations -French-). You would be credited for this of course.

So in a nuthsell, I'm asking your authorization.
You can contact me for further details at "antoine.reux at"

Antoine Reux

Wolfgang Engel said...

Sure, please go ahead.