bjornblissing / osgoculusviewer

An OsgViewer with support for the Oculus Rift
Other
106 stars 67 forks source link

fbo does not have getHandle() method in osg 3.2.0 #68

Closed west036 closed 9 years ago

west036 commented 9 years ago

fbo_ext->glBindFramebuffer(GL_FRAMEBUFFER_EXT, fbo->getHandle(ctx));

JeffBail commented 9 years ago

It's an inline function so it's pretty easy to just grab it from a newer version of OSG.

On Tue, Sep 22, 2015 at 11:30 PM, west036 notifications@github.com wrote:

fbo_ext->glBindFramebuffer(GL_FRAMEBUFFER_EXT, fbo->getHandle(ctx));

— Reply to this email directly or view it on GitHub https://github.com/bjornblissing/osgoculusviewer/issues/68.

Jeff Bail * | Senior Software Engineer VT MÄK | *150 Cambridge Park Drive, Third Floor, Cambridge, MA 02140 T: +1.857.209.3501 | F: +1.617.876.0032 jbail@mak.com | www.mak.com

[image: Linked In: company/MAK] http://www.linkedin.com/company/mak [image: Twitter: #!/vtmak] https://twitter.com/VTMAK https://vimeo.com/vtmak Check out my Putting the VR in VR-Vantage at I/ITSEC http://www.mak.com/social/blog/2015/01/14/283-putting-the-vr-into-vr-vantage-at-iitsec-2014.html blog post!

west036 commented 9 years ago

I don't want to upgrade to osg 3.4.0 nor rebuild osg 3.2.0, Is there anyway to fix this issue?

JeffBail commented 9 years ago

You could probably subclass your own FBO object.

On Tue, Sep 22, 2015 at 11:43 PM, west036 notifications@github.com wrote:

I don't want to upgrade to osg 3.4.0 nor rebuild osg 3.2.0, Is there anyway to fix this issue?

— Reply to this email directly or view it on GitHub https://github.com/bjornblissing/osgoculusviewer/issues/68#issuecomment-142482017 .

Jeff Bail * | Senior Software Engineer VT MÄK | *150 Cambridge Park Drive, Third Floor, Cambridge, MA 02140 T: +1.857.209.3501 | F: +1.617.876.0032 jbail@mak.com | www.mak.com

[image: Linked In: company/MAK] http://www.linkedin.com/company/mak [image: Twitter: #!/vtmak] https://twitter.com/VTMAK https://vimeo.com/vtmak Check out my Putting the VR in VR-Vantage at I/ITSEC http://www.mak.com/social/blog/2015/01/14/283-putting-the-vr-into-vr-vantage-at-iitsec-2014.html blog post!

ChrisDenham commented 9 years ago

Would you be able to update to osg 3.2.1? I presume that must be very close to 3.2.0, and does have the fbo getHandle function.

Also, if you are using MSAA samples > 0, then that line of code is not executed, so as a bodge fix, you could comment out that line in oculusdevice.cpp to get it working with osg 3.2.0

bjornblissing commented 9 years ago

Hi @west036 Since this is an open source project, which I work on mainly on my spare time, it is hard to keep the source compatible with all OSG versions. Even though I try my best.

I don't know your reasons for sticking with the 3.2.0 version of OSG, but maybe you could do as Chris says and update to 3.2.1?

In the future I am hoping to replace the current handling of the OculusTextures with new subclass of osg::Texture, this change may of help for you. But I can not guarantee that it will solve your problem nor that I will get the time for that change any time soon.

So your best bet is to try to update your OSG version.

west036 commented 9 years ago

Thanks,the issue has been fixed. I change _fboID from private to public in FrameBufferObject, and use fbo->_fboID[ctx] instead of fbo->getHandle(ctx),this seens work.