Revision: 19687
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19687
Author:   dfelinto
Date:     2009-04-12 21:46:50 +0200 (Sun, 12 Apr 2009)

Log Message:
-----------
2DFilter bugfixes:

[#18154] 2dFilter and motion blur should run only once to all the scenes
[#18504] The GL_PROJECTION matrix is being reset by the 2dfilter.

Modified Paths:
--------------
    trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
    trunk/blender/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp

Modified: trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp  2009-04-12 
17:54:07 UTC (rev 19686)
+++ trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp  2009-04-12 
19:46:50 UTC (rev 19687)
@@ -898,6 +898,9 @@
                }
        } // if(m_rasterizer->Stereo())
 
+       // run the 2dfilters and motion blur once for all the scenes
+       PostRenderFrame();
+
        EndFrame();
 }
 
@@ -1264,16 +1267,12 @@
                scene->GetPhysicsEnvironment()->debugDrawWorld();
        
        m_rasterizer->FlushDebugLines();
-
-       PostRenderFrame();
 }
 
 void KX_KetsjiEngine::PostRenderFrame()
 {
-       m_rendertools->PushMatrix();
        m_rendertools->Render2DFilters(m_canvas);
        m_rendertools->MotionBlur(m_rasterizer);
-       m_rendertools->PopMatrix();
 }
 
 void KX_KetsjiEngine::StopEngine()

Modified: trunk/blender/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp
===================================================================
--- trunk/blender/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp  
2009-04-12 17:54:07 UTC (rev 19686)
+++ trunk/blender/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp  
2009-04-12 19:46:50 UTC (rev 19687)
@@ -435,12 +435,13 @@
        glViewport(0,0, texturewidth, textureheight);
 
        glDisable(GL_DEPTH_TEST);
+       glPushMatrix();         //GL_MODELVIEW
+       glLoadIdentity();       // GL_MODELVIEW
        glMatrixMode(GL_TEXTURE);
        glLoadIdentity();
        glMatrixMode(GL_PROJECTION);
+       glPushMatrix();
        glLoadIdentity();
-       glMatrixMode(GL_MODELVIEW);
-       glLoadIdentity();
 
        for(passindex =0; passindex<MAX_RENDER_PASS; passindex++)
        {
@@ -466,6 +467,9 @@
        glEnable(GL_DEPTH_TEST);
        glViewport(viewport[0],viewport[1],viewport[2],viewport[3]);
        EndShaderProgram();     
+       glPopMatrix();
+       glMatrixMode(GL_MODELVIEW);
+       glPopMatrix();
 }
 
 void RAS_2DFilterManager::EnableFilter(vector<STR_String>& propNames, void* 
gameObj, RAS_2DFILTER_MODE mode, int pass, STR_String& text)


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to