diff --git a/source/gameengine/Launcher/LA_Launcher.cpp b/source/gameengine/Launcher/LA_Launcher.cpp index a89534037d6e..d85549b2db52 100644 --- a/source/gameengine/Launcher/LA_Launcher.cpp +++ b/source/gameengine/Launcher/LA_Launcher.cpp @@ -175,6 +175,8 @@ void LA_Launcher::InitEngine() m_rasterizer->SetEyeSeparation(m_startScene->gm.eyeseparation); m_rasterizer->SetDrawingMode(GetRasterizerDrawMode()); + // Copy current anisotropic level to restore it at the game end. + m_savedData.anisotropic = m_rasterizer->GetAnisotropicFiltering(); // Copy current mipmap mode to restore at the game end. m_savedData.mipmap = m_rasterizer->GetMipmapping(); @@ -314,6 +316,9 @@ void LA_Launcher::ExitEngine() m_canvas->SetMouseState(RAS_ICanvas::MOUSE_NORMAL); } + // Set anisotropic settign back to its original value. + m_rasterizer->SetAnisotropicFiltering(m_savedData.anisotropic); + // Set mipmap setting back to its original value. m_rasterizer->SetMipmapping(m_savedData.mipmap); diff --git a/source/gameengine/Launcher/LA_Launcher.h b/source/gameengine/Launcher/LA_Launcher.h index ebf6b55c46a3..56179a900396 100644 --- a/source/gameengine/Launcher/LA_Launcher.h +++ b/source/gameengine/Launcher/LA_Launcher.h @@ -97,6 +97,7 @@ class LA_Launcher struct SavedData { int vsync; RAS_IRasterizer::MipmapOption mipmap; + int anisotropic; } m_savedData; struct PythonConsole { diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp index 362996347ce2..1ddd9c9064fe 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp @@ -244,8 +244,6 @@ RAS_OpenGLRasterizer::RAS_OpenGLRasterizer(RAS_STORAGE_TYPE storage, int storage } hinterlace_mask[32] = 0; - m_prevafvalue = GPU_get_anisotropic(); - if (m_storage_type == RAS_VBO /*|| m_storage_type == RAS_AUTO_STORAGE && GLEW_ARB_vertex_buffer_object*/) { m_storage = new RAS_StorageVBO(&m_texco_num, m_texco, &m_attrib_num, m_attrib, m_attrib_layer); } @@ -264,9 +262,6 @@ RAS_OpenGLRasterizer::RAS_OpenGLRasterizer(RAS_STORAGE_TYPE storage, int storage RAS_OpenGLRasterizer::~RAS_OpenGLRasterizer() { - // Restore the previous AF value - GPU_set_anisotropic(m_prevafvalue); - if (m_storage) delete m_storage; } diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h index 25f440316549..6c6d6af69f47 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h @@ -131,8 +131,6 @@ class RAS_OpenGLRasterizer : public RAS_IRasterizer bool m_setfocallength; int m_noOfScanlines; - short m_prevafvalue; - /* motion blur */ int m_motionblur; float m_motionblurvalue;