Commit e0440b46 authored by hybrid's avatar hybrid

Another typo in the MRT inits, also make sure these mixed MRTs really work.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2918 dfc29bdd-3216-0410-991c-e03cc46cb475
parent 9b418dbd
...@@ -3480,11 +3480,20 @@ bool COpenGLDriver::setRenderTarget(const core::array<video::IRenderTarget>& tar ...@@ -3480,11 +3480,20 @@ bool COpenGLDriver::setRenderTarget(const core::array<video::IRenderTarget>& tar
return false; return false;
} }
if (targets[0].TargetType==ERT_RENDER_TEXTURE) // init FBO, if any
setRenderTarget(targets[0].RenderTexture, false, false, 0x0); for (u32 i=0; i<maxMultipleRTTs; ++i)
else {
if (targets[i].TargetType==ERT_RENDER_TEXTURE)
{
setRenderTarget(targets[i].RenderTexture, false, false, 0x0);
break;
}
}
// init other main buffer, if necessary
if (targets[0].TargetType!=ERT_RENDER_TEXTURE)
setRenderTarget(targets[0].TargetType, false, false, 0x0); setRenderTarget(targets[0].TargetType, false, false, 0x0);
// attach other textures and store buffers into array
if (maxMultipleRTTs > 1) if (maxMultipleRTTs > 1)
{ {
CurrentTarget=ERT_MULTI_RENDER_TEXTURES; CurrentTarget=ERT_MULTI_RENDER_TEXTURES;
...@@ -3508,7 +3517,7 @@ bool COpenGLDriver::setRenderTarget(const core::array<video::IRenderTarget>& tar ...@@ -3508,7 +3517,7 @@ bool COpenGLDriver::setRenderTarget(const core::array<video::IRenderTarget>& tar
{ {
extGlBlendFuncIndexed(i, targets[i].BlendFuncSrc, targets[i].BlendFuncDst); extGlBlendFuncIndexed(i, targets[i].BlendFuncSrc, targets[i].BlendFuncDst);
} }
if (targets[0].TargetType==ERT_RENDER_TEXTURE) if (targets[i].TargetType==ERT_RENDER_TEXTURE)
{ {
GLenum attachment = GL_NONE; GLenum attachment = GL_NONE;
#ifdef GL_EXT_framebuffer_object #ifdef GL_EXT_framebuffer_object
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment