I got a zbuffer problem with real time textures.
Setting:
-irrlicht 1.8
-OpenGL
-drawing objects with my own shader
-shader based on EMT_TRANSPARENT_ALPHA_CHANNEL
-set in all materials the flags for EMF_ZWRITE_ENABLE and EMF_ZBUFFER
-did a 'smgr->getParameters()->setAttribute(scene::ALLOW_ZWRITE_ON_TRANSPARENT, true);'
--> everything works fine, when i draw to the frame buffer

but now i want to do i bit post processing and write the scene to a rtt:
Code: Select all
screenQuad = new CScreenQuadSceneNode(smgr->getRootSceneNode(),smgr,-1);
rtt = driver->addRenderTargetTexture(dimension2d<u32>(2048, 1024), "RTT0", ECF_A8R8G8B8);
screenQuad->getMaterial(0).setTexture(0,rtt);
screenQuad->getMaterial(0).MaterialType = (E_MATERIAL_TYPE)EMT_SOLID;
Code: Select all
driver->beginScene(true, true, backgroundColor);
driver->setRenderTarget(rtt, true, true, SColor(0,0,0,255));
smgr->drawAll();
driver->setRenderTarget(ERT_FRAME_BUFFER, false, false, SColor(0,0,0,255));
screenQuad->render();
guienv->drawAll();
driver->endScene();

Is there something special to keep in mind, when using rtt? Do you have any idea?
Regards,
Tom