diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2010-12-11 03:04:01 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2010-12-11 03:04:01 +0300 |
commit | b4b636386faac383b7366eedfea0017bb106cae4 (patch) | |
tree | 3f93b333c80f73fd6c88eadcf1a106b0331524fc /source/gameengine | |
parent | c0c4d9c14ce9e0990cfc372ead875e4629298d0a (diff) |
BGE BugFix: [#25106] modelview matrix incorrect after using VideoTexture - affecting mouse.position. Patch by Benoit Bolsee (ben2610)
Diffstat (limited to 'source/gameengine')
-rw-r--r-- | source/gameengine/VideoTexture/ImageRender.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
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; } |