diff options
Diffstat (limited to 'patches/OpenCSG-1.2.0-Reset-Hack.patch')
-rw-r--r-- | patches/OpenCSG-1.2.0-Reset-Hack.patch | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/patches/OpenCSG-1.2.0-Reset-Hack.patch b/patches/OpenCSG-1.2.0-Reset-Hack.patch deleted file mode 100644 index 7254ce7..0000000 --- a/patches/OpenCSG-1.2.0-Reset-Hack.patch +++ /dev/null @@ -1,89 +0,0 @@ -diff -ru OpenCSG-1.2.0/include/opencsg.h OpenCSG-1.2.0-reset/include/opencsg.h ---- OpenCSG-1.2.0/include/opencsg.h 2010-01-02 21:04:10.000000000 +0100 -+++ OpenCSG-1.2.0-reset/include/opencsg.h 2010-01-03 00:41:30.000000000 +0100 -@@ -229,6 +229,9 @@ - Algorithm, - DepthComplexityAlgorithm = NoDepthComplexitySampling); - -+ // call this function whenever switching the OpenGL context -+ void reset(); -+ - } // namespace OpenCSG - - #endif // __OpenCSG__opencsg_h__ -Only in OpenCSG-1.2.0-reset/include: opencsg.h~ -diff -ru OpenCSG-1.2.0/src/channelManager.h OpenCSG-1.2.0-reset/src/channelManager.h ---- OpenCSG-1.2.0/src/channelManager.h 2010-01-02 21:03:01.000000000 +0100 -+++ OpenCSG-1.2.0-reset/src/channelManager.h 2010-01-03 00:40:53.000000000 +0100 -@@ -79,9 +79,9 @@ - /// moved into alpha, to allow alpha testing of the channel. - static void setupTexEnv(Channel channel); - -- private: -- - static OpenGL::OffscreenBuffer* gOffscreenBuffer; -+ -+ private: - static int gOffscreenType; - static bool gInUse; - -Only in OpenCSG-1.2.0-reset/src: channelManager.h~ -diff -ru OpenCSG-1.2.0/src/offscreenBuffer.cpp OpenCSG-1.2.0-reset/src/offscreenBuffer.cpp ---- OpenCSG-1.2.0/src/offscreenBuffer.cpp 2010-01-02 21:03:04.000000000 +0100 -+++ OpenCSG-1.2.0-reset/src/offscreenBuffer.cpp 2010-01-03 00:41:28.000000000 +0100 -@@ -24,9 +24,22 @@ - #include "frameBufferObjectExt.h" - #include "pBufferTexture.h" - #include <GL/glew.h> -+#include "channelManager.h" -+ -+static bool reset_fARB = false; -+static bool reset_fEXT = false; -+static bool reset_p = false; - - namespace OpenCSG { - -+ void reset() -+ { -+ reset_fARB = true; -+ reset_fEXT = true; -+ reset_p = true; -+ OpenCSG::ChannelManager::gOffscreenBuffer = NULL; -+ } -+ - namespace OpenGL { - - OffscreenBuffer* getOffscreenBuffer(bool fbo) { -@@ -36,19 +49,28 @@ - - if (fbo) { - if (GLEW_ARB_framebuffer_object) { -- if (!fARB) -+ if (reset_fARB || !fARB) { -+ delete fARB; - fARB = new FrameBufferObject; -+ reset_fARB = false; -+ } - return fARB; - } - else { -- if (!fEXT) -+ if (reset_fEXT || !fEXT) { -+ delete fEXT; - fEXT = new FrameBufferObjectExt; -+ reset_fEXT = false; -+ } - return fEXT; - } - } - else { -- if (!p) -+ if (reset_p || !p) { -+ delete p; - p = new PBufferTexture; -+ reset_p = false; -+ } - return p; - } - } -Only in OpenCSG-1.2.0-reset/src: offscreenBuffer.cpp~ |