Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Direct3D
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
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}}
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Direct3D
(section)
Add topic