Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMitchell Stokes <mogurijin@gmail.com>2013-04-14 04:40:24 +0400
committerMitchell Stokes <mogurijin@gmail.com>2013-04-14 04:40:24 +0400
commitd2b14ed4f007d7eb1160b67c6b3722cec52df375 (patch)
treed42d26d45f701030a2d11eeef8da9e21c41c2335 /source/gameengine/Rasterizer/RAS_OpenGLRasterizer
parent6b37baf34c0cfa94619a3106a25a10fc9626920c (diff)
BGE: Adding mipmapping control to bge.render via bge.render.setMipmapping() and bge.render.getMipmapping().
Diffstat (limited to 'source/gameengine/Rasterizer/RAS_OpenGLRasterizer')
-rw-r--r--source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp29
-rw-r--r--source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h3
2 files changed, 32 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;
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h
index 94589f84197..04f27360c6b 100644
--- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h
+++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h
@@ -324,6 +324,9 @@ public:
virtual void SetAnisotropicFiltering(short level);
virtual short GetAnisotropicFiltering();
+ virtual void SetMipmapping(MipmapOption val);
+ virtual MipmapOption GetMipmapping();
+
virtual void SetUsingOverrideShader(bool val);
virtual bool GetUsingOverrideShader();