sensics / OSVR-RenderManager

Apache License 2.0
64 stars 45 forks source link

RenderManagerOpenGL::RenderEyeFinalize glBindFrameBuffer: OpenGL error GL_INVALID_OPERATION(1282) #253

Closed Oneiros90 closed 7 years ago

Oneiros90 commented 7 years ago

Hi, I'm trying to run this OpenGL example. It works like one time out of five, resulting in a warning and an error most of the times (screenshot). Any idea why?

My setup:

I followed these steps to make the Visual Studio project and I just added opengl32.lib, osvrClientKit.lib, osvrUtil.lib and osvrRenderManager.lib to the linker.

I'm currently in Release mode (Debug doesn't work, it hangs on line 368...) Thanks

russell-taylor commented 7 years ago

There has been some recent adjustment to where different rendering functions are happening in OpenGL. If you don't have the current master checkout for RenderManager, some important fixes may be missing. If you are using this, we'll need to try and reproduce here.

A reason for debug hanging could be due to the need to compile OSVR-Core and OSVR-RenderManager with the same Visual Studio settings (debug, etc). This is because RenderManager currently uses the C++ API to talk with Core functions.

Oneiros90 commented 7 years ago

I see. The problem is that it would be very difficult for me right now to c-make and generate the entire OSVR-Core and OSVR-RenderManager projects, fixing all the dependencies etc... using the sdk binaries was very handy...

Thank you for your support :)

russell-taylor commented 7 years ago

The most-recent compiled libraries at https://osvr.github.io/using/ should work together and also have the improvements I mentioned. If the problem happens with them, we'll try to reproduce and fix.

Oneiros90 commented 7 years ago

Yes, it happens with them. The error is in this class at this line.

russell-taylor commented 7 years ago

Unable to reproduce with the current master source of RenderManager repository and either a window-only server or an Oculus DK2 using the raw VRPN driver. Will try with the released SDK to see if it happens there.

russell-taylor commented 7 years ago

Trying 0.6.1339-g3139e8c build 332, it fails to run about half the time. When I finally caught it in a console window, it had that same error message. Tried again with the master source version and it worked multiple times. Looks like the SDK installer needs to be rebuilt with the current source. Sorry this didn't happen automatically. I'm asking for it to be triggered now.

russell-taylor commented 7 years ago

We've moved to a validated-build release approach, which is good, but in the process we stopped building automatic updates, which is less than optional. I've now validated that the upcoming release (build 335) fixes this bug for me so hopefully will fix for you as well. I'm also lobbying, it looks like successfully, to get a separate automatic build pushed out so that we don't have to wait for these in the future to test potential patches.

russell-taylor commented 7 years ago

Build 337 at http://access.osvr.com/binary/osvr-sdk-installer had this problem fixed for me when I tested it pre-release. Sorry we didn't test 332 enough before releasing it.

russell-taylor commented 7 years ago

And thanks for letting us know about it and walking through it with us to find a solution!