void Texture::set_mipmapping(bool b) { if(m_impl) { if(b && !m_impl->m_mip_map) { set_min_filter(GL_LINEAR_MIPMAP_LINEAR); glGenerateMipmap(m_impl->m_target); } else{ set_min_filter(GL_LINEAR); } m_impl->m_mip_map = b; } }
SamplerState::SamplerState(const ComPtr<ID3D11Device> &device) : device(device), max_anisotropy(0.0f), compare_mode(comparemode_none), min_filter(filter_linear_mipmap_linear), mag_filter(filter_linear) { sampler_desc.Filter = D3D11_FILTER_MIN_MAG_MIP_LINEAR; sampler_desc.AddressU = D3D11_TEXTURE_ADDRESS_WRAP; sampler_desc.AddressV = D3D11_TEXTURE_ADDRESS_WRAP; sampler_desc.AddressW = D3D11_TEXTURE_ADDRESS_WRAP; sampler_desc.MipLODBias = 0.0f; sampler_desc.MinLOD = -FLT_MAX; sampler_desc.MaxLOD = FLT_MAX; sampler_desc.MaxAnisotropy = 16; sampler_desc.ComparisonFunc = D3D11_COMPARISON_NEVER; sampler_desc.BorderColor[0] = 0.0f; sampler_desc.BorderColor[1] = 0.0f; sampler_desc.BorderColor[2] = 0.0f; sampler_desc.BorderColor[3] = 0.0f; // Modify state to same defaults used by OpenGL target: set_min_filter(filter_linear); set_mag_filter(filter_linear); set_wrap_mode(wrap_clamp_to_edge, wrap_clamp_to_edge, wrap_clamp_to_edge); }