Not a GL3 implementation on mac OS X 10.11

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

Not a GL3 implementation on mac OS X 10.11

danpcl
I code the java project that using JOGL 2.3 library, but I encounter a strange problem.

when I type the "GL3 gl = drawable.getGL().getGL3();" at function display() in class that extends GLCanvas.

I will get the exception like below:
               
Caused by: com.jogamp.opengl.GLException: Not a GL3 implementation
        at jogamp.opengl.gl4.GL4bcImpl.getGL3(GL4bcImpl.java:39005)
        at display.Displayer.display(Displayer.java:236)
        at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:691)
        at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:673)
        at com.jogamp.opengl.awt.GLCanvas$11.run(GLCanvas.java:1421)
        at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1277)

I have coded some Qt project using OpenGL 3.3 function, and it run well.

so I think it is not the hardware updating issue.
 
Have anyone encountered this problem before?

If solved, pls help me.
Reply | Threaded
Open this post in threaded view
|

Re: Not a GL3 implementation on mac OS X 10.11

elect
How do you create the GLProfile?
Reply | Threaded
Open this post in threaded view
|

Re: Not a GL3 implementation on mac OS X 10.11

gouessej
Administrator
In reply to this post by danpcl
Hi

GL4bc is a sub-interface of GL3, it should work. Do you use JOGL 2.3.2? Please be very accurate.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Not a GL3 implementation on mac OS X 10.11

gouessej
Administrator
In reply to this post by danpcl
Does drawable.getGL().isGL3() return true?
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Not a GL3 implementation on mac OS X 10.11

gouessej
Administrator
In reply to this post by danpcl
Sven wrote this several years ago:
http://jogamp.org/log/irc/jogamp_20140926050545.html#l87

You probably use the default profile instead of requesting a GL3 profile. Call GLProfile.getMaxProgrammable(true).
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Not a GL3 implementation on mac OS X 10.11

jmaasing
Many OSX machine do not support OpenGL 3 compatibility profiles at all (only core profiles) so make extra sure what type of profile you request. Later versions of OSX only supports OpenGL 4.1 or OpenGL 2.2 (depending on the HW).

https://developer.apple.com/opengl/capabilities/index.html
Reply | Threaded
Open this post in threaded view
|

Re: Not a GL3 implementation on mac OS X 10.11

danpcl
This post was updated on .
In reply to this post by gouessej
Yes, I use jogl-2.3.2

"GLProfile.getMaxProgrammable(true)", this function where should I call? In the override function "display()" ?

sharedCaps is a object of GLAutoDrawable.  

this line "sharedCaps=new GLCapabilities(GLProfile.getDefault());" that I get the default profile.

Should I modify the argument to create instance of GLCapabilities ?

By the way, my graphic card is "Intel HD Graphics 5000".
Reply | Threaded
Open this post in threaded view
|

Re: Not a GL3 implementation on mac OS X 10.11

gouessej
Administrator
You should use the right profile each time you create a (shared or not) context, a canvas or a window, when creating a GLCapabilities instance. It can't work if you use the default context (probably supporting only OpenGL 2.1 under OS X 10.11).
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Not a GL3 implementation on mac OS X 10.11

gouessej
Administrator
In reply to this post by danpcl
You told me that you get a 0x502 OpenGL error. It means that the profile doesn't support a particular kind of texture format.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Not a GL3 implementation on mac OS X 10.11

danpcl
drawable.getGL().getGL3() return false.

I think that my graphic card doesn't support Opengl 3.X.

Maybe I will try to use Opengl 4 or later to implement my project.

Reply | Threaded
Open this post in threaded view
|

Re: Not a GL3 implementation on mac OS X 10.11

gouessej
Administrator
Your GPU supports OpenGL 4 but I'm not sure that your driver under OS X supports it. Please use GLProfile.getMaximumProgrammable(true) or GLProfile.getMaximum(true) as early as possible when creating your first canvas or window, otherwise you have no chance to get any support of OpenGL core as your default seems to be OpenGL 2.1.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Not a GL3 implementation on mac OS X 10.11

jmaasing
gouessej wrote
Your GPU supports OpenGL 4 but I'm not sure that your driver under OS X supports it. Please use GLProfile.getMaximumProgrammable(true) or GLProfile.getMaximum(true) as early as possible when creating your first canvas or window, otherwise you have no chance to get any support of OpenGL core as your default seems to be OpenGL 2.1.
Newer Macs (last couple of years) with latest OSX should support OpenGL 4.1, they just don't support OpenGL 3.3 anymore which is strange but there you are :-)