OpenGL: Fix TextureSampler mipmap issue

This commit is contained in:
Lynix
2020-05-11 13:58:12 +02:00
parent 6073d8f592
commit 49c68e581a
4 changed files with 27 additions and 15 deletions

View File

@@ -17,18 +17,21 @@ namespace Nz
class NAZARA_OPENGLRENDERER_API OpenGLTextureSampler : public TextureSampler
{
public:
OpenGLTextureSampler(OpenGLDevice& device, TextureSamplerInfo samplerInfo);
OpenGLTextureSampler(OpenGLDevice& device, const TextureSamplerInfo& samplerInfo);
OpenGLTextureSampler(const OpenGLTextureSampler&) = default;
OpenGLTextureSampler(OpenGLTextureSampler&&) noexcept = default;
~OpenGLTextureSampler() = default;
inline const GL::Sampler& GetSampler() const;
inline const GL::Sampler& GetSampler(bool mipmaps) const;
OpenGLTextureSampler& operator=(const OpenGLTextureSampler&) = delete;
OpenGLTextureSampler& operator=(OpenGLTextureSampler&&) = delete;
private:
GL::Sampler m_sampler;
static void BuildSampler(OpenGLDevice& device, GL::Sampler& sampler, const TextureSamplerInfo& samplerInfo, bool withMipmaps);
GL::Sampler m_samplerWithMipmaps;
GL::Sampler m_samplerWithoutMipmaps;
};
}

View File

@@ -7,9 +7,9 @@
namespace Nz
{
inline const GL::Sampler& OpenGLTextureSampler::GetSampler() const
inline const GL::Sampler& OpenGLTextureSampler::GetSampler(bool withMipmaps) const
{
return m_sampler;
return (withMipmaps) ? m_samplerWithMipmaps : m_samplerWithoutMipmaps;
}
}