diff options
| author | Egor Yusov <egor.yusov@gmail.com> | 2019-02-08 19:14:34 +0000 |
|---|---|---|
| committer | Egor Yusov <egor.yusov@gmail.com> | 2019-02-08 19:14:34 +0000 |
| commit | fdb17bd1b125ced2d7d1e871de4184433446f6b1 (patch) | |
| tree | eee1b24f0a2ae298da1ae55c3cf9d5e4438cc9d2 /Graphics/GraphicsTools | |
| parent | Minor updates to StandardFile (diff) | |
| download | DiligentCore-fdb17bd1b125ced2d7d1e871de4184433446f6b1.tar.gz DiligentCore-fdb17bd1b125ced2d7d1e871de4184433446f6b1.zip | |
Cleared interface: removed superfluous default constructors; added default memeber initializers instead.
Diffstat (limited to 'Graphics/GraphicsTools')
| -rw-r--r-- | Graphics/GraphicsTools/include/CommonlyUsedStates.h | 185 |
1 files changed, 152 insertions, 33 deletions
diff --git a/Graphics/GraphicsTools/include/CommonlyUsedStates.h b/Graphics/GraphicsTools/include/CommonlyUsedStates.h index 6dcb5801..7cbe5aa9 100644 --- a/Graphics/GraphicsTools/include/CommonlyUsedStates.h +++ b/Graphics/GraphicsTools/include/CommonlyUsedStates.h @@ -35,42 +35,161 @@ namespace Diligent { // Common depth-stencil states - const DepthStencilStateDesc DSS_DisableDepth(False, False); + static const DepthStencilStateDesc DSS_Default{}; + + static const DepthStencilStateDesc DSS_DisableDepth + { + False, // DepthEnable + False // DepthWriteEnable + }; - // Common rasterizer states - const RasterizerStateDesc RS_SolidFillNoCull(FILL_MODE_SOLID, CULL_MODE_NONE); - const RasterizerStateDesc RS_WireFillNoCull(FILL_MODE_WIREFRAME, CULL_MODE_NONE, false, 1, 0.f, 1.f); + // Common rasterizer states + static const RasterizerStateDesc RS_Default{}; + + static const RasterizerStateDesc RS_SolidFillNoCull + { + FILL_MODE_SOLID, + CULL_MODE_NONE + }; + + static const RasterizerStateDesc RS_WireFillNoCull + { + FILL_MODE_WIREFRAME, + CULL_MODE_NONE + }; + + + // Blend states + static const BlendStateDesc BS_Default{}; + + static const BlendStateDesc BS_AlphaBlend = + { + False, // AlphaToCoverageEnable + False, // IndependentBlendEnable + { // RenderTagets + { + True, // BlendEnable + False, // LogicOperationEnable + BLEND_FACTOR_SRC_ALPHA, // SrcBlend + BLEND_FACTOR_INV_SRC_ALPHA, // DestBlend + BLEND_OPERATION_ADD, // BlendOp + BLEND_FACTOR_SRC_ALPHA, // SrcBlendAlpha + BLEND_FACTOR_INV_SRC_ALPHA, // DestBlendAlpha + BLEND_OPERATION_ADD // BlendOpAlpha + } + } + }; // Common sampler states - const SamplerDesc Sam_LinearClamp(FILTER_TYPE_LINEAR, FILTER_TYPE_LINEAR, FILTER_TYPE_LINEAR, - TEXTURE_ADDRESS_CLAMP, TEXTURE_ADDRESS_CLAMP, TEXTURE_ADDRESS_CLAMP); - - const SamplerDesc Sam_PointClamp(FILTER_TYPE_POINT, FILTER_TYPE_POINT, FILTER_TYPE_POINT, - TEXTURE_ADDRESS_CLAMP, TEXTURE_ADDRESS_CLAMP, TEXTURE_ADDRESS_CLAMP); - - const SamplerDesc Sam_LinearMirror(FILTER_TYPE_LINEAR, FILTER_TYPE_LINEAR, FILTER_TYPE_LINEAR, - TEXTURE_ADDRESS_MIRROR, TEXTURE_ADDRESS_MIRROR, TEXTURE_ADDRESS_MIRROR); - - const SamplerDesc Sam_PointWrap(FILTER_TYPE_POINT, FILTER_TYPE_POINT, FILTER_TYPE_POINT, - TEXTURE_ADDRESS_WRAP, TEXTURE_ADDRESS_WRAP, TEXTURE_ADDRESS_WRAP); - - const SamplerDesc Sam_LinearWrap(FILTER_TYPE_LINEAR, FILTER_TYPE_LINEAR, FILTER_TYPE_LINEAR, - TEXTURE_ADDRESS_WRAP, TEXTURE_ADDRESS_WRAP, TEXTURE_ADDRESS_WRAP); - - const SamplerDesc Sam_Aniso2xClamp(FILTER_TYPE_ANISOTROPIC, FILTER_TYPE_ANISOTROPIC, FILTER_TYPE_ANISOTROPIC, - TEXTURE_ADDRESS_CLAMP, TEXTURE_ADDRESS_CLAMP, TEXTURE_ADDRESS_CLAMP, 0.f, 2); - - const SamplerDesc Sam_Aniso4xClamp(FILTER_TYPE_ANISOTROPIC, FILTER_TYPE_ANISOTROPIC, FILTER_TYPE_ANISOTROPIC, - TEXTURE_ADDRESS_CLAMP, TEXTURE_ADDRESS_CLAMP, TEXTURE_ADDRESS_CLAMP, 0.f, 4); - - const SamplerDesc Sam_Aniso8xClamp(FILTER_TYPE_ANISOTROPIC, FILTER_TYPE_ANISOTROPIC, FILTER_TYPE_ANISOTROPIC, - TEXTURE_ADDRESS_CLAMP, TEXTURE_ADDRESS_CLAMP, TEXTURE_ADDRESS_CLAMP, 0.f, 8); - - const SamplerDesc Sam_Aniso16xClamp(FILTER_TYPE_ANISOTROPIC, FILTER_TYPE_ANISOTROPIC, FILTER_TYPE_ANISOTROPIC, - TEXTURE_ADDRESS_CLAMP, TEXTURE_ADDRESS_CLAMP, TEXTURE_ADDRESS_CLAMP, 0.f, 16); - - const SamplerDesc Sam_Aniso8xWrap(FILTER_TYPE_ANISOTROPIC, FILTER_TYPE_ANISOTROPIC, FILTER_TYPE_ANISOTROPIC, - TEXTURE_ADDRESS_WRAP, TEXTURE_ADDRESS_WRAP, TEXTURE_ADDRESS_WRAP, 0.f, 8); + static const SamplerDesc Sam_LinearClamp + { + FILTER_TYPE_LINEAR, + FILTER_TYPE_LINEAR, + FILTER_TYPE_LINEAR, + TEXTURE_ADDRESS_CLAMP, + TEXTURE_ADDRESS_CLAMP, + TEXTURE_ADDRESS_CLAMP + }; + + static const SamplerDesc Sam_PointClamp + { + FILTER_TYPE_POINT, + FILTER_TYPE_POINT, + FILTER_TYPE_POINT, + TEXTURE_ADDRESS_CLAMP, + TEXTURE_ADDRESS_CLAMP, + TEXTURE_ADDRESS_CLAMP + }; + + static const SamplerDesc Sam_LinearMirror + { + FILTER_TYPE_LINEAR, + FILTER_TYPE_LINEAR, + FILTER_TYPE_LINEAR, + TEXTURE_ADDRESS_MIRROR, + TEXTURE_ADDRESS_MIRROR, + TEXTURE_ADDRESS_MIRROR + }; + + static const SamplerDesc Sam_PointWrap + { + FILTER_TYPE_POINT, + FILTER_TYPE_POINT, + FILTER_TYPE_POINT, + TEXTURE_ADDRESS_WRAP, + TEXTURE_ADDRESS_WRAP, + TEXTURE_ADDRESS_WRAP + }; + + static const SamplerDesc Sam_LinearWrap + { + FILTER_TYPE_LINEAR, + FILTER_TYPE_LINEAR, + FILTER_TYPE_LINEAR, + TEXTURE_ADDRESS_WRAP, + TEXTURE_ADDRESS_WRAP, + TEXTURE_ADDRESS_WRAP + }; + + static const SamplerDesc Sam_Aniso2xClamp + { + FILTER_TYPE_ANISOTROPIC, + FILTER_TYPE_ANISOTROPIC, + FILTER_TYPE_ANISOTROPIC, + TEXTURE_ADDRESS_CLAMP, + TEXTURE_ADDRESS_CLAMP, + TEXTURE_ADDRESS_CLAMP, + 0.f, // MipLODBias + 2 // MaxAnisotropy + }; + + static const SamplerDesc Sam_Aniso4xClamp + { + FILTER_TYPE_ANISOTROPIC, + FILTER_TYPE_ANISOTROPIC, + FILTER_TYPE_ANISOTROPIC, + TEXTURE_ADDRESS_CLAMP, + TEXTURE_ADDRESS_CLAMP, + TEXTURE_ADDRESS_CLAMP, + 0.f, // MipLODBias + 4 // MaxAnisotropy + }; + + static const SamplerDesc Sam_Aniso8xClamp + { + FILTER_TYPE_ANISOTROPIC, + FILTER_TYPE_ANISOTROPIC, + FILTER_TYPE_ANISOTROPIC, + TEXTURE_ADDRESS_CLAMP, + TEXTURE_ADDRESS_CLAMP, + TEXTURE_ADDRESS_CLAMP, + 0.f, // MipLODBias + 8 // MaxAnisotropy + }; + + static const SamplerDesc Sam_Aniso16xClamp + { + FILTER_TYPE_ANISOTROPIC, + FILTER_TYPE_ANISOTROPIC, + FILTER_TYPE_ANISOTROPIC, + TEXTURE_ADDRESS_CLAMP, + TEXTURE_ADDRESS_CLAMP, + TEXTURE_ADDRESS_CLAMP, + 0.f, // MipLODBias + 16 // MaxAnisotropy + }; + + static const SamplerDesc Sam_Aniso8xWrap + { + FILTER_TYPE_ANISOTROPIC, + FILTER_TYPE_ANISOTROPIC, + FILTER_TYPE_ANISOTROPIC, + TEXTURE_ADDRESS_WRAP, + TEXTURE_ADDRESS_WRAP, + TEXTURE_ADDRESS_WRAP, + 0.f, // MipLODBias + 8 // MaxAnisotropy + }; } |
