Announcement

Collapse
No announcement yet.

Minimum OpenGL version

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Minimum OpenGL version

    What is the minimum OpenGL version required for WorldWind Java SDK? The WW java demo uses glGenBuffers(), which the OpenGL documentation says is only in OpenGL 1.5 and later. Is there a build option that will disable certain functionality and allow you to run with older OpenGL versions?

  • #2
    Read post #5 of this thread again.
    http://forum.worldwindcentral.com/sh...ad.php?t=31426

    Note that WWJ does not use OpenGL directly.
    It users jogl which is the Sun/Oracle native interface (JNI)
    The jogl version number is different than the OpenGL version number.

    You need JOGL 1.1.1 as pabercrombie mentioned.
    Last edited by nlneilson; 08-03-2011, 11:47 PM.
    Neil
    http://www.nlneilson.com

    Comment


    • #3
      I am using JOGL 1.1.1. When I run the WW demo, it throws an exception "method "glGenBuffers" not available". I'm assuming this means that the OpenGL on the system is too old. What I would like to know is what is the minimum OpenGL version for WorldWind Java SDK 1.2.

      btw, when I click on the link in the previous post, it goes to a picture of a brown square.

      Comment


      • #4
        That link was meant for a reply to another post, thanks for pointing that out.

        Originally posted by jnord View Post
        I'm assuming this means that the OpenGL on the system is too old.
        AFAIK WWJ does not and cannot use any OpenGL that is on the system.
        To use any OpenGL code, since WWJ is Java and not native like C/C++, it must have an interface to native code and that is what jogl is, the JNI (Java Native Interface) to the OpenGL that is included in jogl.
        Last edited by nlneilson; 08-04-2011, 12:11 AM.
        Neil
        http://www.nlneilson.com

        Comment


        • #5
          I noticed in your other thread that you are compiling the jogl code.
          You may be able to contact Oracle and find out which version of OpenGL was used for JOGL 1.1.1

          I use WWJ mainly for the display and C/C++ for most of the control.
          Debugging both at the same time, WWJ in Eclipse and the C/C++ in the Ultimate++ theIde both can be stepped through to find problems.

          You may be able to do something similar.

          whatnick suggested you contact IBM, maybe they have solved this.
          Neil
          http://www.nlneilson.com

          Comment


          • #6
            Correct me if I'm wrong, but it is my understanding that JOGL is simply an interface to whatever OpenGL is loaded on the machine you are running on. WW 1.2 is compatible with JOGL 1.1.1. But JOGL does not 'implement' OpenGL - it provides a JNI shared library that allows Java (WW) to call the system's OpenGL libraries. In my case, this is an IBM Regatta running AIX 6.1 operating system. As far as I can tell, the system has OpenGL 1.2 loaded on it.

            Since WW attempts to call the glGenBuffers function via JOGL, I'm assuming that means that WW needs the machine to have at least OpenGL 1.5 loaded on it. Is this wrong?

            Comment


            • #7
              You may be right, I have not found a link on that for sure, if you find one could you post it?
              My apps have run on WinXP, Vista, W7 and Ubuntu (if the graphic drivers are compatable) without concern
              of what version or even if OpenGl was on the system.

              One thing I was wrong on since 2010 jogl is no longer under Sun/Oracle.
              http://en.wikipedia.org/wiki/Java_OpenGL

              Here is an interesting thread.
              http://forum.worldwindcentral.com/sh...t=25636&page=2
              gouessej post#20 is one of the jogl developers
              Neil
              http://www.nlneilson.com

              Comment


              • #8
                World Wind requires OpenGL version 1.3 plus support for compressed textures in the S3TC/DXT format.

                Here's a list of the three OpenGL 1.3 extensions that World Wind requires, plus the S3TC format extension:
                - GL_ARB_multitexture
                - GL_EXT_texture_env_combine
                - GL_ARB_texture_compresssion
                - GL_EXT_texture_compression_s3tc

                Additionally, World Wind uses the following four extensions when they're available:
                - GL_ARB_vertex_buffer_object
                - GL_EXT_framebuffer_object
                - GL_EXT_texture_filter_anisotropic
                - GL_EXT_blend_func_separate

                If WW is calling gelGenBuffers on your system, then the OpenGL library on that system appears to be claiming support for vertex buffer objects (VBOs). WW isn't supposed to call it otherwise.

                Comment


                • #9
                  It was an adventure getting JOGL to build on AIX, so I might have messed something up to cause it to think it has "support for VBOs". I'll see if I can figure anything out with that.

                  Comment


                  • #10
                    Take a look at usage of gov.nasa.worldwind.render.GLRuntimeCapab ilities.

                    Comment


                    • #11
                      According the to the readme (https://www-304.ibm.com/support/docv...d101lpp_OpenGL), AIX 6.1 appears to support OpenGL 1.2.1.

                      Of the required extensions WW uses, AIX 6.1 OpenGL does not appear to support GL_ARB_texture_compresssion or GL_EXT_texture_compression_s3tc.

                      Of the optional extensions WW uses, AIX 6.1 does not support GL_ARB_vertex_buffer_object, GL_EXT_framebuffer_object, or GL_EXT_texture_filter_anisotropic.

                      So, the AIX OpenGL appears to be inadequate. Mesa is supposed to work on AIX, so I'm going to try that next.

                      Comment


                      • #12
                        Does anyone know if WW Java can be run with Mesa? I've got the latest 'stable' release of Mesa from http://www.mesa3d.org/ (build 7.10.3), and it does not define GL_EXT_texture_compression_s3tc. So with the AIX OpenGL stuck at 1.2.1 and the Mesa library not supporting S3TC compression, I appear to be out of options for using WW Java version 1.2.

                        Is the S3TC compression support really required, or is it only required when downloading images from the internet? The application we wish to write would never be on a system connected to the internet.

                        Is there an implementation of the S3TC code that could be put into Mesa?

                        What about older versions of WW? Did WW always require S3TC compression, or is there an older release that doesn't use it?

                        Comment


                        • #13
                          Just guessing on this but the S3TC, DXTn is for M$'s direct draw format, .dds.

                          In Ubuntu .png, .jpg displays OK but .dds will not with some drivers.

                          Images are often downloaded in .png or ,jpg.
                          In the layer file the format it is saved as and sent to the GPU can be specified:
                          Code:
                          // NAIP
                              <AvailableImageFormats>
                                  <ImageFormat>image/png</ImageFormat>
                              </AvailableImageFormats>
                              <FormatSuffix>.png</FormatSuffix>
                          
                          // Marble
                              <AvailableImageFormats>
                                  <ImageFormat>image/png</ImageFormat>
                                  <ImageFormat>image/dds</ImageFormat>
                              </AvailableImageFormats>
                              <FormatSuffix>.dds</FormatSuffix>
                          You can specify the format/suffix you want to work with.

                          Since 2008 I have clipped, merged and tiled the FAA Charts and made them available.
                          I use the .jpg format for size and the least problems and have WWJ convert that to .dds for display speed.

                          Where are you at with the port to AIX??
                          Can you display the WWJ frame, status bar, etc or are you stuck in getting it to build?
                          Neil
                          http://www.nlneilson.com

                          Comment


                          • #14
                            We have come to the decision to abandon the AIX port. It's just too much of a dinosaur in terms of its OpenGL support. We do plan to use the WW Java SDK on the Linux platform, though. For the AIX, we will just continue to use our existing C++/Motif/OpenGL based implementation. Our AIX machines are on the way out anyway, and will gradually be replaced by Linux boxes.

                            Comment


                            • #15
                              Good decision.

                              I have had good results with Ubuntu through 10.10, 11.04 has been a pain on some computers.
                              http://forum.worldwindcentral.com/sh...ghlight=Ubuntu
                              http://forum.worldwindcentral.com/sh...ghlight=Ubuntu
                              Neil
                              http://www.nlneilson.com

                              Comment

                              Working...
                              X