34 template<
typename D3D_COMPARISON_FUNC>
40 case COMPARISON_FUNC_UNKNOWN: UNEXPECTED(
"Comparison function is not specified" );
return D3D_COMPARISON_FUNC_ALWAYS;
49 default: UNEXPECTED(
"Unknown comparison function" );
return D3D_COMPARISON_FUNC_ALWAYS;
54 template<
typename D3D_TEXTURE_ADDRESS_MODE>
59 case TEXTURE_ADDRESS_UNKNOWN: UNEXPECTED(
"Texture address mode is not specified" );
return D3D_TEXTURE_ADDRESS_CLAMP;
65 default: UNEXPECTED(
"Unknown texture address mode" );
return D3D_TEXTURE_ADDRESS_CLAMP;
69 template<
typename D3D_PRIM_TOPOLOGY>
72 static bool bIsInit =
false;
118 return d3dPrimTopology[Topology];
124 template<
typename D3D_FILL_MODE>
125 D3D_FILL_MODE FillModeToD3DFillMode(
FILL_MODE FillMode)
128 static bool bIsInit =
false;
139 auto d3dFillMode = d3dFillModes[FillMode];
140 VERIFY( d3dFillMode != 0,
"Incorrect fill mode" );
145 UNEXPECTED(
"Incorrect fill mode (", FillMode,
")" );
146 return static_cast<D3D_FILL_MODE
>(0);
150 template<
typename D3D_CULL_MODE>
151 D3D_CULL_MODE CullModeToD3DCullMode(
CULL_MODE CullMode )
154 static bool bIsInit =
false;
167 auto d3dCullMode = d3dCullModes[CullMode];
168 VERIFY( d3dCullMode != 0,
"Incorrect cull mode" );
173 UNEXPECTED(
"Incorrect cull mode (", CullMode,
")" );
174 return static_cast<D3D_CULL_MODE
>(0);
178 template<
typename D3D_RASTERIZER_DESC,
typename D3D_FILL_MODE,
typename D3D_CULL_MODE>
179 void RasterizerStateDesc_To_D3D_RASTERIZER_DESC(
const RasterizerStateDesc &RasterizerDesc, D3D_RASTERIZER_DESC &d3dRSDesc)
181 d3dRSDesc.FillMode = FillModeToD3DFillMode<D3D_FILL_MODE>(RasterizerDesc.FillMode);
182 d3dRSDesc.CullMode = CullModeToD3DCullMode<D3D_CULL_MODE>(RasterizerDesc.CullMode);
183 d3dRSDesc.FrontCounterClockwise = RasterizerDesc.FrontCounterClockwise ? TRUE : FALSE;
184 d3dRSDesc.DepthBias = RasterizerDesc.DepthBias;
185 d3dRSDesc.DepthBiasClamp = RasterizerDesc.DepthBiasClamp;
186 d3dRSDesc.SlopeScaledDepthBias = RasterizerDesc.SlopeScaledDepthBias;
187 d3dRSDesc.DepthClipEnable = RasterizerDesc.DepthClipEnable ? TRUE : FALSE;
191 d3dRSDesc.AntialiasedLineEnable = RasterizerDesc.AntialiasedLineEnable ? TRUE : FALSE;
192 d3dRSDesc.MultisampleEnable = d3dRSDesc.AntialiasedLineEnable;
199 template<
typename D3D_BLEND>
206 static bool bIsInit =
false;
235 auto d3dbf = D3DBlend[bf];
236 VERIFY( d3dbf != 0,
"Incorrect blend factor" );
241 UNEXPECTED(
"Incorrect blend factor (", bf,
")" );
242 return static_cast<D3D_BLEND
>( 0 );
246 template<
typename D3D_BLEND_OP>
251 static bool bIsInit =
false;
266 auto d3dbop = D3DBlendOp[BlendOp];
267 VERIFY( d3dbop != 0,
"Incorrect blend operation" );
272 UNEXPECTED(
"Incorrect blend operation (", BlendOp,
")" );
273 return static_cast<D3D_BLEND_OP
>(0);
277 template<
typename D3D_BLEND_DESC,
typename D3D_BLEND,
typename D3D_BLEND_OP>
278 void BlendStateDescToD3DBlendDesc(
const BlendStateDesc &BSDesc, D3D_BLEND_DESC &d3d12BlendDesc)
281 d3d12BlendDesc.AlphaToCoverageEnable = BSDesc.AlphaToCoverageEnable ? TRUE : FALSE;
282 d3d12BlendDesc.IndependentBlendEnable = BSDesc.IndependentBlendEnable ? TRUE : FALSE;
283 VERIFY( BSDesc.MaxRenderTargets >= 8,
"Number of render targets is expected to be at least 8" );
284 for(
int i = 0; i < 8; ++i )
286 const auto& SrcRTDesc = BSDesc.RenderTargets[i];
287 auto &DstRTDesc = d3d12BlendDesc.RenderTarget[i];
288 DstRTDesc.BlendEnable = SrcRTDesc.BlendEnable ? TRUE : FALSE;
290 DstRTDesc.SrcBlend = BlendFactorToD3DBlend<D3D_BLEND>(SrcRTDesc.SrcBlend);
291 DstRTDesc.DestBlend = BlendFactorToD3DBlend<D3D_BLEND>(SrcRTDesc.DestBlend);
292 DstRTDesc.BlendOp = BlendOperationToD3DBlendOp<D3D_BLEND_OP>(SrcRTDesc.BlendOp);
294 DstRTDesc.SrcBlendAlpha = BlendFactorToD3DBlend<D3D_BLEND>(SrcRTDesc.SrcBlendAlpha);
295 DstRTDesc.DestBlendAlpha = BlendFactorToD3DBlend<D3D_BLEND>(SrcRTDesc.DestBlendAlpha);
296 DstRTDesc.BlendOpAlpha = BlendOperationToD3DBlendOp<D3D_BLEND_OP>(SrcRTDesc.BlendOpAlpha);
298 DstRTDesc.RenderTargetWriteMask =
299 ((SrcRTDesc.RenderTargetWriteMask &
COLOR_MASK_RED) ? D3D_COLOR_WRITE_ENABLE_RED : 0) |
300 ((SrcRTDesc.RenderTargetWriteMask &
COLOR_MASK_GREEN) ? D3D_COLOR_WRITE_ENABLE_GREEN : 0) |
301 ((SrcRTDesc.RenderTargetWriteMask &
COLOR_MASK_BLUE) ? D3D_COLOR_WRITE_ENABLE_BLUE : 0) |
302 ((SrcRTDesc.RenderTargetWriteMask &
COLOR_MASK_ALPHA) ? D3D_COLOR_WRITE_ENABLE_ALPHA : 0);
310 template<
typename D3D_STENCIL_OP>
311 D3D_STENCIL_OP StencilOpToD3DStencilOp(
STENCIL_OP StencilOp )
313 static bool bIsInit =
false;
331 auto d3dStencilOp = StOpToD3DStOpMap[StencilOp];
332 VERIFY( d3dStencilOp != 0,
"Unexpected stencil op" );
337 UNEXPECTED(
"Stencil operation (", StencilOp,
") is out of allowed range [1, ",
STENCIL_OP_NUM_OPS - 1,
"]" );
338 return static_cast<D3D_STENCIL_OP
>(0);
342 template<
typename D3D_DEPTH_STENCILOP_DESC,
typename D3D_STENCIL_OP,
typename D3D_COMPARISON_FUNC>
343 D3D_DEPTH_STENCILOP_DESC StencilOpDescToD3DStencilOpDesc(
const StencilOpDesc &StOpDesc)
346 D3D_DEPTH_STENCILOP_DESC D3DStOpDesc;
347 D3DStOpDesc.StencilFailOp = StencilOpToD3DStencilOp<D3D_STENCIL_OP>( StOpDesc.StencilFailOp );
348 D3DStOpDesc.StencilDepthFailOp = StencilOpToD3DStencilOp<D3D_STENCIL_OP>( StOpDesc.StencilDepthFailOp );
349 D3DStOpDesc.StencilPassOp = StencilOpToD3DStencilOp<D3D_STENCIL_OP>( StOpDesc.StencilPassOp );
350 D3DStOpDesc.StencilFunc = ComparisonFuncToD3DComparisonFunc<D3D_COMPARISON_FUNC>( StOpDesc.StencilFunc );
354 template<
typename D3D_DEPTH_STENCIL_DESC,
typename D3D_DEPTH_STENCILOP_DESC,
typename D3D_STENCIL_OP,
typename D3D_COMPARISON_FUNC>
355 void DepthStencilStateDesc_To_D3D_DEPTH_STENCIL_DESC(
const DepthStencilStateDesc &DepthStencilDesc, D3D_DEPTH_STENCIL_DESC &d3dDSSDesc)
358 d3dDSSDesc.DepthEnable = DepthStencilDesc.DepthEnable ? TRUE : FALSE;
359 d3dDSSDesc.DepthWriteMask = DepthStencilDesc.DepthWriteEnable ? D3D_DEPTH_WRITE_MASK_ALL : D3D_DEPTH_WRITE_MASK_ZERO;
360 d3dDSSDesc.DepthFunc = ComparisonFuncToD3DComparisonFunc<D3D_COMPARISON_FUNC>( DepthStencilDesc.DepthFunc );
361 d3dDSSDesc.StencilEnable = DepthStencilDesc.StencilEnable ? TRUE : FALSE;
362 d3dDSSDesc.StencilReadMask = DepthStencilDesc.StencilReadMask;
363 d3dDSSDesc.StencilWriteMask = DepthStencilDesc.StencilWriteMask;
364 d3dDSSDesc.FrontFace = StencilOpDescToD3DStencilOpDesc<D3D_DEPTH_STENCILOP_DESC, D3D_STENCIL_OP, D3D_COMPARISON_FUNC>( DepthStencilDesc.FrontFace );
365 d3dDSSDesc.BackFace = StencilOpDescToD3DStencilOpDesc<D3D_DEPTH_STENCILOP_DESC, D3D_STENCIL_OP, D3D_COMPARISON_FUNC>( DepthStencilDesc.BackFace );
370 template<
typename D3D_INPUT_ELEMENT_DESC>
371 void LayoutElements_To_D3D_INPUT_ELEMENT_DESCs(
const std::vector<LayoutElement, STDAllocatorRawMem<LayoutElement> > &LayoutElements, std::vector<D3D_INPUT_ELEMENT_DESC, STDAllocatorRawMem<D3D_INPUT_ELEMENT_DESC>> &D3DInputElements)
374 auto NumElements = LayoutElements.size();
375 D3DInputElements.resize(NumElements);
376 for(
Uint32 iElem=0; iElem < NumElements; ++iElem)
378 const auto &CurrElem = LayoutElements[iElem];
379 auto &D3DElem = D3DInputElements[iElem];
380 D3DElem.SemanticName =
"ATTRIB";
381 D3DElem.SemanticIndex = CurrElem.InputIndex;
382 D3DElem.AlignedByteOffset = CurrElem.RelativeOffset;
383 D3DElem.InputSlot = CurrElem.BufferSlot;
384 D3DElem.Format = TypeToDXGI_Format(CurrElem.ValueType, CurrElem.NumComponents, CurrElem.IsNormalized);
385 D3DElem.InputSlotClass = (CurrElem.Frequency ==
LayoutElement::FREQUENCY_PER_VERTEX) ? D3D_INPUT_CLASSIFICATION_PER_VERTEX_DATA : D3D_INPUT_CLASSIFICATION_PER_INSTANCE_DATA;
391 template<
typename D3D_FILTER>
401 return D3D_FILTER_MIN_MAG_MIP_POINT;
403 return D3D_FILTER_MIN_MAG_POINT_MIP_LINEAR;
408 return D3D_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT;
410 return D3D_FILTER_MIN_POINT_MAG_MIP_LINEAR;
418 return D3D_FILTER_MIN_LINEAR_MAG_MIP_POINT;
420 return D3D_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR;
425 return D3D_FILTER_MIN_MAG_LINEAR_MIP_POINT;
427 return D3D_FILTER_MIN_MAG_MIP_LINEAR;
433 "For anistropic filtering, all filters must be anisotropic" );
434 return D3D_FILTER_ANISOTROPIC;
444 return D3D_FILTER_COMPARISON_MIN_MAG_MIP_POINT;
446 return D3D_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR;
451 return D3D_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT;
453 return D3D_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR;
461 return D3D_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT;
463 return D3D_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR;
468 return D3D_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT;
470 return D3D_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR;
476 "For comparison anistropic filtering, all filters must be anisotropic" );
477 return D3D_FILTER_COMPARISON_ANISOTROPIC;
487 return D3D_FILTER_MINIMUM_MIN_MAG_MIP_POINT;
489 return D3D_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR;
494 return D3D_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT;
496 return D3D_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR;
504 return D3D_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT;
506 return D3D_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR;
511 return D3D_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT;
513 return D3D_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR;
519 "For minimum anistropic filtering, all filters must be anisotropic" );
520 return D3D_FILTER_MINIMUM_ANISOTROPIC;
530 return D3D_FILTER_MAXIMUM_MIN_MAG_MIP_POINT;
532 return D3D_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR;
537 return D3D_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT;
539 return D3D_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR;
547 return D3D_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT;
549 return D3D_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR;
554 return D3D_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT;
556 return D3D_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR;
562 "For maximum anistropic filtering, all filters must be anisotropic" );
563 return D3D_FILTER_MAXIMUM_ANISOTROPIC;
567 UNEXPECTED(
"Unsupported filter combination" );
568 return D3D_FILTER_MIN_MAG_MIP_POINT;
Interpret the vertex data as a list of points. D3D counterpart: D3D_PRIMITIVE_TOPOLOGY_POINTLIST. OpenGL counterpart: GL_POINTS.
Definition: DeviceContext.h:71
Comparison passes if the source data is less than or equal to the destination data. Direct3D counterpart: D3D11_COMPARISON_LESS_EQUAL/D3D12_COMPARISON_FUNC_LESS_EQUAL. OpenGL counterpart: GL_LEQUAL.
Definition: GraphicsTypes.h:866
BLEND_OPERATION
Blending operation.
Definition: BlendState.h:130
Undefined blend factor.
Definition: BlendState.h:46
Rasterize triangles using wireframe fill. Direct3D counterpart: D3D11_FILL_WIREFRAME/D3D12_FILL_MOD...
Definition: RasterizerState.h:47
Interpret the vertex data as a list of 20 control point patches. D3D counterpart: D3D_PRIMITIVE_TOPO...
Definition: DeviceContext.h:155
Comparison always passes. Direct3D counterpart: D3D11_COMPARISON_ALWAYS/D3D12_COMPARISON_FUNC_ALWAY...
Definition: GraphicsTypes.h:882
Helper value that stores the total number of blend operations in the enumeration. ...
Definition: BlendState.h:156
The blend factor is one. Direct3D counterpart: D3D11_BLEND_ONE/D3D12_BLEND_ONE. OpenGL counterpart: ...
Definition: BlendState.h:54
Maximum-linear filtering (DX12 only)
Definition: GraphicsTypes.h:793
Allow data to be stored in the blue component.
Definition: BlendState.h:172
PRIMITIVE_TOPOLOGY
Input primitive topology.
Definition: DeviceContext.h:56
STENCIL_OP
Stencil operation.
Definition: DepthStencilState.h:42
Interpret the vertex data as a list of 11 control point patches. D3D counterpart: D3D_PRIMITIVE_TOPO...
Definition: DeviceContext.h:119
Helper value that stores the total number of blend factors in the enumeration.
Definition: BlendState.h:118
Comparison passes if the source data is equal to the destination data. Direct3D counterpart: D3D11_C...
Definition: GraphicsTypes.h:862
The blend factor is 1-A, where A is the second alpha data output from a pixel shader. Direct3D counterpart: D3D11_BLEND_INV_SRC1_ALPHA/D3D12_BLEND_INV_SRC1_ALPHA. OpenGL counterpart: GL_ONE_MINUS_SRC1_ALPHA.
Definition: BlendState.h:115
Helper value that stores the total number of fill modes in the enumeration.
Definition: RasterizerState.h:54
Texture coordinates outside the range [0.0, 1.0] are set to the texture color at 0.0 or 1.0, respectively. Direct3D Counterpart: D3D11_TEXTURE_ADDRESS_CLAMP/D3D12_TEXTURE_ADDRESS_MODE_CLAMP. OpenGL counterpart: GL_CLAMP_TO_EDGE.
Definition: GraphicsTypes.h:821
Comparison never passes. Direct3D counterpart: D3D11_COMPARISON_NEVER/D3D12_COMPARISON_FUNC_NEVER. OpenGL counterpart: GL_NEVER.
Definition: GraphicsTypes.h:854
Comparison-anisotropic filtering.
Definition: GraphicsTypes.h:788
Undefined blend operation.
Definition: BlendState.h:133
Undefined fill mode.
Definition: RasterizerState.h:43
Keep the existing stencil data. Direct3D counterpart: D3D11_STENCIL_OP_KEEP/D3D12_STENCIL_OP_KEEP. OpenGL counterpart: GL_KEEP.
Definition: DepthStencilState.h:49
Graphics engine namespace.
Definition: AdaptiveFixedBlockAllocator.h:30
Add source and destination color components. Direct3D counterpart: D3D11_BLEND_OP_ADD/D3D12_BLEND_OP...
Definition: BlendState.h:137
Set the stencil data to the reference value set by calling IDeviceContext::SetStencilRef(). Direct3D counterpart: D3D11_STENCIL_OP_REPLACE/D3D12_STENCIL_OP_REPLACE. OpenGL counterpart: GL_REPLACE.
Definition: DepthStencilState.h:57
Comparison-point filtering.
Definition: GraphicsTypes.h:786
The blend factor is the constant blend factor set with IDeviceContext::SetBlendFactors(). Direct3D counterpart: D3D11_BLEND_BLEND_FACTOR/D3D12_BLEND_BLEND_FACTOR. OpenGL counterpart: GL_CONSTANT_COLOR.
Definition: BlendState.h:95
Interpret the vertex data as a list of 16 control point patches. D3D counterpart: D3D_PRIMITIVE_TOPO...
Definition: DeviceContext.h:139
Subtract source color components from destination color components. Direct3D counterpart: D3D11_BLEN...
Definition: BlendState.h:145
Decrement the current stencil value, and clamp to 0. Direct3D counterpart: D3D11_STENCIL_OP_DECR_SAT...
Definition: DepthStencilState.h:65
Interpret the vertex data as a list of five control point patches. D3D counterpart: D3D_PRIMITIVE_TO...
Definition: DeviceContext.h:95
Interpret the vertex data as a list of 15 control point patches. D3D counterpart: D3D_PRIMITIVE_TOPO...
Definition: DeviceContext.h:135
Interpret the vertex data as a list of nine control point patches. D3D counterpart: D3D_PRIMITIVE_TO...
Definition: DeviceContext.h:111
Interpret the vertex data as a list of 32 control point patches. D3D counterpart: D3D_PRIMITIVE_TOPO...
Definition: DeviceContext.h:203
Comparison passes if the source data is greater than the destination data. Direct3D counterpart: 3D1...
Definition: GraphicsTypes.h:870
The blend factor is 1-RGB, where RGB is the data from a render target. Direct3D counterpart: D3D11_B...
Definition: BlendState.h:86
The blend factor is 1-A, where A is alpha data from a render target. Direct3D counterpart: D3D11_BLE...
Definition: BlendState.h:78
Allow data to be stored in the red component.
Definition: BlendState.h:166
TEXTURE_ADDRESS_MODE
Texture address mode.
Definition: GraphicsTypes.h:805
Interpret the vertex data as a list of four control point patches. D3D counterpart: D3D_PRIMITIVE_TO...
Definition: DeviceContext.h:91
Interpret the vertex data as a list of 30 control point patches. D3D counterpart: D3D_PRIMITIVE_TOPO...
Definition: DeviceContext.h:195
Rasterize triangles using solid fill. Direct3D counterpart: D3D11_FILL_SOLID/D3D12_FILL_MODE_SOLID...
Definition: RasterizerState.h:51
Minimum-linear filtering (DX12 only)
Definition: GraphicsTypes.h:790
Interpret the vertex data as a list of 22 control point patches. D3D counterpart: D3D_PRIMITIVE_TOPO...
Definition: DeviceContext.h:163
Undefined topology.
Definition: DeviceContext.h:59
Interpret the vertex data as a list of 24 control point patches. D3D counterpart: D3D_PRIMITIVE_TOPO...
Definition: DeviceContext.h:171
Decrement the current stencil value, and wrap the value to the maximum representable unsigned value w...
Definition: DepthStencilState.h:79
Comparison-linear filtering.
Definition: GraphicsTypes.h:787
Comparison passes if the source data is less than the destination data. Direct3D counterpart: D3D11_...
Definition: GraphicsTypes.h:858
Interpret the vertex data as a list of lines. D3D counterpart: D3D_PRIMITIVE_TOPOLOGY_LINELIST. OpenGL counterpart: GL_LINES.
Definition: DeviceContext.h:75
Interpret the vertex data as a list of 19 control point patches. D3D counterpart: D3D_PRIMITIVE_TOPO...
Definition: DeviceContext.h:151
Interpret the vertex data as a list of eight control point patches. D3D counterpart: D3D_PRIMITIVE_T...
Definition: DeviceContext.h:107
Interpret the vertex data as a list of ten control point patches. D3D counterpart: D3D_PRIMITIVE_TOP...
Definition: DeviceContext.h:115
The blend factor is alpha (A) data from a pixel shader. Direct3D counterpart: D3D11_BLEND_SRC_ALPHA/...
Definition: BlendState.h:66
Interpret the vertex data as a list of 28 control point patches. D3D counterpart: D3D_PRIMITIVE_TOPO...
Definition: DeviceContext.h:187
The blend factor is the second alpha (A) data output from a pixel shader. Direct3D counterpart: D3D1...
Definition: BlendState.h:111
Set the stencil data to 0. Direct3D counterpart: D3D11_STENCIL_OP_ZERO/D3D12_STENCIL_OP_ZERO. OpenGL counterpart: GL_ZERO.
Definition: DepthStencilState.h:53
Tile the texture at every integer junction. Direct3D Counterpart: D3D11_TEXTURE_ADDRESS_WRAP/D3D12_...
Definition: GraphicsTypes.h:812
Maximum-anisotropic filtering (DX12 only)
Definition: GraphicsTypes.h:794
Undefined cull mode.
Definition: RasterizerState.h:66
Comparison passes if the source data is not equal to the destination data. Direct3D counterpart: D3D...
Definition: GraphicsTypes.h:874
Interpret the vertex data as a list of 21 control point patches. D3D counterpart: D3D_PRIMITIVE_TOPO...
Definition: DeviceContext.h:159
Interpret the vertex data as a list of six control point patches. D3D counterpart: D3D_PRIMITIVE_TOP...
Definition: DeviceContext.h:99
Subtract destination color components from source color components. Direct3D counterpart: D3D11_BLEN...
Definition: BlendState.h:141
Compute the minimum of source and destination color components. Direct3D counterpart: D3D11_BLEND_OP...
Definition: BlendState.h:149
Comparison passes if the source data is greater than or equal to the destination data. Direct3D counterpart: D3D11_COMPARISON_GREATER_EQUAL/D3D12_COMPARISON_FUNC_GREATER_EQUAL. OpenGL counterpart: GL_GEQUAL.
Definition: GraphicsTypes.h:878
Maximum-point filtering (DX12 only)
Definition: GraphicsTypes.h:792
Interpret the vertex data as a list of 17 control point patches. D3D counterpart: D3D_PRIMITIVE_TOPO...
Definition: DeviceContext.h:143
Interpret the vertex data as a list of 25 control point patches. D3D counterpart: D3D_PRIMITIVE_TOPO...
Definition: DeviceContext.h:175
Interpret the vertex data as a list of 12 control point patches. D3D counterpart: D3D_PRIMITIVE_TOPO...
Definition: DeviceContext.h:123
Bitwise invert the current stencil buffer value. Direct3D counterpart: D3D11_STENCIL_OP_INVERT/D3D12...
Definition: DepthStencilState.h:69
Texture coordinates outside the range [0.0, 1.0] are set to the border color specified specified in S...
Definition: GraphicsTypes.h:826
Unknown comparison function.
Definition: GraphicsTypes.h:850
Interpret the vertex data as a list of 13 control point patches. D3D counterpart: D3D_PRIMITIVE_TOPO...
Definition: DeviceContext.h:127
Draw all triangles. Direct3D counterpart: D3D11_CULL_NONE/D3D12_CULL_MODE_NONE. OpenGL counterpart:...
Definition: RasterizerState.h:70
Helper value that stores the total number of stencil operations in the enumeration.
Definition: DepthStencilState.h:82
FILL_MODE
Fill mode.
Definition: RasterizerState.h:40
The blend factor is 1-RGB, where RGB is the second RGB data output from a pixel shader. Direct3D counterpart: D3D11_BLEND_INV_SRC1_COLOR/D3D12_BLEND_INV_SRC1_COLOR. OpenGL counterpart: GL_ONE_MINUS_SRC1_COLOR.
Definition: BlendState.h:107
Point filtering.
Definition: GraphicsTypes.h:783
The blend factor is 1-RGB, where RGB is the data from a pixel shader. Direct3D counterpart: D3D11_BL...
Definition: BlendState.h:62
Helper value that stores the total number of cull modes in the enumeration.
Definition: RasterizerState.h:83
Unknown mode.
Definition: GraphicsTypes.h:808
Do not draw triangles that are front-facing. Front- and back-facing triangles are determined by the R...
Definition: RasterizerState.h:75
Interpret the vertex data as a list of 26 control point patches. D3D counterpart: D3D_PRIMITIVE_TOPO...
Definition: DeviceContext.h:179
Allow data to be stored in the green component.
Definition: BlendState.h:169
Interpret the vertex data as a list of 23 control point patches. D3D counterpart: D3D_PRIMITIVE_TOPO...
Definition: DeviceContext.h:167
Increment the current stencil value, and wrap the value to zero when incrementing the maximum represe...
Definition: DepthStencilState.h:74
Minimum-anisotropic filtering (DX12 only)
Definition: GraphicsTypes.h:791
uint32_t Uint32
32-bit unsigned integer
Definition: BasicTypes.h:39
The blend factor is the second RGB data output from a pixel shader. Direct3D counterpart: D3D11_BLEN...
Definition: BlendState.h:103
Compute the maximum of source and destination color components. Direct3D counterpart: D3D11_BLEND_OP...
Definition: BlendState.h:153
FILTER_TYPE
Filter type.
Definition: GraphicsTypes.h:780
Interpret the vertex data as a list of 31 control point patches. D3D counterpart: D3D_PRIMITIVE_TOPO...
Definition: DeviceContext.h:199
Interpret the vertex data as a list of three control point patches. D3D counterpart: D3D_PRIMITIVE_T...
Definition: DeviceContext.h:87
Interpret the vertex data as a triangle strip. D3D counterpart: D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP...
Definition: DeviceContext.h:67
The blend factor is (f,f,f,1), where f = min(As, 1-Ad), As is alpha data from a pixel shader...
Definition: BlendState.h:91
The blend factor is RGB data from a render target. Direct3D counterpart: D3D11_BLEND_DEST_COLOR/D3D1...
Definition: BlendState.h:82
The blend factor is zero. Direct3D counterpart: D3D11_BLEND_ZERO/D3D12_BLEND_ZERO. OpenGL counterpart: GL_ZERO.
Definition: BlendState.h:50
Helper value that stores the total number of topologies in the enumeration.
Definition: DeviceContext.h:206
Allow data to be stored in the alpha component.
Definition: BlendState.h:175
The blend factor is alpha (A) data from a render target. Direct3D counterpart: D3D11_BLEND_DEST_ALPH...
Definition: BlendState.h:74
Interpret the vertex data as a list of one control point patches. D3D counterpart: D3D_PRIMITIVE_TOP...
Definition: DeviceContext.h:79
Undefined operation.
Definition: DepthStencilState.h:45
BLEND_FACTOR
Blend factors.
Definition: BlendState.h:43
Increment the current stencil value, and clamp to the maximum representable unsigned value...
Definition: DepthStencilState.h:61
Interpret the vertex data as a list of triangles. D3D counterpart: D3D_PRIMITIVE_TOPOLOGY_TRIANGLELI...
Definition: DeviceContext.h:63
COMPARISON_FUNCTION
Comparison function.
Definition: GraphicsTypes.h:847
Interpret the vertex data as a list of 29 control point patches. D3D counterpart: D3D_PRIMITIVE_TOPO...
Definition: DeviceContext.h:191
Interpret the vertex data as a list of two control point patches. D3D counterpart: D3D_PRIMITIVE_TOP...
Definition: DeviceContext.h:83
Interpret the vertex data as a list of 14 control point patches. D3D counterpart: D3D_PRIMITIVE_TOPO...
Definition: DeviceContext.h:131
The blend factor is one minus constant blend factor set with IDeviceContext::SetBlendFactors(). Direct3D counterpart: D3D11_BLEND_INV_BLEND_FACTOR/D3D12_BLEND_INV_BLEND_FACTOR. OpenGL counterpart: GL_ONE_MINUS_CONSTANT_COLOR.
Definition: BlendState.h:99
Interpret the vertex data as a list of seven control point patches. D3D counterpart: D3D_PRIMITIVE_T...
Definition: DeviceContext.h:103
Flip the texture at every integer junction. Direct3D Counterpart: D3D11_TEXTURE_ADDRESS_MIRROR/D3D1...
Definition: GraphicsTypes.h:816
Input data is per-vertex data.
Definition: InputLayout.h:71
The blend factor is 1-A, where A is alpha data from a pixel shader. Direct3D counterpart: D3D11_BLEN...
Definition: BlendState.h:70
Do not draw triangles that are back-facing. Front- and back-facing triangles are determined by the Ra...
Definition: RasterizerState.h:80
Interpret the vertex data as a list of 18 control point patches. D3D counterpart: D3D_PRIMITIVE_TOPO...
Definition: DeviceContext.h:147
Interpret the vertex data as a list of 27 control point patches. D3D counterpart: D3D_PRIMITIVE_TOPO...
Definition: DeviceContext.h:183
CULL_MODE
Cull mode.
Definition: RasterizerState.h:63
Anisotropic filtering.
Definition: GraphicsTypes.h:785
Minimum-point filtering (DX12 only)
Definition: GraphicsTypes.h:789
The blend factor is RGB data from a pixel shader. Direct3D counterpart: D3D11_BLEND_SRC_COLOR/D3D12_...
Definition: BlendState.h:58
Linear filtering.
Definition: GraphicsTypes.h:784
Similar to TEXTURE_ADDRESS_MIRROR and TEXTURE_ADDRESS_CLAMP. Takes the absolute value of the texture ...
Definition: GraphicsTypes.h:833