Render to Target Problem

You are an experienced programmer and have a problem with the engine, shaders, or advanced effects? Here you'll get answers.
No questions about C++ programming or topics which are answered in the tutorials!
Post Reply
Riktovitch
Posts: 15
Joined: Tue Mar 05, 2013 12:36 am

Render to Target Problem

Post by Riktovitch »

Hi, I'm going to be making some custom shaders for my project. So I made a screen quad:
(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;
I render it like this:

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();
But, I have a problem. When I render the scene without the quad (render to texture), it looks normal:

Image

And here it is with the quad enabled...

Image

Would anyone happen to know what I am doing wrong? Thanks :)
Riktovitch
Posts: 15
Joined: Tue Mar 05, 2013 12:36 am

Re: Render to Target Problem

Post by Riktovitch »

I fixed the problem, it was extremely simple :/
I remember reading somewhere that AA messes up the depth buffer, and that appears to have been the case here.
Post Reply