CEGUI switches FBO back to NULL even if user had FBO enabled before calling renderGUI

Issue #902 resolved
Martin Preisler
created an issue

This changes behaviour so it can't go into 0.7 unfortunately.

15:44 < CrazyEddie> mpreisler: what is the purpose of this function? 15:44 < mpreisler> CrazyEddie: lets say you want to render the entire CEGUI into your own FBO 15:44 < mpreisler> you can't at this moment 15:44 < mpreisler> CEGUI will switch to its own FBO for the texture caching thing 15:44 < mpreisler> when it disables that FBO it will switch to NULL FBO 15:44 < CrazyEddie> right 15:44 < mpreisler> rendering straight to the output buffer 15:45 < mpreisler> ideally all FBOs would remember the previously enabled FBO 15:45 < CrazyEddie> yes 15:45 < mpreisler> and switch to that when they end rendering 15:45 < CrazyEddie> yes 15:45 < mpreisler> dunno if we want that as a switchable feature or "always" 15:45 < CrazyEddie> I think how it is now could be considered a bug 15:46 < mpreisler> so it's 0.7 material? 15:46 < CrazyEddie> hmmm 15:46 < mpreisler> I am willing to fix this because it pisses me off :) 15:46 < CrazyEddie> tough call 15:47 < mpreisler> could someone possibly rely on this behavior? 15:47 < mpreisler> well, yeah... 15:47 < CrazyEddie> if people leave an "old" FBO active and rely on us to switch back, yes 15:47 < mpreisler> exactly 15:47 < mpreisler> it changes behavior so not 0.7 I would say 15:47 < CrazyEddie> yeah, it's a 1.0 thing for sure 15:47 < CrazyEddie> I think 15:47 < mpreisler> ok 15:47 < mpreisler> applies to GL and GL3 15:47 < mpreisler> should be an easy fix 15:47 < CrazyEddie> yeah 15:48 < CrazyEddie> carry on, sir 15:48 < mpreisler> the cost of checking whether it's enabled or not is not that much lower than actually doing it 15:48 < mpreisler> so I vote to do this always 15:48 < CrazyEddie> yes, i think always doing it is more correct 15:49 < mpreisler> I seriously hope that FBOs are dealt with like a stack 15:49 < mpreisler> so that they will never be "not well formed" 15:49 < mpreisler> I think this is the case, at least in CEGUI 15:49 < mpreisler> so I can just remember one value

Reproducibility: have not tried

Comments (3)

  1. Paul Turner

    Reopening due to issue remaining in the following functions:

    OpenGLFBOTextureTarget::initialiseRenderTexture OpenGLFBOTextureTarget::clear

    same will be true for GL3 also.

  2. Log in to comment