From b4b636386faac383b7366eedfea0017bb106cae4 Mon Sep 17 00:00:00 2001 From: Dalai Felinto Date: Sat, 11 Dec 2010 00:04:01 +0000 Subject: [PATCH] BGE BugFix: [#25106] modelview matrix incorrect after using VideoTexture - affecting mouse.position. Patch by Benoit Bolsee (ben2610) --- source/gameengine/VideoTexture/ImageRender.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/gameengine/VideoTexture/ImageRender.cpp b/source/gameengine/VideoTexture/ImageRender.cpp index fafb19fd05b..0aba4be1121 100644 --- a/source/gameengine/VideoTexture/ImageRender.cpp +++ b/source/gameengine/VideoTexture/ImageRender.cpp @@ -181,7 +181,9 @@ void ImageRender::Render() frustrum.camnear = -mirrorOffset[2]; frustrum.camfar = -mirrorOffset[2]+m_clip; } + // Store settings to be restored later const RAS_IRasterizer::StereoMode stereomode = m_rasterizer->GetStereoMode(); + RAS_Rect area = m_canvas->GetWindowArea(); // The screen area that ImageViewport will copy is also the rendering zone m_canvas->SetViewPort(m_position[0], m_position[1], m_position[0]+m_capSize[0]-1, m_position[1]+m_capSize[1]-1); @@ -258,6 +260,9 @@ void ImageRender::Render() m_scene->CalculateVisibleMeshes(m_rasterizer,m_camera); m_scene->RenderBuckets(camtrans, m_rasterizer, m_rendertools); + + // restore the canvas area now that the render is completed + m_canvas->GetWindowArea() = area; }