"Ho damn, not another opengl quad buffer patch..."
But, cause there's a but, this one have a little different implementation than the other on the forum: it only modify RenderSystemGL plugin, nothing more (although the camera listener patch I mentioned in another post is necessary). And so, I wish that this patch could officially be approved, this will be far easier to use this functionality with Ogre than the actual way of doing which is very complicated (search for the patches in the forum, determine which one is the more recent, apply it... etc!).
To enable quad buffer on an existing application (let's say the sample browser for example), you just have to add 2 line to the camera creation code:
Code: Select all
cam->setFocalLength(10.0f);
cam->setFrustumOffset(Ogre::Vector2(-0.05f, 0.0f));
There's some stuff that do not work (but those technique are known to make problems with quad buffer, so it's not a surprise):
* Character demo (certainly the texture shadow used)
* Compositor demo (strange because the deferred demo seem to work, although it use compositors, need to investigate here)
* New instancing (don't know why at this time)
* Shadows (stencil ok, without surprise textures shadows are ko)
* Skeletal animation (texture shadow again?)
I will work on a way to disable the textures shadows automatically when quad buffer is enabled, but it's not mandatory to check the actual patch implementation

Another work is to implement it for linux, but it should be 4 or 5 lines to modify in the "OgreWin32GLSupport.cpp" linux equivalent class, just have to setup a linux on my quad buffer pc.
<edit>I forgot to mention that this implementation renders the first frame a camera is used with normal double buffer, and all the other with quadbuffer, but at 120Hz, who cares!?</edit>
<edit>Last version of the patch: https://ogre3d.atlassian.net/browse/OGRE-143</edit>