diff options
author | Mitchell Stokes <mogurijin@gmail.com> | 2012-12-25 10:20:50 +0400 |
---|---|---|
committer | Mitchell Stokes <mogurijin@gmail.com> | 2012-12-25 10:20:50 +0400 |
commit | 62b6303735a1bbdb0f978ecf6afc1829d13ebe7b (patch) | |
tree | a69e00d21893bb7c64ef0fcf124c94247b3dbace /source/gameengine/BlenderRoutines | |
parent | f339c63584526a56e5053dc288ccf557a722a202 (diff) |
BGE: Fixing an assert with the canvas' GetViewPort(). bf_gpu was changing the viewport when handling shadow buffers. KX_LightObject::BindShadowBuffer() now updates the canvas with the new viewport information from bf_gpu.
Diffstat (limited to 'source/gameengine/BlenderRoutines')
-rw-r--r-- | source/gameengine/BlenderRoutines/KX_BlenderCanvas.cpp | 12 | ||||
-rw-r--r-- | source/gameengine/BlenderRoutines/KX_BlenderCanvas.h | 7 |
2 files changed, 19 insertions, 0 deletions
diff --git a/source/gameengine/BlenderRoutines/KX_BlenderCanvas.cpp b/source/gameengine/BlenderRoutines/KX_BlenderCanvas.cpp index 346d2017ef0..719041e8d41 100644 --- a/source/gameengine/BlenderRoutines/KX_BlenderCanvas.cpp +++ b/source/gameengine/BlenderRoutines/KX_BlenderCanvas.cpp @@ -178,6 +178,18 @@ SetViewPort( glScissor(minx + x1, miny + y1, vp_width, vp_height); } + void +KX_BlenderCanvas:: +UpdateViewPort( + int x1, int y1, + int x2, int y2 +) { + m_viewport[0] = x1; + m_viewport[1] = y1; + m_viewport[2] = x2; + m_viewport[3] = y2; +} + const int* KX_BlenderCanvas:: GetViewPort() { diff --git a/source/gameengine/BlenderRoutines/KX_BlenderCanvas.h b/source/gameengine/BlenderRoutines/KX_BlenderCanvas.h index 244394a115d..4117c13aede 100644 --- a/source/gameengine/BlenderRoutines/KX_BlenderCanvas.h +++ b/source/gameengine/BlenderRoutines/KX_BlenderCanvas.h @@ -151,6 +151,13 @@ public: int x1, int y1, int x2, int y2 ); + + void + UpdateViewPort( + int x1, int y1, + int x2, int y2 + ); + const int* GetViewPort(); |