Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Direct3D
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Pipeline== [[File:D3D11 Pipeline.svg|thumb|right|Direct3D 11 graphics pipeline process]] The Microsoft Direct3D 11 API defines a process to convert a group of vertices, textures, buffers, and state into an image on the screen. This process is described as a rendering pipeline with several distinct stages. The different stages of the Direct3D 11 pipeline are:<ref>{{cite web |url=https://docs.microsoft.com/en-us/windows/win32/direct3d11/overviews-direct3d-11-graphics-pipeline |title=Graphics Pipeline |department=Direct3D 11 Graphics |website=[[Microsoft Docs]] |access-date=2021-10-19}}</ref> # '''Input-Assembler''':<ref>{{cite web |url=https://docs.microsoft.com/en-us/windows/win32/direct3d11/d3d10-graphics-programming-guide-input-assembler-stage |title=Input-Assembler Stage |department=Direct3D 11 Graphics |website=[[Microsoft Docs]] |date=November 4, 2020 |access-date=2021-10-19}}</ref> Reads in vertex data from an application supplied vertex buffer and feeds them down the pipeline. # '''[[Vertex shader|Vertex Shader]]''':<ref>{{cite web |url=https://docs.microsoft.com/en-us/windows/win32/direct3d11/vertex-shader-stage |title=Vertex Shader Stage |department=Direct3D 11 Graphics |website=[[Microsoft Docs]] |access-date=2021-10-19}}</ref> Performs operations on a single vertex at a time, such as transformations, skinning, or lighting. # '''[[Hull shader|Hull-Shader]]''':<ref>{{cite web |url=https://docs.microsoft.com/en-us/windows/win32/direct3d11/direct3d-11-advanced-stages-tessellation |title=Tessellation Stages |department=Direct3D 11 Graphics |website=[[Microsoft Docs]] |date=September 16, 2020 |at=Hull-Shader Stage |access-date=2021-10-19}}</ref> Performs operations on sets of patch control points, and generates additional data known as patch constants. # '''Tessellator''':<ref>{{cite web |url=https://docs.microsoft.com/en-us/windows/win32/direct3d11/direct3d-11-advanced-stages-tessellation |title=Tessellation Stages |department=Direct3D 11 Graphics |website=[[Microsoft Docs]] |date=September 16, 2020 |at=Tessellator Stage |access-date=2021-10-19}}</ref> Subdivides geometry to create higher-order representations of the hull. # '''[[Domain shader|Domain-Shader]]''':<ref>{{cite web |url=https://docs.microsoft.com/en-us/windows/win32/direct3d11/direct3d-11-advanced-stages-tessellation |title=Tessellation Stages |department=Direct3D 11 Graphics |website=[[Microsoft Docs]] |date=September 16, 2020 |at=Domain-Shader Stage |access-date=2021-10-19}}</ref> Performs operations on vertices output by the tessellation stage, in much the same way as a vertex shader. # '''[[Geometry shader|Geometry Shader]]''':<ref>{{cite web |url=https://docs.microsoft.com/en-us/windows/win32/direct3d11/geometry-shader-stage |title=Geometry Shader Stage |department=Direct3D 11 Graphics |website=[[Microsoft Docs]] |date=May 24, 2021 |access-date=2021-10-19}}</ref> Processes entire primitives such as triangles, points, or lines. Given a primitive, this stage discards it, or generates one or more new primitives. # '''Stream-Output''':<ref>{{cite web |url=https://docs.microsoft.com/en-us/windows/win32/direct3d11/d3d10-graphics-programming-guide-output-stream-stage |title=Stream-Output Stage |department=Direct3D 11 Graphics |website=[[Microsoft Docs]] |date=November 4, 2020 |access-date=2021-10-19}}</ref> Can write out the previous stage's results to memory. This is useful to recirculate data back into the pipeline. # '''Rasterizer''':<ref>{{cite web |url=https://docs.microsoft.com/en-us/previous-versions/windows/desktop/bb322826(v=vs.85) |title=RenderStates |department=DirectX 9.0 for Managed Code |website=[[Microsoft Docs]] |date=November 6, 2009 |access-date=2021-10-19}}</ref><ref>{{cite web |url=https://docs.microsoft.com/en-us/windows/win32/direct3d11/d3d10-graphics-programming-guide-rasterizer-stage |title=Rasterizer Stage |department=Direct3D 11 Graphics |website=[[Microsoft Docs]] |date=November 4, 2020 |access-date=2021-10-19}}</ref> Converts primitives into pixels, feeding these pixels into the pixel shader. The Rasterizer may also perform other tasks such as clipping what is not visible, or interpolating vertex data into per-pixel data. # '''[[Pixel shader|Pixel Shader]]''':<ref>{{cite web |url=https://docs.microsoft.com/en-us/windows/win32/direct3d11/pixel-shader-stage |title=Pixel Shader Stage |department=Direct3D 11 Graphics |website=[[Microsoft Docs]] |date=August 19, 2020 |access-date=2021-10-19}}</ref> Determines the final pixel color to be written to the render target and can also calculate a depth value to be written to the depth buffer. # '''Output-Merger''':<ref>{{cite web |url=https://docs.microsoft.com/en-us/windows/win32/direct3d11/d3d10-graphics-programming-guide-output-merger-stage |title=Output-Merger Stage |department=Direct3D 11 Graphics |website=[[Microsoft Docs]] |date=May 24, 2021 |access-date=2021-10-19}}</ref> Merges various types of output data ([[pixel shader]] values, alpha blending, depth/stencil...) to build the final result. The pipeline stages illustrated with a round box are fully programmable. The application provides a shader program that describes the exact operations to be completed for that stage. Many stages are optional and can be disabled altogether. {{Clear}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)