#ifndef IRasterizerState11_h__ #define IRasterizerState11_h__ #include #include #include #include "render/IRasterizerState.h" #include "Globals.h" namespace LifeGraphics { class IRasterizerState11 : public IRasterizerState { public: ID3D11Device* device; ID3D11RasterizerState* state; IRasterizerState11(FILL_MODE mode, ID3D11Device* _device) { device = _device; D3D11_RASTERIZER_DESC rsDesc; rsDesc.AntialiasedLineEnable = false; rsDesc.CullMode = D3D11_CULL_BACK; rsDesc.DepthBias = 0; rsDesc.DepthBiasClamp = 0.0f; rsDesc.SlopeScaledDepthBias = 0.0f; rsDesc.DepthClipEnable = TRUE; rsDesc.FillMode = static_cast(mode); rsDesc.FrontCounterClockwise = FALSE; rsDesc.MultisampleEnable = FALSE; rsDesc.ScissorEnable = TRUE; device->CreateRasterizerState(&rsDesc, &state); } IRasterizerState11(FILL_MODE mode, ID3D11Device* _device, CULL_MODE cmode) { device = _device; D3D11_RASTERIZER_DESC rsDesc; rsDesc.AntialiasedLineEnable = false; rsDesc.CullMode = static_cast(cmode); rsDesc.DepthBias = 0; rsDesc.DepthBiasClamp = 0.0f; rsDesc.SlopeScaledDepthBias = 0.0f; rsDesc.DepthClipEnable = TRUE; rsDesc.FillMode = static_cast(mode); rsDesc.FrontCounterClockwise = FALSE; rsDesc.MultisampleEnable = FALSE; rsDesc.ScissorEnable = TRUE; device->CreateRasterizerState(&rsDesc, &state); } ~IRasterizerState11() { SAFE_RELEASE(state); } }; } #endif // IRasterizerState11_h__