ALU
Depth/Stencil Test
Alpha Blend
Temporary/Output Registers
AlphaRGB
User Clip Planes
Frustum Clipping
Face Culling
Viewport Mapping
Homogeneous Divide
Matrix
Palette
Texture
Stage 0
Vertex Buffer 0 Vertex Buffer 1 Vertex Buffer 2 Vertex Buffer 13 Vertex Buffer 14 Vertex Buffer 15
Primitive Assembly
Vertex Assembly
Application
Draw Indexed Primitive
Draw Primitive UP
Index Buffer
Draw Primitive
The DirectX 9.0 Direct3D Graphics Pipeline
Rasterization and Component Interpolation
Depth, Fog Factor
Temp
Temp
Texture Factor
Specular
Texture 0
Texture
Texture 1
Texture
Stage 1
Texture
Current
Texture 7
Texture
Stage 7
Texture
Diffuse
Texture Coordinates
Current
Current
Current
Bump
Mapping
Bump
Mapping
Add Specular
Color Arg 2
Color Arg 1
Color Op
Result Arg
Alpha Op
Texture Factor
Color Arg 0
Alpha Arg 2
Alpha Arg 1
Alpha Arg 0
Current
Temp
Texture
Current
Diffuse
Specular
Temp
<0, 0, 0, 0>
Temp
Temp
Current
Diffuse
Color, Alpha
Stream 0 Stream 1 Stream 2 Stream 13 Stream 14 Stream 15
Draw Rect Patch, Draw Tri Patch
RT Patch Tessellation, N Patch Tessellation
Diffuse Color, Specular Color
Vertex Blend
Projection Matrix
View Matrix
Vertex Fog
Lighting
World
Matrix 0
Position
Normal
Weight 0
World
Matrix 1
Position
Normal
Weight 1
Diffuse
Specular
Texture Stage
Methods
CreatePixelShader
SetCurrentTexturePalette
SetPaletteEntries
SetPixelShader
SetPixelShaderConstant
SetRenderState
SetSamplerState
SetTexture
SetTextureStageState
SetRenderState
CreateIndexBuffer
DrawIndexedPrimitive
SetIndices
CreateVertexBuffer
SetStreamSource
SetStreamSourceFreq
DeletePatch
DrawRectPatch
DrawTriPatch
SetNPatchMode
SetVertexDeclaration
DrawIndexedPrimitiveUP
DrawPrimitiveUP
SetFVF
SetRenderState
SetVertexDeclaration
SetVertexShader
SetSoftwareVertexProcessing
MultiplyTransform
SetRenderState
SetTransform
MultiplyTransform
SetVertexShaderConstant
SetRenderState
SetTextureStageState
SetTransform
SetRenderState
SetTransform
MultiplyTransform
SetLight
SetLightEnable
SetMaterial
SetRenderState
SetRenderState
SetClipPlane
SetRenderState
SetClipStatus
SetViewport
SetPixelShader
SetRenderState
DrawPrimitive
SetRenderState
MultiplyTransform
SetTransform
CreateVertexShader
Dev Caps_TL Vertex System Memory
Dev Caps_TL Vertex Video Memory
Dev Caps 2_Stream Offset
Dev Caps 2_Vertex Elements Can Share Stream Offset
Texture
Coordinate
Generation
Texture Coordinates
Texture
Matrices
1-Sum(W[0], W[1], W[2])
World
Matrix 2
Position
Normal
Weight 2
World
Matrix 3
Position
Normal
Palette
Indices
This chart depicts the semantic organization of the pipeline and not any particular implementation.
Methods: Most Get and object creation (CreateRenderTarget, etc.) methods omitted for clarity.
SetPixelShaderConstant and SetVertexShaderConstant refer to all three forms (B, F and I) of the method.
Capabilities: Relevant bit flags are listed before relevant D3DCAPS9 members.
"Member_Flag Name" denotes "D3DCAPS9::Member & D3DMBR_FLAGNAME":
"Primitive Misc Caps_Blend Op" - "D3DCAPS9::PrimitiveMiscCaps & D3DPMISCCAPS_BLENDOP"
“VS 2.0 Caps” - “D3DCAPS9::VS20Caps”
Render, Sampler & Texture Stage States:
"RS Name" denotes "D3DRS_NAME": "RS Z Write Enable" - "D3DRS_ZWRITEENABLE".
“SS Name” denotes “D3DSAMP_NAME”: “SS Border Color” - “D3DSAMP_BORDERCOLOR”
“TSS Name” denotes “D3DTSS_NAME”: "TSS Color Arg 1" - "D3DTSS_COLORARG1"
Surface
Texture
Cube Texture
Volume
Volume Texture
Index Buffer
Vertex Buffer
Device Resources
Lock Rect, Unlock Rect
Lock Box, Unlock Box
Lock, Unlock
Texture
Addressing
Texture
Sampling
Texture Coordinates
Pixel Shader ALU
Input Registers
Component Multiplex
Scale, Bias Scale, Bias
Execute
Scale, Clamp
Execute
Scale, Clamp
Component Mask
Output Register
Color, Alpha, Depth
Fog Blend
Alpha Test Alpha Ref
Pass
Render Target
Channel Mask
Dither
Depth, Stencil
Color, Alpha
Pass
Color, Alpha, Depth, Stencil
Color
D/A
Converter
Cursor
Video Scanout
Gamma
Ramp
CRT Monitor
Presentation
SetRenderState
SetRenderState
SetScissorRect
SetRenderState
SetRenderState
SetRenderState
SetRenderState
SetRenderState
Clear
ColorFill
SetDepthStencilSurface
SetRenderState
SetRenderTarget
StretchRect
UpdateSurface
UpdateTexture
Present
SetDialogBoxMode
GetRasterStatus
SetCursorPosition
SetCursorProperties
SetGammaRamp
ShowCursor
Scissor Test
Pass
Scissor Rect
Depth/Stencil Test
Stencil Fail
Operation
Depth
Function
Stencil Pass
Operation
Stencil Z Fail
Operation
Fail
Reference
Dest Stencil
Mask
& &
Stencil
Function
Fail
Pass
Pass
Dest Depth
RS Cull Mode
Render, Sampler &
Texture Stage States
RS Specular Enable
RS Texture Factor
RS Wrap 0-15
SS Address U, V, W
SS Border Color
SS Mag Filter
SS Min Filter
SS Mip Filter
SS Mipmap LOD Bias
SS Max Mip Level
SS Max Anisotropy
TSS Tex Coord Index
TSS Texture Transform Flags
TSS Color Arg 0, 1, 2
TSS Color Op
TSS Alpha Arg 0, 1, 2
TSS Alpha Op
TSS Constant
TSS Result Arg
TSS Bump Env Mat
TSS Bump Env L Scale
TSS Bump Env L Offset
RS Fill Mode
RS Last Pixel
RS Depth Bias
RS Slope Scale Depth Bias
RS Specular Enable
RS Ambient
RS Ambient Material Source
RS Diffuse Material Source
RS Emissive Material Source
RS Local Viewer
RS Lighting
RS Normalize Normals
RS Shade Mode
RS Specular Material Source
TSS Texture Transform Flags
RS Point Sprite Enable
RS Point Size Min, Max
RS Point Scale Enable
RS Point Scale A, B, C
RS Fog Vertex Mode
RS Range Fog Enable
RS Clipping
RS Color Vertex
RS Point Size
RS Tween Factor
RS Indexed Vertex Blend Enable
RS Vertex Blend
RS Clip Plane Enable
RS Adaptive Tess X, Y, Z, W
RS Enable Adaptive Tessellation
RS Max Tessellation Level
RS Min Tessellation Level
RS Normal Degree
RS Patch Edge Style
RS Position Degree
TSS Tex Coord Index
RS sRGB Write Enable
RS Multisample Antialias
RS Multisample Mask
RS Stencil Write Mask
RS Z Write Enable
RS Color Write Enable
RS Color Write Enable 1
RS Color Write Enable 2
RS Color Write Enable 3
RS Dither Enable
RS Scissor Test Enable
RS Alpha Test Enable
RS Alpha Ref
RS Alpha Func
RS Fog Enable
RS Fog Color
RS Fog Start
RS Fog End
RS Fog Density
RS Fog Table Mode
RS Stencil Enable
RS Stencil Func
RS Stencil Ref
RS Stencil Mask
RS Stencil Fail
RS Two Sided Stencil Mode
RS CCW Stencil Fail
RS CCW Stencil Z Fail
RS CCW Stencil Pass
RS Stencil Z Fail
RS Stencil Pass
RS Z Enable
RS Z Func
RS Alpha Blend Enable
RS Separate Alpha Blend Enable
RS Blend Factor
RS Src Blend Alpha
RS Dest Blend Alpha
RS Blend Op Alpha
RS Src Blend
RS Dest Blend
RS Blend Op
Capabilities
Max Primitive Count
Max Vertex Index
Primitive Misc Caps_Clip Plane Scaled Points
Max User Clip Planes
Dev Caps_HW Rasterization
Line Caps_Antialias
Line Caps_Texture
Primitive Misc Caps_Fog And Specular Alpha
Raster Caps_Color Perspective
Raster Caps_Slope Scale Depth Bias
Texture Caps_Projected
Extents Adjust
Guard Band Left, Top, Right, Bottom
Max Pixel Shader Value
Max Point Size
Max Vertex W
Pixel Shader Version
Shade Caps
Caps 2_Can Auto Gen Mip Map
Dev Caps_Separate Texture Memories
Dev Caps_Texture Non Local Vid Mem
Dev Caps_Texture System Memory
Dev Caps_Texture Video Memory
Primitive Misc Caps_Per Stage Constant
Primitive Misc Caps_TSS Arg Temp
Raster Caps_Anisotropy
Raster Caps_Mipmap LOD Bias
Max Anisotropy
Max Texture Aspect Ratio
Max Texture Height
Max Texture Width
Max Volume Extent
Max Simultaneous Textures
Max Texture Blend Stages
Max Texture Repeat
Texture Caps
Texture Address Caps
Texture Op Caps
Texture Filter Caps
Cube Texture Filter Caps
Volume Texture Filter Caps
Pixel Shader Version
Pixel Shader 1.x Max Value
PS 2.0 Caps
Max P Shader Instructions Executed
Max Pixel Shader 3.0 Instruction Slots
Dev Caps_Draw Prim TL Vertex
Max Primitive Count
Dev Caps_RT Patches
Dev Caps_Quintic RT Patches
Dev Caps_RT Patch Handle Zero
Dev Caps 2_Adaptive Tess RT Patch
Dev Caps 2_Adaptive Tess N Patch
Dev Caps 2_D Map N Patch
Max N Patch Tessellation Level
Dev Caps_HW Transform And Light
Vertex Processing Caps_Tweening
Max Vertex Blend Matrices
Max Vertex Blend Matrix Index
Vertex Shader Version
VS 2.0 Caps
Vertex Texture Filter Caps
Max V Shader Instructions Executed
Max Vertex Shader 3.0 Instruction Slots
Vertex Processing Caps_No Tex Gen Non Local
Viewer
Vertex Processing Caps_Tex Gen
Vertex Processing Caps_Tex Gen Sphere Map
Max Vertex Shader Const
Raster Caps_Fog Range
Raster Caps_Fog Vertex
Vertex Processing Caps_Directional Lights
Vertex Processing Caps_Local Viewer
Vertex Processing Caps_Material Source 7
Vertex Processing Caps_Positional Lights
Max Active Lights
Primitive Misc Caps_Cull CW
Primitive Misc Caps_Cull CCW
Primitive Misc Caps_Cull None
Primitive Misc Caps_Clip TL Verts
Max Primitive Count
Line Caps_Fog
Raster Caps_Fog Table
Raster Caps_W Fog
Raster Caps_Z Fog
Line Caps_Alpha Cmp
Alpha Cmp Caps
Line Caps_Z Test
Raster Caps_Z Bufferless HSR
Raster Caps_Z Test
Stencil Caps
Z Cmp Caps
Caps 3_Alpha Fullscreen Flip Or Discard
Line Caps_Blend
Primitive Misc Caps_Blend Op
Primitive Misc Caps_MRT Post Pixel Shader Blending
Primitive Misc Caps_Separate Alpha Blend
Src Blend Caps
Dest Blend Caps
Raster Caps_Dither
Primitive Misc Caps_Color Write Enable
Primitive Misc Caps_Independent Write Masks
Caps 3_Linear To sRGB Presentation
Dev Caps_Can Render After Flip
Presentation Intervals
Caps_Read_Scanline
Caps 2_Can Calibrate Gamma
Caps 2_Full Screen Gamma
Cursor Caps
Master Adapter Ordinal
Adapter Ordinal In Group
Number Of Adapters In Group
Caps 3_Copy To Vid Mem
Caps 3_Copy To System Mem
Primitive Misc Caps_Mask Z
Primitive Misc Caps_MRT Independent Bit Depths
Raster Caps_Multisample Toggle
Raster Caps_W Buffer
Num Simultaneous RTs
Stretch Rect Filter Caps
Raster Caps_Scissor Test
Primitive Misc Caps_Fog Vertex Clamped
Max Streams
Max Stream Stride
FVF Caps
Decl Types
Source Color
Alpha Blending
Dest Blend
Alpha
Blend Op Alpha
Destination Alpha
Source Alpha
Src Blend
Alpha
Dest Blend
Blend Op
Src Blend
Destination Color
Constant Registers
Texture Registers
Textures
Shader
Function
Input Registers
ALU
Flow
Control
Constant 0
Diffuse
Specular
Texture Factor
Constant
Constant 1
Diffuse
Specular
Texture Factor
Constant
Constant 7
Diffuse
Specular
Texture Factor
Constant
Output Registers
Constant Registers
Shader
Function
Input Registers
Flow
Control
Index
Temporary Registers
Vertex Shader ALU
Input Registers
Component Multiplex
Execute
Component Mask
Output Register
Constant