示例#1
0
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;
    }
}
示例#2
0
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);
}