Commit 5acaa94c authored by hybrid's avatar hybrid

Fix MRT disabling under OpenGL. Thanks to wing64 for noting this error.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3518 dfc29bdd-3216-0410-991c-e03cc46cb475
parent f70257d2
...@@ -3828,7 +3828,7 @@ bool COpenGLDriver::setRenderTarget(video::ITexture* texture, bool clearBackBuff ...@@ -3828,7 +3828,7 @@ bool COpenGLDriver::setRenderTarget(video::ITexture* texture, bool clearBackBuff
if (CurrentTarget==ERT_MULTI_RENDER_TEXTURES) if (CurrentTarget==ERT_MULTI_RENDER_TEXTURES)
{ {
for (u32 i=0; i<MRTargets.size(); ++i) for (u32 i=1; i<MRTargets.size(); ++i)
{ {
if (MRTargets[i].TargetType==ERT_RENDER_TEXTURE) if (MRTargets[i].TargetType==ERT_RENDER_TEXTURE)
{ {
......
...@@ -63,7 +63,24 @@ static bool testWithDriver(video::E_DRIVER_TYPE driverType) ...@@ -63,7 +63,24 @@ static bool testWithDriver(video::E_DRIVER_TYPE driverType)
driver->endScene(); driver->endScene();
result = takeScreenshotAndCompareAgainstReference(driver, "-mrt.png"); result = takeScreenshotAndCompareAgainstReference(driver, "-mrt.png");
driver->beginScene (true, true, video::SColor (255, 200, 200, 200));
// render
device->getSceneManager()->getActiveCamera()->setPosition(core::vector3df(0,5,0));
driver->setRenderTarget( gbufferlist );
device->getSceneManager()->drawAll();
driver->setRenderTarget(0);
// draw debug rt
driver->draw2DImage(gbuffer[0], core::position2d<s32>(0,0));
driver->draw2DImage(gbuffer[1], core::position2d<s32>(64,0));
driver->draw2DImage(gbuffer[2], core::position2d<s32>(128,0));
driver->endScene();
result |= takeScreenshotAndCompareAgainstReference(driver, "-mrt2.png");
} }
device->closeDevice(); device->closeDevice();
device->run(); device->run();
device->drop(); device->drop();
......
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