Java Binding for OpenGL ® 1.1.0 API Change Log
This change log document contains the proposed changes for the Java Binding for OpenGL 1.1.0 API. These changes are the result of discussion on the JOGL forum.
The changes have already been integrated into the daily and milestone implementation builds that can be found at the JOGL java.net site. The latest version of the proposed 1.1.0 specification that integrates all of the proposed changes found in this document can also be found there.
Here is the list of our proposed changes for the Java Binding for OpenGL version 1.1.0 API. All of these changes are within the javax.media.opengl package:
We propose to add a method for querying the chosen capabilities (i.e., pixel format, visual) for each of the drawables in the javax.media.opengl package.
GLDrawable: new method: public GLCapabilities getChosenGLCapabilities() GLCanvas: new method: public GLCapabilities getChosenGLCapabilities() GLJPanel: new method: public GLCapabilities getChosenGLCapabilities()
GLContext: new method: public abstract void copy(GLContext source, int mask)
These changes incorporate both the necessary additions for the standard OpenGL 2.1 binding as well as the latest Nvidia GeForce 8 series OpenGL extensions.
GL: change field value: public static final int GL_GLEXT_VERSION = 36; Remove fields: public static final int GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENTS_EXT = 0x8CD6; public static final int GL_FRAMEBUFFER_STATUS_ERROR_EXT = 0x8CDE; public static final int GL_STENCIL_INDEX_EXT = 0x8D45; Add fields: public static final int GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = 0x8CD6; public static final int GL_CURRENT_RASTER_SECONDARY_COLOR = 0x845F; public static final int GL_PIXEL_PACK_BUFFER = 0x88EB; public static final int GL_PIXEL_UNPACK_BUFFER = 0x88EC; public static final int GL_PIXEL_PACK_BUFFER_BINDING = 0x88ED; public static final int GL_PIXEL_UNPACK_BUFFER_BINDING = 0x88EF; public static final int GL_FLOAT_MAT2x3 = 0x8B65; public static final int GL_FLOAT_MAT2x4 = 0x8B66; public static final int GL_FLOAT_MAT3x2 = 0x8B67; public static final int GL_FLOAT_MAT3x4 = 0x8B68; public static final int GL_FLOAT_MAT4x2 = 0x8B69; public static final int GL_FLOAT_MAT4x3 = 0x8B6A; public static final int GL_SRGB = 0x8C40; public static final int GL_SRGB8 = 0x8C41; public static final int GL_SRGB_ALPHA = 0x8C42; public static final int GL_SRGB8_ALPHA8 = 0x8C43; public static final int GL_SLUMINANCE_ALPHA = 0x8C44; public static final int GL_SLUMINANCE8_ALPHA8 = 0x8C45; public static final int GL_SLUMINANCE = 0x8C46; public static final int GL_SLUMINANCE8 = 0x8C47; public static final int GL_COMPRESSED_SRGB = 0x8C48; public static final int GL_COMPRESSED_SRGB_ALPHA = 0x8C49; public static final int GL_COMPRESSED_SLUMINANCE = 0x8C4A; public static final int GL_COMPRESSED_SLUMINANCE_ALPHA = 0x8C4B; public static final int GL_RENDERBUFFER_RED_SIZE_EXT = 0x8D50; public static final int GL_RENDERBUFFER_GREEN_SIZE_EXT = 0x8D51; public static final int GL_RENDERBUFFER_BLUE_SIZE_EXT = 0x8D52; public static final int GL_RENDERBUFFER_ALPHA_SIZE_EXT = 0x8D53; public static final int GL_RENDERBUFFER_DEPTH_SIZE_EXT = 0x8D54; public static final int GL_RENDERBUFFER_STENCIL_SIZE_EXT = 0x8D55; public static final int GL_DEPTH_STENCIL_EXT = 0x84F9; public static final int GL_UNSIGNED_INT_24_8_EXT = 0x84FA; public static final int GL_DEPTH24_STENCIL8_EXT = 0x88F0; public static final int GL_TEXTURE_STENCIL_SIZE_EXT = 0x88F1; public static final int GL_STENCIL_TAG_BITS_EXT = 0x88F2; public static final int GL_STENCIL_CLEAR_TAG_VALUE_EXT = 0x88F3; public static final int GL_SRGB_EXT = 0x8C40; public static final int GL_SRGB8_EXT = 0x8C41; public static final int GL_SRGB_ALPHA_EXT = 0x8C42; public static final int GL_SRGB8_ALPHA8_EXT = 0x8C43; public static final int GL_SLUMINANCE_ALPHA_EXT = 0x8C44; public static final int GL_SLUMINANCE8_ALPHA8_EXT = 0x8C45; public static final int GL_SLUMINANCE_EXT = 0x8C46; public static final int GL_SLUMINANCE8_EXT = 0x8C47; public static final int GL_COMPRESSED_SRGB_EXT = 0x8C48; public static final int GL_COMPRESSED_SRGB_ALPHA_EXT = 0x8C49; public static final int GL_COMPRESSED_SLUMINANCE_EXT = 0x8C4A; public static final int GL_COMPRESSED_SLUMINANCE_ALPHA_EXT = 0x8C4B; public static final int GL_COMPRESSED_SRGB_S3TC_DXT1_EXT = 0x8C4C; public static final int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 0x8C4D; public static final int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 0x8C4E; public static final int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 0x8C4F; public static final int GL_READ_FRAMEBUFFER_EXT = 0x8CA8; public static final int GL_DRAW_FRAMEBUFFER_EXT = 0x8CA9; public static final int GL_READ_FRAMEBUFFER_BINDING_EXT = 0x8CA6; public static final int GL_DRAW_FRAMEBUFFER_BINDING_EXT = 0x8CAA; public static final int GL_RENDERBUFFER_SAMPLES_EXT = 0x8CAB; public static final int GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = 0x8D56; public static final int GL_MAX_SAMPLES_EXT = 0x8D57; public static final int GL_TEXTURE_1D_STACK_MESAX = 0x875#! /bin/bash dircmp=cmp-old2new GLFILES="$dircmp/GL2ES1-new.java \ $dircmp/GLES1-new.java \ $dircmp/GL2ES2-new.java \ $dircmp/GLES2-new.java \ $dircmp/GL3ES3-new.java \ $dircmp/GL2GL3-new.java \ $dircmp/GL2-new.java \ $dircmp/GL3-new.java \ $dircmp/GL3bc-new.java \ $dircmp/GL4ES3-new.java \ $dircmp/GLES3-new.java \ $dircmp/GL4-new.java \ $dircmp/GL4bc-new.java \ $dircmp/GL-new.java" GL4FILES="$dircmp/GL2ES2-new.java \ $dircmp/GL2ES3-new.java \ $dircmp/GL3ES3-new.java \ $dircmp/GL3-new.java \ $dircmp/GL4ES3-new.java \ $dircmp/GL4-new.java \ $dircmp/GL-new.java" GLES3FILES="$dircmp/GL2ES2-new.java \ $dircmp/GL2ES3-new.java \ $dircmp/GL3ES3-new.java \ $dircmp/GL4ES3-new.java \ $dircmp/GLES3-new.java \ $dircmp/GL-new.java" GLES1FILES="$dircmp/GL2ES1-new.java \ $dircmp/GLES1-new.java \ $dircmp/GL-new.java" GLES2FILES="$dircmp/GL2ES2-new.java \ $dircmp/GLES2-new.java \ $dircmp/GL-new.java" GL2ES2FILES="$dircmp/GL2ES2-new.java \ $dircmp/GLES2-new.java \ $dircmp/GL2-new.java \ $dircmp/GL-new.java" GL3ES3FILES="$dircmp/GL2ES2-new.java \ $dircmp/GL3ES3-new.java \ $dircmp/GL4ES3-new.java \ $dircmp/GLES3-new.java \ $dircmp/GL3-new.java \ $dircmp/GL4-new.java \ $dircmp/GL-new.java" echo Duplicates GL GL2ES1 GL2ES2 GL2GL3 GL3 GL3bc GL4 GL4bc > $dircmp/GL4Files.dups cat $GL4FILES | sort | uniq -d >> $dircmp/GL4Files.dups echo Duplicates GL GL2ES1 GLES1 > $dircmp/GLES1Files.dups cat $GLES1FILES | sort | uniq -d >> $dircmp/GLES1Files.dups echo Duplicates GL GL2ES2 GLES2 > $dircmp/GLES2Files.dups cat $GLES2FILES | sort | uniq -d >> $dircmp/GLES2Files.dups echo Duplicates GL GL2ES2 GL3ES3 GLES3 > $dircmp/GLES3Files.dups cat $GLES3FILES | sort | uniq -d >> $dircmp/GLES3Files.dups echo Duplicates GL GL2 GL2ES2 GLES2 > $dircmp/GL2ES2Files.dups cat $GL2ES2FILES | sort | uniq -d >> $dircmp/GL2ES2Files.dups echo Duplicates GL GL3 GL2ES2 GL2ES3 GLES3 > $dircmp/GL3ES3Files.dups cat $GL3ES3FILES | sort | uniq -d >> $dircmp/GL3ES3Files.dups ## ## echo Duplicates GL3ES3 GLES3 > $dircmp/GLES3-GL3ES3.dups cat $dircmp/GLES3-new.java $dircmp/GL3ES3-new.java | sort | uniq -d >> $dircmp/GLES3-GL3ES3.dups echo Diff GL3ES3 GLES3 > $dircmp/GLES3-GL3ES3.diff diff -Nurdw $dircmp/GLES3-new.java $dircmp/GL3ES3-new.java >> $dircmp/GLES3-GL3ES3.diff ## ## echo Duplicates GL2GL3 GLES3 > $dircmp/GLES3-GL2GL3.dups cat $dircmp/GLES3-new.java $dircmp/GL2GL3-new.java | sort | uniq -d >> $dircmp/GLES3-GL2GL3.dups echo Diff GL2GL3 GLES3 > $dircmp/GLES3-GL2GL3.diff diff -Nurdw $dircmp/GLES3-new.java $dircmp/GL2GL3-new.java >> $dircmp/GLES3-GL2GL3.diff ## ## echo Duplicates GL2ES2 GLES3 > $dircmp/GLES3-GL2ES2.dups cat $dircmp/GLES3-new.java $dircmp/GL2ES2-new.java | sort | uniq -d >> $dircmp/GLES3-GL2ES2.dups echo Diff GL2ES2 GLES3 > $dircmp/GLES3-GL2ES2.diff diff -Nurdw $dircmp/GLES3-new.java $dircmp/GL2ES2-new.java >> $dircmp/GLES3-GL2ES2.diff ## ## echo Duplicates GL2GL3 GL3ES3 > $dircmp/GL3ES3-GL2GL3.dups cat $dircmp/GL3ES3-new.java $dircmp/GL2GL3-new.java | sort | uniq -d >> $dircmp/GL3ES3-GL2GL3.dups echo Diff GL2GL3 GL3ES3 > $dircmp/GL3ES3-GL2GL3.diff diff -Nurdw $dircmp/GL3ES3-new.java $dircmp/GL2GL3-new.java >> $dircmp/GL3ES3-GL2GL3.diff ## ## echo Duplicates GL2ES2 GL3ES3 > $dircmp/GL3ES3-GL2ES2.dups cat $dircmp/GL3ES3-new.java $dircmp/GL2ES2-new.java | sort | uniq -d >> $dircmp/GL3ES3-GL2ES2.dups echo Diff GL2ES2 GL3ES3 > $dircmp/GL3ES3-GL2ES2.diff diff -Nurdw $dircmp/GL3ES3-new.java $dircmp/GL2ES2-new.java >> $dircmp/GL3ES3-GL2ES2.diff ## ##