(As I understand it, this is a common method for post processing effects.)
Code: Select all
S3DVertex vertices[4];
SMaterial material;
vertices[0] = S3DVertex(-1, 1, 0, 0, 0, 0, SColor(255, 255, 255, 255), 0, 0); //upper right
vertices[1] = S3DVertex(1, 1, 0, 0, 0, 0, SColor(255, 255, 255, 255), 1, 0); //upper left
vertices[2] = S3DVertex(1, -1, 0, 0, 0, 0, SColor(255, 255, 255, 255), 1, 1); //lower left
vertices[3] = S3DVertex(-1, -1, 0, 0, 0, 0, SColor(255, 255, 255, 255), 0, 1); //lower right
irr::u16 indices[6] = {0, 1, 3, 1, 2, 3};
ITexture *render = device->getVideoDriver()->addRenderTargetTexture(dimension2d<u32>(1280, 720), "RTT1");
material.setTexture(0, render);
material.Wireframe = false;
material.Lighting = false;
material.ZWriteEnable = false;
Code: Select all
device->getVideoDriver()->beginScene(true, true);
device->getVideoDriver()->runAllOcclusionQueries(false);
device->getVideoDriver()->updateAllOcclusionQueries(false);
device->getVideoDriver()->setRenderTarget(render);
device->getSceneManager()->drawAll();
device->getVideoDriver()->setRenderTarget(0);
device->getVideoDriver()->setMaterial(material);
device->getVideoDriver()->setTransform(ETS_PROJECTION, IdentityMatrix);
device->getVideoDriver()->setTransform(ETS_VIEW, IdentityMatrix);
device->getVideoDriver()->setTransform(ETS_WORLD, IdentityMatrix);
device->getVideoDriver()->drawIndexedTriangleList(&vertices[0], 4, &indices[0], 2);
device->getGUIEnvironment()->drawAll();
device->getVideoDriver()->endScene();
![Image](http://s1.postimg.org/9nnd2bwlb/no_rtt.png)
And here it is with the quad enabled...
![Image](http://s3.postimg.org/5favxpx03/rtt.png)
Would anyone happen to know what I am doing wrong? Thanks
![Smile :)](./images/smilies/icon_smile.gif)