This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch master
in repository Direct3D.wiki.

View the commit online.

commit adc346ecde7e2e1444532d3087aff8846eefa44a
Author: Vincent Torri <vincent.to...@gmail.com>
AuthorDate: Sat Jul 29 05:28:57 2023 -0700

    Update 'Direct3D 11 for 2D: DirectX 11 overview'
---
 Direct3D-11-for-2D%3A-DirectX-11-overview.md | 43 ++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/Direct3D-11-for-2D%3A-DirectX-11-overview.md b/Direct3D-11-for-2D%3A-DirectX-11-overview.md
new file mode 100644
index 0000000..1b21933
--- /dev/null
+++ b/Direct3D-11-for-2D%3A-DirectX-11-overview.md
@@ -0,0 +1,43 @@
+# DirectX 11 overview
+
+Up to Direct3D 9, the interface between the hardware and the applications was the Direct3D DLL. Since Direct3D 10, this DLL has been splitted into two libraries:
+
+* The DirectX Graphics Infrastructure (DXGI): it manages low-level tasks like enumeration of hardware devices, presenting rendered frames or managing fullscreen.
+* The Direct3D DLL: it manages the pipeline to create 3D (or 2D) graphics.
+
+Here is a diagram that shows the link between the DirectX components (diagram taken from [MSDN DXGI overview' page](https://learn.microsoft.com/en-us/windows/win32/direct3ddxgi/d3d10-graphics-programming-guide-dxgi)):
+
+<p align="center">
+<img alt="dxgi diagram" src=""  width="50%" height="50%">
+</p>
+
+In this tutorial, DXGI will be used for:
+
+* Create a swap chain
+* Handling window resizing and fullscreen
+* Debugging
+
+What will be needed to use Direct3D is at least
+
+* A D3D11 device and a device context (the latter also called immediate context)
+* A DXGI swap chain
+* A D3D11 render target view, which is the output image. Several render target views can be created, to have effect like the portal game.
+
+Normally, the devices will not be touched anymore, except if the driver has some issues or the graphic card is removed.
+
+Direct3D is using a pipeline to render the final output. Here is the different components (diagram taken from [MSDN 'Graphics pipeline' page](https://learn.microsoft.com/en-us/windows/win32/direct3d11/overviews-direct3d-11-graphics-pipeline)):
+
+<p align="center">
+<img alt="dxgi diagram" src=""  width="50%" height="50%">
+</p>
+
+1. The input Assembler (IA) stage: it reads the geometric data, vertices and indices, to create lines, rectangles, cubes, etc...
+2. The Vertex Shader (VS) stage: a shader program that can transform (scale, ..) the primitives built in the IA stage
+3. The Hull Shader (HS) stage (not used in that tutorial)
+4. The Tesselator Shader (TS) stage (not used in that tutorial)
+5. The Domain Shader (DS) stage (not used in that tutorial)
+6. The Geometry Shader (GS) stage (not used in that tutorial)
+7. The Stream Output (SO) stage (not used in that tutorial)
+8. The Rasterizer (RS) stage: turn the vector informations into pixels.
+9. The Pixel Shader (PS) stage: a shader program that modifies each pixel that will be seen
+10. The Output Merger (OMS) stage: determines which pixels will be written to the render target

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to