/// Control whether rendering goes into the retaining buffer (it's slower) or straight to the viewport.
/// This could be useful as a performance hack, or if someone was very clever, they could wait for a control to get deactivated, enable retaining, and render it one more time.
/// Of course, even better still is to be able to repaint viewports continually, but sometimes thats annoying.
//if we're not retaining, then we havent been collecting into a framebuffer. just swap it
if(!_retain)
{
base.SwapBuffers();
return;
}
//if we're retaining, then we cant draw until we unbind! its semantically a bit odd, but we expect users to call SwapBuffers() before end, so we cant unbind in End() even thoug hit makes a bit more sense.