diff options
Diffstat (limited to 'source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp')
-rw-r--r-- | source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp index f995f7ddb3d..e90f7573ab1 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp @@ -1064,6 +1064,35 @@ short RAS_OpenGLRasterizer::GetAnisotropicFiltering() return (short)GPU_get_anisotropic(); } +void RAS_OpenGLRasterizer::SetMipmapping(MipmapOption val) +{ + if (val == RAS_IRasterizer::RAS_MIPMAP_LINEAR) + { + GPU_set_linear_mipmap(1); + GPU_set_mipmap(1); + } + else if (val == RAS_IRasterizer::RAS_MIPMAP_NEAREST) + { + GPU_set_linear_mipmap(0); + GPU_set_mipmap(1); + } + else + { + GPU_set_linear_mipmap(0); + GPU_set_mipmap(0); + } +} + +RAS_IRasterizer::MipmapOption RAS_OpenGLRasterizer::GetMipmapping() +{ + if (GPU_get_linear_mipmap()) + return RAS_IRasterizer::RAS_MIPMAP_LINEAR; + else if (GPU_get_mipmap()) + return RAS_IRasterizer::RAS_MIPMAP_NEAREST; + else + return RAS_IRasterizer::RAS_MIPMAP_NONE; +} + void RAS_OpenGLRasterizer::SetUsingOverrideShader(bool val) { m_usingoverrideshader = val; |