Inconsistant Hall of Mirrors issue

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
Nyxojaele
Posts: 98
Joined: Mon Sep 18, 2006 4:06 am

Inconsistant Hall of Mirrors issue

Post by Nyxojaele »

So I've been working on a graphics editor of sorts, and until recently, hadn't defined which driver type to use (so it defaulted to EDT_BURNINGSVIDEO). I've since decided that it's time to get an accelerated driver to be used instead, so I simply set SIrrlichtCreationParameters::DriverType to EDT_DIRECT3D9

Now, my application gets all sorts of strange graphical artifacts, so I've disabled various features to work on one at a time. The one I'm looking at right now is that I get the dreaded "Hall of Mirrors" effect, as if the frame buffer isn't being cleared between frames, but if I run my application in PIX, it renders properly!

Any ideas about why it is that this might be occurring?

Edit: Okay, so I found where the issue stems from: It comes from my rendering to multiple viewports on screen- after I'm done rendering to them all, I need to call IVideoDriver::setViewPort() and set it to the full screen again. I'm guessing this is because IVideoDriver::endScene() just calls up the current viewport to choose where it clears the frame buffer? That's the only thing I can think of anyways...

But still, I don't know why it worked properly in PIX and not when run normally...?
hybrid
Admin
Posts: 14144
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

Maybe PIX initializes the framebuffer in order to see the actual frame effects?
sio2
Competition winner
Posts: 1003
Joined: Thu Sep 21, 2006 5:33 pm
Location: UK

Post by sio2 »

Compile against debug irrlicht and debug direct3d dlls. Crank the d3d9 debug output to max-1 (max may spam too much warning info) in the control panel applet and see if there's any clues in the output window.
Post Reply