#ifndef ITextureSampler11_h__ #define ITextureSampler11_h__ #include "render/ITextureSampler.h" #include #include #include #include "Globals.h" namespace LifeGraphics { class ITextureSampler11 : public ITextureSampler { public: ID3D11SamplerState* state; ITextureSampler11(ISamplerDescription* desc, ID3D11Device* dev) { D3D11_SAMPLER_DESC d; ZeroMemory(&d, sizeof(D3D11_SAMPLER_DESC)); d.AddressU = static_cast(desc->AddressU); d.AddressV = static_cast(desc->AddressV); d.AddressW = static_cast(desc->AddressW); d.MaxAnisotropy = 1; d.Filter = static_cast(desc->Filter); d.ComparisonFunc = static_cast(desc->CmpFunc); d.MaxLOD = 3.402823466e+38F; dev->CreateSamplerState(&d, &state); } ~ITextureSampler11() { SAFE_RELEASE(state); } }; } #endif // ITextureSampler11_h__