Blog

Ingresar:     


Direct3D11

Sat 25 Mar 23 @ 10:45 pm

Direct3D11 Pipeline Stages (in orange, the additional stages versus Direct3D10)

(c) Microsoft

IA : Input-Assembler stage
VS : Vertex Shader stage
HS : Hull Shader stage
DS : Domain Shader stage
GS : Geometry Shader stage
SO : Stream Output stage
RS : Rasterizer Stage (including Fill/culling mode, scissor Rects and viewports, etc)
PS : Pixel Shader stage
OM : Output-Merger stage (including blending setup, depth, stencil, render target views, etc)
CS : Computer Shader stage
--------------------------------------------------------------------------------------------
#include <d3d11.h>
#pragma comment (lib, "d3d11.lib")
-------- Interfaces --------
ID3D11Device
ID3D11DeviceContext
ID3D11ShaderResourceView
ID3D11RenderTargetView
ID3D11DepthStencilView
ID3D11UnorderedAccessView
ID3D11Resource
ID3D11Buffer [vertex buffer, index buffer or shader-constant buffer]
ID3D11Texture1D
ID3D11Texture2D
ID3D11Texture3D
ID3D11VertexShader
ID3D11GeometryShader
ID3D11PixelShader
ID3D11InputLayout
ID3D11DepthStencilState
ID3D11BlendState
ID3D11RasterizerState
ID3D11SamplerState
ID3D11HullShader
ID3D11DomainShader
ID3D11ComputeShader
ID3D11VideoContext
ID3D11VideoDecoder
ID3D11VideoDecoderOutputView
ID3D11VideoDevice
ID3D11VideoProcessor
ID3D11VideoProcessorEnumerator
ID3D11VideoProcessorInputView
ID3D11VideoProcessorOutputView
ID3D11Asynchronous
ID3D11Query
ID3D11Predicate
ID3D11Counter
ID3D11ClassLinkage
ID3D11ClassInstance
ID3DBlob
-------- Structures / Enumerations --------
D3D11_FEATURE
D3D11_FEATURE_LEVEL
D3D11_DEVICE_CONTEXT_TYPE
D3D11_BUFFER_DESC
D3D11_FORMAT_SUPPORT
D3D11_SUBRESOURCE_DATA
D3D11_BIND_FLAG
D3D11_SHADER_RESOURCE_VIEW_DESC
D3D11_RENDER_TARGET_VIEW_DESC
D3D11_RENDER_TARGET_BLEND_DESC
D3D11_DEPTH_STENCIL_VIEW_DESC
D3D11_DEPTH_STENCIL_DESC
D3D11_RASTERIZER_DESC
D3D11_RESOURCE_DIMENSION
D3D11_TEXTURE1D_DESC
D3D11_TEXTURE2D_DESC
D3D11_TEXTURE3D_DESC
D3D11_VIEWPORT
D3D11_FILTER
D3D11_BLEND_DESC
D3D11_BOX
D3D11_RECT
D3D11_COUNTER_INFO
D3D11_COUNTER_DESC
D3D11_COUNTER_TYPE
--------------------------------------------------------------------------------------------
#include <d3d11_1.h>
-------- Interfaces --------
ID3D11Device1
ID3D11DeviceContext1
ID3DDeviceContextState
ID3D11RasterizerState1
ID3D11BlendState1
ID3D11VideoDevice1
ID3D11VideoContext1
ID3D11VideoProcessorEnumerator1
--------------------------------------------------------------------------------------------
#include <d3d11_2.h>
-------- Interfaces --------
ID3D11Device2
ID3D11DeviceContext2
--------------------------------------------------------------------------------------------
#include <d3d11_3.h>
-------- Interfaces --------
ID3D11Device3
ID3D11DeviceContext3
ID3D11DeviceContext4
ID3D11ShaderResourceView1
ID3D11RenderTargetView1
ID3D11RasterizerState2
ID3D11Texture2D1
ID3D11Texture3D1
--------------------------------------------------------------------------------------------
#include <d3d11_4.h>
-------- Interfaces --------
ID3D11Device4
ID3D11Device5
ID3D11VideoDevice2
ID3D11VideoContext3
ID3D11Multithread
--------------------------------------------------------------------------------------------
#include <dxgi.h>
-------- Interfaces --------
IDXGIFactory
IDXGIAdapter
IDXGIDevice
IDXGIOutput
IDXGIResource
IDXGISurface
IDXGISwapChain
-------- Structures / Enumerations --------
DXGI_ADAPTER_DESC
DXGI_SWAP_CHAIN_DESC
DXGI_OUTPUT_DESC
DXGI_SURFACE_DESC
DXGI_SHARED_RESOURCE
DXGI_FORMAT
DXGI_SAMPLE_DESC
--------------------------------------------------------------------------------------------
Additional libraries:
--------
1) The DirectX Tool Kit (aka DirectXTK) is a collection of helper classes for writing DirectX 11.x code in C++
https://walbourn.github.io/directxtk/
=> Additional package to download with NuGet in Visual Studio 2022: "directxtk_desktop_win10"

2) DirectXTex texture processing library
https://walbourn.github.io/directxtex/
=> Additional package to download with NuGet in Visual Studio 2022: "directxtex_desktop_win10"