Jump to content
  • Advertisement
Sign in to follow this  
Shankem

OpenGL JOGL VBO not available

This topic is 2833 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I was trying to use VBO to speed up my program, but I ran into a problem, when I tried to run the program I got a bunch of errors, probably most important was just this line:
Exception in thread "Thread-3" javax.media.opengl.GLException: javax.media.opengl.GLException: Method "glGenBuffers" not available
I was looking around and I saw some people saying to do:
System.out.println(gl.isExtensionAvailable("glGenBuffers"));
This printed out false. Then I tried:
System.out.println(gl.glGetString( GL.GL_VERSION ));
This printed out 1.1.0
Is this a problem with my graphics card driver, does it just not support VBO? I have up to date driver for my nvidia geforce 8600 gts.

Should I just switch to vertex arrays or is there a workaround for this?
Thanks.

Share this post


Link to post
Share on other sites
Advertisement
Quote:
Original post by Shankem
Is this a problem with my graphics card driver, does it just not support VBO? I have up to date driver for my nvidia geforce 8600 gts.
You are falling back to the ancient Microsoft software-based OpenGL implementation. Generally this indicates that your OpenGL drivers are not properly installed.

I would recommend uninstalling your graphics drivers, and manually installing the newest available drivers from NVidia's site.

Share this post


Link to post
Share on other sites
when using JOGL make sure u are requesting a OpenGL 2 context at a minimum

u need something like that


GLProfile profile = GLProfile.get(GLProfile.GL2);
GLCapabilities capabilities = new GLCapabilities(profile);

GLCanvas c = new GLCanvas(capabilities);



also when u querry the context u have to get the version which implements the GL2 interface



GL2 gl = GLContext.getCurrentGL().getGL2();

Share this post


Link to post
Share on other sites
Wow, thanks you really saved me a lot of grief. It's working properly now. I'm just wondering though, presumably other people will have problems like this, should I be programming in alternate drawing methods or should I just check if GL.GL_VERSION is at least a certain version or something? If so what version, and should I just not allow users to run the game if they don't have that version at least.
Thanks.

EDIT: Maybe I'm missing libraries or something, but GL2 doesn't seem to be defined. I have jogl 1.1.1

Share this post


Link to post
Share on other sites
what i do is that i request a minimum opengl version e.g. 2 because i want to use shaders.

Then the main difference between opengl 2 and 3 are that some extensions are granted in the 3rd version. In just querry every extension I want to use and do different according to the results different things.

e.g.

gl.isExtensionAvailable("GL_ARB_vertex_array_object");




when u want to support opengl 1 also u definitely have to do two different rendering paths. There is just so a big difference between this two versions.

A good solution would be to use the factory method pattern and so on to create renderobject who use different rendering approches for rendering them self or something like that.

EDIT:
Quote:

Maybe I'm missing libraries or something, but GL2 doesn't seem to be defined. I have jogl 1.1.1


ah yes u have to use JOGL 2 (still beta I think but works very well)

officell website

don't know if u already use NetBeans but they have a very nice JOGL plugin, which gives u projekt templates(ready to use buildscripts) GLSL editor ...

Share this post


Link to post
Share on other sites
Oh, I saw jogl2 but I figured it would be safer not to use it since it's in beta. Also I use eclipse. Thanks for the info.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!