From fdb17bd1b125ced2d7d1e871de4184433446f6b1 Mon Sep 17 00:00:00 2001 From: Egor Yusov Date: Fri, 8 Feb 2019 11:14:34 -0800 Subject: Cleared interface: removed superfluous default constructors; added default memeber initializers instead. --- .../GraphicsTools/include/CommonlyUsedStates.h | 185 +++++++++++++++++---- 1 file changed, 152 insertions(+), 33 deletions(-) (limited to 'Graphics/GraphicsTools') 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 + }; } -- cgit v1.2.3