protected void getAvailableExtensions() { // For a complete list of extensions, go to this sections in the openGL // registry: // http://www.opengl.org/registry/#arbextspecs // http://www.opengl.org/registry/#otherextspecs String extensions = gl.glGetString(GL.GL_EXTENSIONS); if (extensions.indexOf("GL_ARB_multitexture") == -1) { multiTexAvailable = false; System.out.println("GL_ARB_multitexture extension not available"); } if (extensions.indexOf("GL_ARB_vertex_buffer_object") == -1) { vbosAvailable = false; System.out.println("GL_ARB_vertex_buffer_object extension not available"); } if (extensions.indexOf("GL_EXT_framebuffer_object") == -1) { fbosAvailable = false; System.out.println("GL_EXT_framebuffer_object extension not available"); } if (extensions.indexOf("GL_ARB_shader_objects") == -1) { shadersAvailable = false; System.out.println("GL_ARB_shader_objects extension not available"); } if (extensions.indexOf("GL_EXT_geometry_shader4") == -1) { geoShadersAvailable = false; System.out.println("GL_ARB_geometry_shader4 extension not available"); } if (extensions.indexOf("GL_ARB_vertex_shader") == -1) { vertShadersAvailable = false; System.out.println("GL_ARB_vertex_shader extension not available"); } if (extensions.indexOf("GL_ARB_fragment_shader") == -1) { fragShadersAvailable = false; System.out.println("GL_ARB_fragment_shader extension not available"); } if (extensions.indexOf("GL_ARB_shading_language_100") == -1) { glsl100Available = false; System.out.println("GL_ARB_shading_language_100 extension not available"); } if (extensions.indexOf("GL_ARB_texture_float") == -1) { floatTexAvailable = false; System.out.println("GL_ARB_texture_float extension not available"); } if (extensions.indexOf("GL_ARB_texture_non_power_of_two") == -1) { nonTwoPowTexAvailable = false; System.out.println("GL_ARB_texture_non_power_of_two extension not available"); } if (extensions.indexOf("GL_EXT_framebuffer_multisample") == -1) { fboMultisampleAvailable = false; System.out.println("GL_EXT_framebuffer_multisample extension not available"); } }
public void init(GLAutoDrawable glAutoDrawable) { StringBuilder sb = new StringBuilder(); sb.append(gov.nasa.worldwind.Version.getVersion() + "\n"); sb.append("\nSystem Properties\n"); sb.append("Processors: " + Runtime.getRuntime().availableProcessors() + "\n"); sb.append("Free memory: " + Runtime.getRuntime().freeMemory() + " bytes\n"); sb.append("Max memory: " + Runtime.getRuntime().maxMemory() + " bytes\n"); sb.append("Total memory: " + Runtime.getRuntime().totalMemory() + " bytes\n"); for (Map.Entry prop : System.getProperties().entrySet()) { sb.append(prop.getKey() + " = " + prop.getValue() + "\n"); } GL gl = glAutoDrawable.getGL(); sb.append("\nOpenGL Values\n"); String oglVersion = gl.glGetString(GL.GL_VERSION); sb.append("OpenGL version: " + oglVersion + "\n"); String oglVendor = gl.glGetString(GL.GL_VENDOR); sb.append("OpenGL vendor: " + oglVendor + "\n"); String oglRenderer = gl.glGetString(GL.GL_RENDERER); sb.append("OpenGL renderer: " + oglRenderer + "\n"); int[] intVals = new int[2]; for (Attr attr : attrs) { sb.append(attr.name).append(": "); if (attr.attr instanceof Integer) { gl.glGetIntegerv((Integer) attr.attr, intVals, 0); sb.append(intVals[0]).append(intVals[1] > 0 ? ", " + intVals[1] : ""); } sb.append("\n"); } String extensionString = gl.glGetString(GL.GL_EXTENSIONS); String[] extensions = extensionString.split(" "); sb.append("Extensions\n"); for (String ext : extensions) { sb.append(" " + ext + "\n"); } sb.append("\nJOGL Values\n"); String pkgName = "javax.media.opengl"; try { getClass().getClassLoader().loadClass(pkgName + ".GL"); Package p = Package.getPackage(pkgName); if (p == null) { sb.append("WARNING: Package.getPackage(" + pkgName + ") is null\n"); } else { sb.append(p + "\n"); sb.append("Specification Title = " + p.getSpecificationTitle() + "\n"); sb.append("Specification Vendor = " + p.getSpecificationVendor() + "\n"); sb.append("Specification Version = " + p.getSpecificationVersion() + "\n"); sb.append("Implementation Vendor = " + p.getImplementationVendor() + "\n"); sb.append("Implementation Version = " + p.getImplementationVersion() + "\n"); } } catch (ClassNotFoundException e) { sb.append("Unable to load " + pkgName + "\n"); } this.outputArea.setText(sb.toString()); }
protected void getVersionNumbers() { glVersion = gl.glGetString(GL.GL_VERSION); glMajor = Character.getNumericValue(glVersion.charAt(0)); glMinor = Character.getNumericValue(glVersion.charAt(2)); glslVersion = gl.glGetString(GL.GL_SHADING_LANGUAGE_VERSION_ARB); }