forked from bartvdbraak/blender
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.
This commit is contained in:
parent
5b942b9d5b
commit
8664e35adf
@ -898,6 +898,9 @@ void KX_KetsjiEngine::Render()
|
|||||||
}
|
}
|
||||||
} // if(m_rasterizer->Stereo())
|
} // if(m_rasterizer->Stereo())
|
||||||
|
|
||||||
|
// run the 2dfilters and motion blur once for all the scenes
|
||||||
|
PostRenderFrame();
|
||||||
|
|
||||||
EndFrame();
|
EndFrame();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1264,16 +1267,12 @@ void KX_KetsjiEngine::RenderFrame(KX_Scene* scene, KX_Camera* cam)
|
|||||||
scene->GetPhysicsEnvironment()->debugDrawWorld();
|
scene->GetPhysicsEnvironment()->debugDrawWorld();
|
||||||
|
|
||||||
m_rasterizer->FlushDebugLines();
|
m_rasterizer->FlushDebugLines();
|
||||||
|
|
||||||
PostRenderFrame();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void KX_KetsjiEngine::PostRenderFrame()
|
void KX_KetsjiEngine::PostRenderFrame()
|
||||||
{
|
{
|
||||||
m_rendertools->PushMatrix();
|
|
||||||
m_rendertools->Render2DFilters(m_canvas);
|
m_rendertools->Render2DFilters(m_canvas);
|
||||||
m_rendertools->MotionBlur(m_rasterizer);
|
m_rendertools->MotionBlur(m_rasterizer);
|
||||||
m_rendertools->PopMatrix();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void KX_KetsjiEngine::StopEngine()
|
void KX_KetsjiEngine::StopEngine()
|
||||||
|
@ -435,11 +435,12 @@ void RAS_2DFilterManager::RenderFilters(RAS_ICanvas* canvas)
|
|||||||
glViewport(0,0, texturewidth, textureheight);
|
glViewport(0,0, texturewidth, textureheight);
|
||||||
|
|
||||||
glDisable(GL_DEPTH_TEST);
|
glDisable(GL_DEPTH_TEST);
|
||||||
|
glPushMatrix(); //GL_MODELVIEW
|
||||||
|
glLoadIdentity(); // GL_MODELVIEW
|
||||||
glMatrixMode(GL_TEXTURE);
|
glMatrixMode(GL_TEXTURE);
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
glMatrixMode(GL_PROJECTION);
|
glMatrixMode(GL_PROJECTION);
|
||||||
glLoadIdentity();
|
glPushMatrix();
|
||||||
glMatrixMode(GL_MODELVIEW);
|
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
|
|
||||||
for(passindex =0; passindex<MAX_RENDER_PASS; passindex++)
|
for(passindex =0; passindex<MAX_RENDER_PASS; passindex++)
|
||||||
@ -466,6 +467,9 @@ void RAS_2DFilterManager::RenderFilters(RAS_ICanvas* canvas)
|
|||||||
glEnable(GL_DEPTH_TEST);
|
glEnable(GL_DEPTH_TEST);
|
||||||
glViewport(viewport[0],viewport[1],viewport[2],viewport[3]);
|
glViewport(viewport[0],viewport[1],viewport[2],viewport[3]);
|
||||||
EndShaderProgram();
|
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)
|
void RAS_2DFilterManager::EnableFilter(vector<STR_String>& propNames, void* gameObj, RAS_2DFILTER_MODE mode, int pass, STR_String& text)
|
||||||
|
Loading…
Reference in New Issue
Block a user