BGE bug #29133: Render to Texture not working. Fixed by using same viewport to render and capture.

This commit is contained in:
Benoit Bolsee 2012-02-04 17:20:38 +00:00
parent fc0ce537ba
commit 4c7e769aa1

@ -31,6 +31,7 @@ http://www.gnu.org/copyleft/lesser.txt.
#include "GL/glew.h" #include "GL/glew.h"
#include "KX_PythonInit.h"
#include "Texture.h" #include "Texture.h"
#include "ImageBase.h" #include "ImageBase.h"
#include "FilterSource.h" #include "FilterSource.h"
@ -41,7 +42,13 @@ http://www.gnu.org/copyleft/lesser.txt.
ImageViewport::ImageViewport (void) : m_alpha(false), m_texInit(false) ImageViewport::ImageViewport (void) : m_alpha(false), m_texInit(false)
{ {
// get viewport rectangle // get viewport rectangle
glGetIntegerv(GL_VIEWPORT, m_viewport); RAS_Rect rect = KX_GetActiveEngine()->GetCanvas()->GetWindowArea();
m_viewport[0] = rect.GetLeft();
m_viewport[1] = rect.GetBottom();
m_viewport[2] = rect.GetWidth();
m_viewport[3] = rect.GetHeight();
//glGetIntegerv(GL_VIEWPORT, m_viewport);
// create buffer for viewport image // create buffer for viewport image
m_viewportImage = new BYTE [4 * getViewportSize()[0] * getViewportSize()[1]]; m_viewportImage = new BYTE [4 * getViewportSize()[0] * getViewportSize()[1]];
// set attributes // set attributes