summaryrefslogtreecommitdiffstats
path: root/src/runtimerender/Qt3DSRenderDefaultMaterialShaderGenerator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtimerender/Qt3DSRenderDefaultMaterialShaderGenerator.cpp')
-rw-r--r--src/runtimerender/Qt3DSRenderDefaultMaterialShaderGenerator.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/runtimerender/Qt3DSRenderDefaultMaterialShaderGenerator.cpp b/src/runtimerender/Qt3DSRenderDefaultMaterialShaderGenerator.cpp
index 157434d..cfa6cff 100644
--- a/src/runtimerender/Qt3DSRenderDefaultMaterialShaderGenerator.cpp
+++ b/src/runtimerender/Qt3DSRenderDefaultMaterialShaderGenerator.cpp
@@ -862,6 +862,12 @@ struct SShaderGenerator : public IDefaultMaterialShaderGenerator
inImage.m_Image.m_HorizontalTilingMode);
inImage.m_Image.m_TextureData.m_Texture->SetTextureWrapT(
inImage.m_Image.m_VerticalTilingMode);
+ if (inImage.m_Image.m_MinFilter > NVRenderTextureMinifyingOp::Linear
+ && inImage.m_Image.m_TextureData.m_Texture->GetNumMipmaps() == 0) {
+ inImage.m_Image.m_TextureData.m_Texture->GenerateMipmaps();
+ }
+ inImage.m_Image.m_TextureData.m_Texture->SetMinFilter(inImage.m_Image.m_MinFilter);
+ inImage.m_Image.m_TextureData.m_Texture->SetMagFilter(inImage.m_Image.m_MagFilter);
theShaderProps.m_Sampler.Set(imageTexture);
theShaderProps.m_Offsets.Set(offsets);
theShaderProps.m_Rotations.Set(rotations);