diff --git a/Globals.cpp b/Globals.cpp index 430da597..498a53cc 100644 --- a/Globals.cpp +++ b/Globals.cpp @@ -763,6 +763,11 @@ global_settings::ConfigParse(cParser &Parser) { Parser.getTokens(1); Parser >> python_threadedupload; } + else if (token == "python.mipmaps") + { + Parser.getTokens(1); + Parser >> python_mipmaps; + } } while ((token != "") && (token != "endconfig")); //(!Parser->EndOfFile) // na koniec trochę zależności if (!bLoadTraction) // wczytywanie drutów i słupów diff --git a/Globals.h b/Globals.h index 086eaf3a..4d8c1a9e 100644 --- a/Globals.h +++ b/Globals.h @@ -176,6 +176,7 @@ struct global_settings { bool dds_upper_origin = false; bool captureonstart = true; + bool python_mipmaps = true; bool python_displaywindows = false; bool python_threadedupload = true; bool map_enabled = true; diff --git a/PyInt.cpp b/PyInt.cpp index 92fb41e0..88f151be 100644 --- a/PyInt.cpp +++ b/PyInt.cpp @@ -47,7 +47,7 @@ void render_task::run() { { m_format = GL_SRGB8_ALPHA8; m_components = GL_RGBA; - m_image = new unsigned char[m_width * m_width * 4]; + m_image = new unsigned char[m_width * m_height * 4]; int w = m_width; int h = m_height; @@ -80,7 +80,15 @@ void render_task::upload() delete[] m_image; - glGenerateMipmap(GL_TEXTURE_2D); + if (Global.python_mipmaps) + { + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); + glGenerateMipmap(GL_TEXTURE_2D); + } + else + { + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + } if (Global.python_threadedupload) glFlush();