diff --git a/source/gameengine/Ketsji/KX_WorldInfo.cpp b/source/gameengine/Ketsji/KX_WorldInfo.cpp index 6e1ca6ad9779..c3123788adca 100644 --- a/source/gameengine/Ketsji/KX_WorldInfo.cpp +++ b/source/gameengine/Ketsji/KX_WorldInfo.cpp @@ -209,12 +209,14 @@ void KX_WorldInfo::RenderBackground(RAS_IRasterizer *rasty) static float texcofac[4] = { 0.0f, 0.0f, 1.0f, 1.0f }; GPU_material_bind(gpumat, 0xFFFFFFFF, m_scene->lay, 1.0f, false, viewmat, invviewmat, texcofac, false); + rasty->Disable(RAS_IRasterizer::RAS_CULL_FACE); rasty->Enable(RAS_IRasterizer::RAS_DEPTH_TEST); rasty->SetDepthFunc(RAS_IRasterizer::RAS_ALWAYS); rasty->DrawOverlayPlane(); rasty->SetDepthFunc(RAS_IRasterizer::RAS_LEQUAL); + rasty->Enable(RAS_IRasterizer::RAS_CULL_FACE); GPU_material_unbind(gpumat); } diff --git a/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp b/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp index fb454716c1f6..d3bbeb831328 100644 --- a/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp +++ b/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp @@ -92,6 +92,7 @@ void RAS_2DFilterManager::RenderFilters(RAS_IRasterizer *rasty, RAS_ICanvas *can unsigned short colorfbo = rasty->GetCurrentOffScreenIndex(); unsigned short depthfbo = colorfbo; + rasty->Disable(RAS_IRasterizer::RAS_CULL_FACE); rasty->SetDepthFunc(RAS_IRasterizer::RAS_ALWAYS); rasty->Disable(RAS_IRasterizer::RAS_BLEND); rasty->Disable(RAS_IRasterizer::RAS_ALPHA_TEST); @@ -137,6 +138,7 @@ void RAS_2DFilterManager::RenderFilters(RAS_IRasterizer *rasty, RAS_ICanvas *can } rasty->SetDepthFunc(RAS_IRasterizer::RAS_LEQUAL); + rasty->Enable(RAS_IRasterizer::RAS_CULL_FACE); } RAS_2DFilter *RAS_2DFilterManager::CreateFilter(RAS_2DFilterData& filterData) diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp index 0f824be3dec1..3f0de988e3d2 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp @@ -904,12 +904,14 @@ void RAS_OpenGLRasterizer::DrawOffScreen(RAS_ICanvas *canvas, unsigned short ind SetViewport(viewport[0], viewport[1], viewport[2], viewport[3]); SetScissor(viewport[0], viewport[1], viewport[2], viewport[3]); + Disable(RAS_CULL_FACE); SetDepthFunc(RAS_ALWAYS); m_offScreens.RestoreScreen(); DrawOffScreen(index, 0); SetDepthFunc(RAS_LEQUAL); + Enable(RAS_CULL_FACE); } void RAS_OpenGLRasterizer::DrawStereoOffScreen(RAS_ICanvas *canvas, unsigned short lefteyeindex, unsigned short righteyeindex) @@ -930,6 +932,7 @@ void RAS_OpenGLRasterizer::DrawStereoOffScreen(RAS_ICanvas *canvas, unsigned sho SetViewport(viewport[0], viewport[1], viewport[2], viewport[3]); SetScissor(viewport[0], viewport[1], viewport[2], viewport[3]); + Disable(RAS_CULL_FACE); SetDepthFunc(RAS_ALWAYS); m_offScreens.RestoreScreen(); @@ -975,6 +978,7 @@ void RAS_OpenGLRasterizer::DrawStereoOffScreen(RAS_ICanvas *canvas, unsigned sho } SetDepthFunc(RAS_LEQUAL); + Enable(RAS_CULL_FACE); } void RAS_OpenGLRasterizer::BindOffScreenTexture(unsigned short index, unsigned short slot, OffScreen type) diff --git a/source/gameengine/VideoTexture/ImageRender.cpp b/source/gameengine/VideoTexture/ImageRender.cpp index c081984808a9..99841bb67843 100644 --- a/source/gameengine/VideoTexture/ImageRender.cpp +++ b/source/gameengine/VideoTexture/ImageRender.cpp @@ -302,8 +302,6 @@ bool ImageRender::Render() m_rasterizer->SetViewport(m_position[0], m_position[1], m_position[0] + m_capSize[0], m_position[1] + m_capSize[1]); m_rasterizer->SetScissor(m_position[0], m_position[1], m_position[0] + m_capSize[0], m_position[1] + m_capSize[1]); - m_rasterizer->SetClearColor(0.247784f, 0.247784f, 0.247784f, 1.0f); - m_rasterizer->Clear(RAS_IRasterizer::RAS_COLOR_BUFFER_BIT | RAS_IRasterizer::RAS_DEPTH_BUFFER_BIT); m_rasterizer->BeginFrame(m_engine->GetClockTime()); m_scene->GetWorldInfo()->UpdateWorldSettings(m_rasterizer); m_rasterizer->SetAuxilaryClientInfo(m_scene); @@ -394,7 +392,7 @@ bool ImageRender::Render() } // Render Background - if (m_scene->GetWorldInfo()->m_hasworld) { + if (m_scene->GetWorldInfo()) { const MT_Vector3 hor = m_scene->GetWorldInfo()->m_horizoncolor; const MT_Vector3 zen = m_scene->GetWorldInfo()->m_zenithcolor; m_scene->GetWorldInfo()->setHorizonColor(MT_Vector3(m_horizon[0], m_horizon[1], m_horizon[2]));