aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--make/config/jogl/gl-common.cfg63
-rw-r--r--make/config/jogl/gl-gl2.cfg2
-rw-r--r--make/config/jogl/gl-if-CustomJavaCode-gl2.java40
-rw-r--r--make/config/jogl/gl-impl-CustomJavaCode-gl2.java1
-rw-r--r--make/doc/jogl/spec-overview.html26
-rw-r--r--src/jogl/classes/javax/media/opengl/GLPipelineFactory.java9
6 files changed, 128 insertions, 13 deletions
diff --git a/make/config/jogl/gl-common.cfg b/make/config/jogl/gl-common.cfg
index 269ea68a7..3e38aa0da 100644
--- a/make/config/jogl/gl-common.cfg
+++ b/make/config/jogl/gl-common.cfg
@@ -133,6 +133,7 @@ IgnoreExtension GL_EXT_coordinate_frame
# Ignore discontinued extensions
IgnoreExtension GL_NV_element_array
+# >>> OpenGL 1.1
# Ignore extensions subsumed in OpenGL 1.1 (from OpenGL 1.1 spec, Appendix C)
IgnoreExtension GL_EXT_vertex_array
IgnoreExtension GL_EXT_blend_logic_op
@@ -141,7 +142,9 @@ IgnoreExtension GL_EXT_polygon_offset
IgnoreExtension GL_EXT_subtexture
IgnoreExtension GL_EXT_texture
IgnoreExtension GL_EXT_texture_object
+# <<< OpenGL 1.1
+# >>> OpenGL 1.2
# Ignore extensions subsumed in OpenGL 1.2 and 1.2.1 (from OpenGL 1.2.1 spec, Appendix D)
IgnoreExtension GL_EXT_bgra
IgnoreExtension GL_EXT_blend_color
@@ -163,7 +166,9 @@ IgnoreExtension GL_SGI_color_matrix
IgnoreExtension GL_SGI_color_table
IgnoreExtension GL_SGIS_texture_edge_clamp
IgnoreExtension GL_SGIS_texture_lod
+# <<< OpenGL 1.2
+# >>> OpenGL 1.3
# Ignore extensions subsumed in OpenGL 1.3 (from OpenGL 1.3 spec, Appendix F)
IgnoreExtension GL_ARB_multisample
IgnoreExtension GL_ARB_multitexture
@@ -179,7 +184,9 @@ IgnoreExtension GL_EXT_texture_env_add
IgnoreExtension GL_EXT_texture_env_combine
IgnoreExtension GL_EXT_texture_env_dot3
IgnoreExtension GL_SGIS_texture_border_clamp
+# <<< OpenGL 1.3
+# >>> OpenGL 1.4
# Ignore extensions subsumed in OpenGL 1.4 (from OpenGL 1.4 spec, Appendix G)
IgnoreExtension GL_ARB_depth_texture
IgnoreExtension GL_ARB_point_parameters
@@ -195,29 +202,81 @@ IgnoreExtension GL_EXT_secondary_color
IgnoreExtension GL_EXT_stencil_wrap
IgnoreExtension GL_NV_blend_square
IgnoreExtension GL_SGIS_generate_mipmap
+# <<< OpenGL 1.4
+# >>> OpenGL 1.5
# Ignore extensions subsumed in OpenGL 1.5 (from OpenGL 1.5 spec, Appendix H)
IgnoreExtension GL_ARB_occlusion_query
IgnoreExtension GL_ARB_vertex_buffer_object
IgnoreExtension GL_EXT_shadow_funcs
+# <<< OpenGL 1.5
+# >>> OpenGL 2.0
# Ignore extensions subsumed in OpenGL 2.0 (from OpenGL 2.0 spec, Appendix I)
# NOTE that GL_ARB_shader_objects is NOT ignored here, because the
# naming convention is too different for us to pick up the entry
# points automatically (e.g. glCreateShaderObjectARB was exposed as
# glCreateShader)
+# IgnoreExtension GL_ARB_shader_objects
IgnoreExtension GL_ARB_vertex_shader
IgnoreExtension GL_ARB_fragment_shader
-IgnoreExtension GL_ARB_draw_buffers
IgnoreExtension GL_ARB_texture_non_power_of_two
IgnoreExtension GL_ARB_point_sprite
+IgnoreExtension GL_ARB_draw_buffers
IgnoreExtension GL_EXT_blend_equation_separate
# Don't ignore the following one since the entry point is different from anything in the core
# IgnoreExtension GL_EXT_stencil_two_side
+# <<< OpenGL 2.0
+# >>> OpenGL 2.1
# Ignore extensions subsumed in OpenGL 2.1 (from OpenGL 2.1 spec, Appendix J)
IgnoreExtension GL_ARB_pixel_buffer_object
IgnoreExtension GL_EXT_texture_sRGB
+# <<< OpenGL 2.1
+
+# >>> OpenGL 3.0
+# Ignore extensions subsumed in OpenGL 3.0 (from OpenGL 3.0 spec, Appendix N)
+IgnoreExtension GL_EXT_gpu_shader4
+
+IgnoreExtension GL_NV_conditional_render
+
+#Not promoted in header files: GL_APPLE_flush_buffer_range
+
+IgnoreExtension GL_ARB_color_buffer_float
+#Not promoted in header files: GL_NV_depth_buffer_float
+IgnoreExtension GL_ARB_texture_float
+IgnoreExtension GL_EXT_packed_float
+IgnoreExtension GL_EXT_texture_shared_exponent
+
+IgnoreExtension GL_EXT_framebuffer_object
+
+# GL_NV_half_float, GL_NV_half_float_pixel: these are also not usable for Java ..
+IgnoreExtension GL_NV_half_float
+IgnoreExtension GL_NV_half_float_pixel
+
+IgnoreExtension GL_EXT_framebuffer_multisample
+IgnoreExtension GL_EXT_framebuffer_blit
+
+#Big gap of promoted tokens and functions: GL_EXT_texture_integer
+
+IgnoreExtension GL_EXT_texture_array
+
+IgnoreExtension GL_EXT_packed_depth_stencil
+
+#Not promoted in header files: GL_EXT_draw_buffers2
+
+IgnoreExtension GL_EXT_texture_compression_rgtc
+
+IgnoreExtension GL_EXT_transform_feedback
+IgnoreExtension GL_NV_transform_feedback
+
+IgnoreExtension GL_APPLE_vertex_array_object
+
+IgnoreExtension GL_EXT_framebuffer_sRGB
+
+# <<< OpenGL 3.0
+
+
# Ignore a few obsolete versions of extensions that have been subsumed into the core or ARB extensions
IgnoreExtension GL_EXT_multisample
@@ -536,7 +595,7 @@ ClassJavadoc GL2 * <P>
ClassJavadoc GL2 * This interface contains all core desktop OpenGL methods through
ClassJavadoc GL2 * version 3.0, inclusive, as well as most of it's extensions defined at the
ClassJavadoc GL2 * time of this specification. Early OpenGL extensions whose functionality
-ClassJavadoc GL2 * was incorporated into core OpenGL by version 2.0, inclusive, are specifically
+ClassJavadoc GL2 * was incorporated into core OpenGL by version 3.0, inclusive, are specifically
ClassJavadoc GL2 * excluded.
ClassJavadoc GL2 * </P>
ClassJavadoc GL2 */
diff --git a/make/config/jogl/gl-gl2.cfg b/make/config/jogl/gl-gl2.cfg
index 55f5b9781..7b689093a 100644
--- a/make/config/jogl/gl-gl2.cfg
+++ b/make/config/jogl/gl-gl2.cfg
@@ -43,6 +43,8 @@ IgnoreExtension GL_EXT_point_parameters
CustomJavaCode GL2 public boolean glIsPBOPackEnabled();
CustomJavaCode GL2 public boolean glIsPBOUnpackEnabled();
+IncludeAs CustomJavaCode GL2 gl-if-CustomJavaCode-gl2.java
+
CustomJavaCode GL2Impl public void glFrustumf(float left, float right, float bottom, float top, float zNear, float zFar) {
CustomJavaCode GL2Impl glFrustum((double)left, (double)right, (double)bottom, (double)top, (double)zNear, (double)zFar); }
diff --git a/make/config/jogl/gl-if-CustomJavaCode-gl2.java b/make/config/jogl/gl-if-CustomJavaCode-gl2.java
new file mode 100644
index 000000000..fe6388cbe
--- /dev/null
+++ b/make/config/jogl/gl-if-CustomJavaCode-gl2.java
@@ -0,0 +1,40 @@
+
+/** Missed in the GL_EXT_gpu_shader4 promotion to 3.0 core */
+public static final int GL_SAMPLER_BUFFER_EXT = 0x8DC2;
+/** Missed in the GL_EXT_gpu_shader4 promotion to 3.0 core */
+public static final int GL_INT_SAMPLER_2D_RECT_EXT = 0x8DCD;
+/** Missed in the GL_EXT_gpu_shader4 promotion to 3.0 core */
+public static final int GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT = 0x8DD5;
+/** Missed in the GL_EXT_gpu_shader4 promotion to 3.0 core */
+public static final int GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT = 0x8DD8;
+/** Missed in the GL_EXT_gpu_shader4 promotion to 3.0 core */
+public static final int GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT = 0x88FD;
+
+/** Missed in the GL_ARB_color_buffer_float promotion to 3.0 core */
+public static final int GL_RGBA_FLOAT_MODE_ARB = 0x8820;
+
+/** Missed in the GL_ARB_texture_float promotion to 3.0 core */
+public static final int GL_ALPHA32F_ARB = 0x8816;
+/** Missed in the GL_ARB_texture_float promotion to 3.0 core */
+public static final int GL_INTENSITY32F_ARB = 0x8817;
+/** Missed in the GL_ARB_texture_float promotion to 3.0 core */
+public static final int GL_LUMINANCE32F_ARB = 0x8818;
+/** Missed in the GL_ARB_texture_float promotion to 3.0 core */
+public static final int GL_ALPHA16F_ARB = 0x881C;
+/** Missed in the GL_ARB_texture_float promotion to 3.0 core */
+public static final int GL_INTENSITY16F_ARB = 0x881D;
+/** Missed in the GL_ARB_texture_float promotion to 3.0 core */
+public static final int GL_LUMINANCE16F_ARB = 0x881E;
+/** Missed in the GL_ARB_texture_float promotion to 3.0 core */
+public static final int GL_LUMINANCE_ALPHA16F_ARB = 0x881F;
+
+/** Missed in the GL_EXT_packed_float promotion to 3.0 core */
+public static final int GL_RGBA_SIGNED_COMPONENTS_EXT = 0x8C3C;
+
+/** Missed in the GL_EXT_texture_array promotion to 3.0 core */
+public static final int GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT = 0x884E;
+
+/** Missed in the GL_EXT_framebuffer_sRGB promotion to 3.0 core */
+public static final int GL_FRAMEBUFFER_SRGB_CAPABLE_EXT = 0x8DBA;
+
+
diff --git a/make/config/jogl/gl-impl-CustomJavaCode-gl2.java b/make/config/jogl/gl-impl-CustomJavaCode-gl2.java
index 061830cb4..5928b3a0b 100644
--- a/make/config/jogl/gl-impl-CustomJavaCode-gl2.java
+++ b/make/config/jogl/gl-impl-CustomJavaCode-gl2.java
@@ -15,6 +15,7 @@ public void setObjectTracker(GLObjectTracker tracker) {
*/
+
public GL2Impl(GLProfile glp, GLContextImpl context) {
this._context = context;
this.bufferSizeTracker = context.getBufferSizeTracker();
diff --git a/make/doc/jogl/spec-overview.html b/make/doc/jogl/spec-overview.html
index 4ee902719..f79e5ff23 100644
--- a/make/doc/jogl/spec-overview.html
+++ b/make/doc/jogl/spec-overview.html
@@ -53,7 +53,7 @@ bindings to the native OpenGL(R) 3D graphics library profiles:
This interface contains all core desktop OpenGL methods through
version 3.0, inclusive, as well as most of it's extensions defined at the
time of this specification. Early OpenGL extensions whose functionality
-was incorporated into core OpenGL by version 2.0, inclusive, are specifically
+was incorporated into core OpenGL by version 3.0, inclusive, are specifically
excluded.<br>
Future extensions will be added with a <a href="#maintenanceupdates">maintenance update</a></li><br>
@@ -304,11 +304,16 @@ according the following rules: <br>
<ul>
<li>
- <li>All functions in core OpenGL 2.0, inclusive, have been included.</li>
+ <li>All functions in core OpenGL 3.0, inclusive, have been included.</li>
<li>If the functionality of the OpenGL extension was subsumed into core
-OpenGL by version 2.0, then the extension was dropped from the Java bindings.
+OpenGL by version 3.0, then the extension was dropped from the Java bindings.
However, if the core function name is not available in the native OpenGL implementation,
- the extension named equivalent is used instead, e.g. <i>GL_ARB_framebuffer_object</i>.</li>
+ the extension named equivalent is used instead, e.g. <i>GL_ARB_framebuffer_object</i>.
+ In general the native method name will be looked up as follows
+ <ul>
+ <li> Try the interface name</li>
+ <li> Try the extension name: ARB, EXT, ..</li>
+ </ul> </li>
<li>Functions that deal with explicit pointer values in such a way that
they cannot be properly implemented in Java have been excluded.&nbsp; This
includes retrieval methods with a C void ** in the OpenGL signature like glGetBufferPointerv,
@@ -370,8 +375,8 @@ implementation.<br>
<h3>OpenGL Version on Runtime System</h3>
Even though OpenGL extensions whose functionality was included into core
-OpenGL by version 2.0, inclusive, are not included in the bindings, it should
-be noted that OpenGL version 2.0 is not an absolute requirement on the runtime
+OpenGL by version 3.0, inclusive, are not included in the bindings, it should
+be noted that OpenGL version 3.0 is not an absolute requirement on the runtime
system.&nbsp; This is because a user could query whether any particular function
is available before calling certain core APIs that might not be present.&nbsp;
Also, if the core function name is not available in the native OpenGL implementation,
@@ -424,6 +429,15 @@ http://www.khronos.org/registry/cl/</a></blockquote>
http://www.opengl.org/registry/doc/glspec31.20090324.pdf</a></blockquote>
<ul>
+ <li>OpenGL 3.0 Specification</li>
+
+</ul>
+
+<blockquote><a
+ href="http://www.opengl.org/registry/doc/glspec30.20080923.pdf">
+http://www.opengl.org/registry/doc/glspec30.20080923.pdf</a></blockquote>
+
+<ul>
<li>OpenGL 2.1 Specification</li>
</ul>
diff --git a/src/jogl/classes/javax/media/opengl/GLPipelineFactory.java b/src/jogl/classes/javax/media/opengl/GLPipelineFactory.java
index bb9f86911..9aceb2c53 100644
--- a/src/jogl/classes/javax/media/opengl/GLPipelineFactory.java
+++ b/src/jogl/classes/javax/media/opengl/GLPipelineFactory.java
@@ -54,13 +54,12 @@ public class GLPipelineFactory {
* The upstream GL instance is determined as follows:
* <ul>
* <li> Use <code>pipelineClazzBaseName</code> as the class name's full basename, incl. package name</li>
- * <li> For all <code>downstream</code> classes, do:</li>
+ * <li> For the <code>downstream</code> classe and it's superclasses, do:</li>
* <ul>
- * <li> For all <code>downstream</code> class interfaces, do:</li>
+ * <li> For all <code>downstream</code> class and superclass interfaces, do:</li>
* <ul>
- * <li> If <code>reqInterface</code> is not null and the interface is unequal, continue.</li>
- * <li> If <code>downstream</code> is not instance of interface, continue.</li>
- * <li> If <code>downstream</code> is not instance of interface, continue.</li>
+ * <li> If <code>reqInterface</code> is not null and the interface is unequal, continue loop.</li>
+ * <li> If <code>downstream</code> is not instance of interface, continue loop.</li>
* <li> If upstream class is available use it, end loop.</li>
* </ul>
* </ul>