Some questions to JOGL

Hi,
I have some questions to JOGL:

  1. Will JOGL support for OpenGL 2.0 and the following extensions:
    OpenGL extensions
    WGL extensions
    GLX extensions
  2. How to query one platform has support for these extensions?
  3. How to load texture file in JOGL? There are some image formats like JPEG, PNG, TIFF, GIF and TGA. How to load these image files and convert them to texture data and do texture mapping in JOGL?
  4. Will JOGL support that: the prefix gl, glu is removed and replaced by the class name. e.g. gl.Begin(gl.Triangles); etc.
  5. Are there some OBJ loaders to load 3D model in some popular file formats, e.g. from Alias Wavefront , Autodesk 3DS Max.
    Thanks!

I’ll answer these to the best of my knowledge…

  1. Yes, OpenGL 2.0, WGL and GLX are all supported
  2. A combination of glGetString(GL_EXTENSIONS) and wglGetExtensionsStringARB
  3. Jogl only provides the binding to OpenGL. In other words, utility classes like image decoders, 3D model format decoders, … are not provided. I believe there is a seperate project to provide this kind of extra classes.
  4. No. There was a lot of debate about this issue and the final decision (iirc) was to keep the prefixes.
  5. See 3

Not all extensions are supported. All extensions prior to OpenGL 1.3 are not available as extensions in the API set. Eg glActiveTextureARB() does not exist in the JSR bindings because the extension defined for earlier versions of OpenGL was rolled into the core API.

Loaders et al are not really possible to write for straight OpenGL. It can be done, but tyypically means an application cannot integrate those models into it’s internal rendering pipeline process. At best you can have common parsers and some abstract model format. Loaders that are reusable really depend on having some sort of scene graph to work with. You’d be better off looking for loaders for the various scene graphs over JOGL like Aviatrix3D or Xith3D.

[quote=“Mithrandir,post:3,topic:25387”]
Is this a change from jogl to the jsr? The jogl implementation definitely had ‘glActiveTextureARB’. Won’t the lack of these methods cause problems when using pre OpenGL 1.3 implementations?

Yes, this was a conscious decision by the expert group to eliminate some redundant and obsolete entry points (like glVertexPointerEXT). It should not cause any significant problems. Most, if not all, OpenGL implementations in existence today which supported these extensions have a baseline supported GL_VERSION of >= 1.3, so the extensions are callable just by using the core API (glActiveTexture). JOGL still works with pre-1.3 OpenGL implementations. The only thing which doesn’t work now which used to is running on an OpenGL version declaring itself as version 1.1 but exposing these extensions. Not even the Microsoft OpenGL implementation had that property so I think that no functionality has been lost.