aboutsummaryrefslogtreecommitdiffstats
path: root/make
diff options
context:
space:
mode:
Diffstat (limited to 'make')
-rw-r--r--make/build.xml187
-rw-r--r--make/cg-common.cfg4
-rw-r--r--make/cgl-macosx.cfg4
-rwxr-xr-xmake/cglext.cfg4
-rwxr-xr-xmake/egl.cfg4
-rwxr-xr-xmake/eglext.cfg6
-rw-r--r--make/gl-common.cfg2
-rwxr-xr-xmake/gl-es1.cfg23
-rwxr-xr-xmake/gl-es2.cfg22
-rw-r--r--make/gl-gl2.cfg27
-rw-r--r--make/gl-gl2es12.cfg25
-rw-r--r--make/gl-if-CustomJavaCode-gl.java116
-rw-r--r--make/gl-if-CustomJavaCode-gles2.java125
-rwxr-xr-xmake/gl-if-gl.cfg7
-rwxr-xr-xmake/gl-if-gl2_es1.cfg16
-rwxr-xr-xmake/gl-if-gl2_es2.cfg14
-rw-r--r--make/gl-ignore-gl2_es12-special.cfg88
-rw-r--r--make/gl-impl-CustomJavaCode-common.java8
-rw-r--r--make/gl-impl-CustomJavaCode-gl2.java121
-rw-r--r--make/gl-impl-CustomJavaCode-gl2_es2.java61
-rw-r--r--make/gl-impl-CustomJavaCode-gl2es12.java137
-rwxr-xr-xmake/gl-impl-CustomJavaCode-gles1.java108
-rwxr-xr-xmake/gl-impl-CustomJavaCode-gles2.java473
-rwxr-xr-xmake/glu-CustomJavaCode-base.java36
-rw-r--r--make/glu-CustomJavaCode-gl2.java1
-rwxr-xr-xmake/glu-base.cfg4
-rw-r--r--make/glu-common.cfg2
-rwxr-xr-xmake/glu-gl2.cfg4
-rwxr-xr-xmake/glu-gl2es1.cfg4
-rw-r--r--make/glx-x11.cfg4
-rwxr-xr-xmake/glxext.cfg6
-rw-r--r--make/jawt-macosx.cfg4
-rw-r--r--make/jawt-win32.cfg4
-rw-r--r--make/jawt-x11.cfg4
-rw-r--r--make/make.jogl.all.linux-x86.sh3
-rw-r--r--make/wgl-win32.cfg4
-rw-r--r--make/wglext.cfg4
-rw-r--r--make/x11-lib.cfg4
38 files changed, 609 insertions, 1061 deletions
diff --git a/make/build.xml b/make/build.xml
index e8b2e8b8e..7a9a9f5f1 100644
--- a/make/build.xml
+++ b/make/build.xml
@@ -339,23 +339,20 @@
<property name="javacdebug" value="true" />
<property name="javacdebuglevel" value="source,lines" />
- <!-- GlueGen properties. -->
- <!-- NOTE that these require a checked-out GlueGen workspace as a -->
- <!-- sibling of the JOGL workspace. -->
- <property name="gluegen.make.dir" value="../../gluegen/make" />
- <property name="gluegen.build.xml" value="${gluegen.make.dir}/build.xml" />
- <property name="gluegen.jar" value="../../gluegen/build/gluegen.jar" />
- <property name="gluegen-rt.jar" value="../../gluegen/build/gluegen-rt.jar" />
-
<!-- Names of directories relative to the project root.
Some of these are used in FileMappers later for dependence information
and need exact string matching, which is why they use file.separator
instead of "/". -->
+ <condition property="rootrel.build" value="build">
+ <not>
+ <isset property="rootrel.build"/>
+ </not>
+ </condition>
<property name="rootrel.src.java" value="src/classes" />
<property name="rootrel.src.c.jogl" value="src/native/jogl" />
<property name="rootrel.src.c.newt" value="src/native/newt" />
<property name="rootrel.src.c.openmax" value="src/native/openmax" />
- <property name="rootrel.build" value="build" />
+
<property name="rootrel.src.generated" value="${rootrel.build}/gensrc" />
<property name="rootrel.generated.c.jogl" value="${rootrel.src.generated}/native/jogl" />
<property name="rootrel.generated.c.cg" value="${rootrel.src.generated}/native/jogl_cg" />
@@ -363,10 +360,19 @@
<property name="rootrel.obj.jogl" value="${rootrel.obj}/jogl" />
<property name="rootrel.obj.cg" value="${rootrel.obj}/jogl_cg" />
+ <!-- GlueGen properties. -->
+ <!-- NOTE that these require a checked-out GlueGen workspace as a -->
+ <!-- sibling of the JOGL workspace. -->
+ <property name="gluegen.make.dir" value="../../gluegen/make" />
+ <property name="gluegen.build.xml" value="${gluegen.make.dir}/build.xml" />
+ <property name="gluegen.jar" value="../../gluegen/${rootrel.build}/gluegen.jar" />
+ <property name="gluegen-rt.jar" value="../../gluegen/${rootrel.build}/gluegen-rt.jar" />
+
<!-- The source directories. -->
<property name="src.java" value="${project.root}/${rootrel.src.java}" />
<property name="src.c" value="${project.root}/${rootrel.src.c}" />
<property name="build" value="${project.root}/${rootrel.build}" />
+ <property name="tempdir" value="${project.root}/build-temp" />
<!-- The generated source directories. -->
<property name="src.generated" value="${build}/gensrc" />
@@ -610,9 +616,24 @@
<!--property name="java.generate.skip" value="true"/-->
</target>
+ <target name="java.generate.cleantemp">
+ <delete includeEmptyDirs="true" quiet="true">
+ <fileset dir="${tempdir}/gensrc" />
+ </delete>
+ </target>
+
+ <target name="java.generate.copy2temp">
+ <copy todir="${tempdir}">
+ <fileset dir="../${rootrel.build}"
+ includes="gensrc/classes/**" />
+ </copy>
+ </target>
+
<target name="java.generate.gl_if">
<echo message="Generating GL interface" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
<gluegen src="${stub.includes.common}/gles2.c"
+ outputRootDir="../${rootrel.build}"
config="${config}/gl-if-gl.cfg"
includeRefid="stub.includes.fileset.all.gl2"
emitter="com.sun.gluegen.opengl.GLEmitter">
@@ -622,7 +643,9 @@
<target name="java.generate.gl2_es1_if">
<echo message="Generating GL2_ES1 interface" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
<gluegen src="${stub.includes.common}/gles1.c"
+ outputRootDir="../${rootrel.build}"
config="${config}/gl-if-gl2_es1.cfg"
includeRefid="stub.includes.fileset.all.gl2"
emitter="com.sun.gluegen.opengl.GLEmitter">
@@ -632,7 +655,9 @@
<target name="java.generate.gl2_es2_if">
<echo message="Generating GL2_ES2 interface" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
<gluegen src="${stub.includes.common}/gles2.c"
+ outputRootDir="../${rootrel.build}"
config="${config}/gl-if-gl2_es2.cfg"
includeRefid="stub.includes.fileset.all.gl2"
emitter="com.sun.gluegen.opengl.GLEmitter">
@@ -642,7 +667,9 @@
<target name="java.generate.gl2">
<echo message="Generating GL2 interface and implementation" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
<gluegen src="${stub.includes.common}/gl.c"
+ outputRootDir="../${rootrel.build}"
config="${config}/gl-gl2.cfg"
includeRefid="stub.includes.fileset.all.gl2"
emitter="com.sun.gluegen.opengl.GLEmitter">
@@ -652,7 +679,9 @@
<target name="java.generate.gl2es12">
<echo message="Generating GL2ES12 interface and implementation" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
<gluegen src="${stub.includes.common}/gl.c"
+ outputRootDir="../${rootrel.build}"
config="${config}/gl-gl2es12.cfg"
includeRefid="stub.includes.fileset.all.gl2"
emitter="com.sun.gluegen.opengl.GLEmitter">
@@ -662,7 +691,9 @@
<target name="java.generate.gles1">
<echo message="Generating GLES1 interface and implementation" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
<gluegen src="${stub.includes.common}/gles1.c"
+ outputRootDir="../${rootrel.build}"
config="${config}/gl-es1.cfg"
includeRefid="stub.includes.fileset.all.gl2"
emitter="com.sun.gluegen.opengl.GLEmitter">
@@ -672,7 +703,9 @@
<target name="java.generate.gles2">
<echo message="Generating GLES2 interface and implementation" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
<gluegen src="${stub.includes.common}/gles2.c"
+ outputRootDir="../${rootrel.build}"
config="${config}/gl-es2.cfg"
includeRefid="stub.includes.fileset.all.gl2"
emitter="com.sun.gluegen.opengl.GLEmitter">
@@ -694,7 +727,9 @@
<target name="java.generate.glu.base">
<echo message="Generating GLU class" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
<gluegen src="${stub.includes.common}/glu.c"
+ outputRootDir="../${rootrel.build}"
config="${config}/glu-base.cfg"
includeRefid="stub.includes.fileset.all.gl2"
emitter="com.sun.gluegen.opengl.GLEmitter">
@@ -704,7 +739,9 @@
<target name="java.generate.glu.GL2ES1">
<echo message="Generating GLU class" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
<gluegen src="${stub.includes.common}/glu.c"
+ outputRootDir="../${rootrel.build}"
config="${config}/glu-gl2es1.cfg"
includeRefid="stub.includes.fileset.all.gl2"
emitter="com.sun.gluegen.opengl.GLEmitter">
@@ -714,7 +751,9 @@
<target name="java.generate.glu.GL2" unless="jogl.nogl2">
<echo message="Generating GLU class" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
<gluegen src="${stub.includes.common}/glu.c"
+ outputRootDir="../${rootrel.build}"
config="${config}/glu-gl2.cfg"
includeRefid="stub.includes.fileset.all.gl2"
emitter="com.sun.gluegen.opengl.GLEmitter">
@@ -724,7 +763,9 @@
<target name="java.generate.platform.glext" unless="jogl.nogl2">
<echo message="Generating platform-specific OpenGL extension class" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
<gluegen src="${glext.platform.header}"
+ outputRootDir="../${rootrel.build}"
config="${glext.platform.cfg}"
includeRefid="stub.includes.fileset.all.gl2"
emitter="com.sun.gluegen.opengl.GLEmitter">
@@ -734,7 +775,9 @@
<target name="java.generate.window.lib" if="windowlib.os.cfg">
<echo message="Generating Windowing Lib implementation class" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
<gluegen src="${stub.includes.dir}/${window.os.system}/window-lib.c"
+ outputRootDir="../${rootrel.build}"
config="${windowlib.os.cfg}"
includeRefid="stub.includes.fileset.platform"
emitter="com.sun.gluegen.JavaEmitter">
@@ -744,8 +787,10 @@
<target name="java.generate.window.system.es" if="window.es.cfg" unless="jogl.noes">
<echo message="Generating EGL implementation class" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
<dirset id="stub.includes.fileset.platform" dir="." includes="${stub.includes.dir}/${window.es.system}/** ${stub.includes.dir}/common/**" />
<gluegen src="${stub.includes.dir}/${window.es.system}/window-system.c"
+ outputRootDir="../${rootrel.build}"
config="${window.es.cfg}"
includeRefid="stub.includes.fileset.platform"
emitter="com.sun.gluegen.opengl.GLEmitter">
@@ -755,8 +800,10 @@
<target name="java.generate.window.system.es.ext" if="window.es.ext.cfg" unless="jogl.noes">
<echo message="Generating EGLExt implementation class" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
<dirset id="stub.includes.fileset.platform" dir="." includes="${stub.includes.dir}/${window.es.system}/** ${stub.includes.dir}/common/**" />
<gluegen src="${stub.includes.dir}/${window.es.system}/window-system-ext.c"
+ outputRootDir="../${rootrel.build}"
config="${window.es.ext.cfg}"
includeRefid="stub.includes.fileset.platform"
emitter="com.sun.gluegen.opengl.GLEmitter">
@@ -766,7 +813,9 @@
<target name="java.generate.window.system.os" if="window.os.cfg" unless="jogl.nogl2">
<echo message="Generating WGL/GLX/CGL/EGL implementation class" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
<gluegen src="${stub.includes.dir}/${window.os.system}/window-system.c"
+ outputRootDir="../${rootrel.build}"
config="${window.os.cfg}"
includeRefid="stub.includes.fileset.platform"
emitter="com.sun.gluegen.opengl.GLEmitter">
@@ -780,7 +829,9 @@
- handle different drives in an effective manner. -->
<echo message="Generating JAWT interface class" />
<echo message="java.home.dir=${java.home.dir}" />
+ <antcall target="java.generate.copy2temp" inheritRefs="true" />
<gluegen src="${jawt.platform.header}"
+ outputRootDir="../${rootrel.build}"
config="${jawt.cfg}"
literalInclude="${stub.includes.dir}/jni"
includeRefid="stub.includes.fileset.platform"
@@ -790,44 +841,44 @@
</target>
<target name="java.generate.SystemUtil.javame_cdc_fp" if="jogl.cdcfp">
- <copy file="../src/classes/com/sun/opengl/impl/SystemUtil.java.javame_cdc_fp" tofile="../build/gensrc/classes/com/sun/opengl/impl/SystemUtil.java" />
+ <copy file="../src/classes/com/sun/opengl/impl/SystemUtil.java.javame_cdc_fp" tofile="../${rootrel.build}/gensrc/classes/com/sun/opengl/impl/SystemUtil.java" />
</target>
<target name="java.generate.SystemUtil.javase" unless="jogl.cdcfp">
- <copy file="../src/classes/com/sun/opengl/impl/SystemUtil.java.javase" tofile="../build/gensrc/classes/com/sun/opengl/impl/SystemUtil.java" />
+ <copy file="../src/classes/com/sun/opengl/impl/SystemUtil.java.javase" tofile="../${rootrel.build}/gensrc/classes/com/sun/opengl/impl/SystemUtil.java" />
</target>
<!-- Generate the SystemUtil class for this particular profile -->
<target name="java.generate.SystemUtil" depends="java.generate.SystemUtil.javase, java.generate.SystemUtil.javame_cdc_fp" />
<target name="java.generate.BufferUtil.javame_cdc_fp" if="jogl.cdcfp">
- <copy file="../src/classes/javax/media/opengl/util/BufferUtil.java.javame_cdc_fp" tofile="../build/gensrc/classes/javax/media/opengl/util/BufferUtil.java" />
+ <copy file="../src/classes/javax/media/opengl/util/BufferUtil.java.javame_cdc_fp" tofile="../${rootrel.build}/gensrc/classes/javax/media/opengl/util/BufferUtil.java" />
</target>
<target name="java.generate.BufferUtil.javase" unless="jogl.cdcfp">
- <copy file="../src/classes/javax/media/opengl/util/BufferUtil.java.javase" tofile="../build/gensrc/classes/javax/media/opengl/util/BufferUtil.java" />
+ <copy file="../src/classes/javax/media/opengl/util/BufferUtil.java.javase" tofile="../${rootrel.build}/gensrc/classes/javax/media/opengl/util/BufferUtil.java" />
</target>
<!-- Generate the BufferUtil class for this particular profile -->
<target name="java.generate.BufferUtil" depends="java.generate.BufferUtil.javase, java.generate.BufferUtil.javame_cdc_fp" />
<target name="java.generate.TextureIO.javame_cdc_fp" if="jogl.cdcfp">
- <copy file="../src/classes/com/sun/opengl/util/texture/TextureIO.java.javame_cdc_fp" tofile="../build/gensrc/classes/com/sun/opengl/util/texture/TextureIO.java" />
- <copy file="../src/classes/com/sun/opengl/util/texture/spi/DDSImage.java.javame_cdc_fp" tofile="../build/gensrc/classes/com/sun/opengl/util/texture/spi/DDSImage.java" />
- <copy file="../src/classes/com/sun/opengl/util/texture/spi/TGAImage.java.javame_cdc_fp" tofile="../build/gensrc/classes/com/sun/opengl/util/texture/spi/TGAImage.java" />
+ <copy file="../src/classes/com/sun/opengl/util/texture/TextureIO.java.javame_cdc_fp" tofile="../${rootrel.build}/gensrc/classes/com/sun/opengl/util/texture/TextureIO.java" />
+ <copy file="../src/classes/com/sun/opengl/util/texture/spi/DDSImage.java.javame_cdc_fp" tofile="../${rootrel.build}/gensrc/classes/com/sun/opengl/util/texture/spi/DDSImage.java" />
+ <copy file="../src/classes/com/sun/opengl/util/texture/spi/TGAImage.java.javame_cdc_fp" tofile="../${rootrel.build}/gensrc/classes/com/sun/opengl/util/texture/spi/TGAImage.java" />
</target>
<target name="java.generate.TextureIO.javase" unless="jogl.cdcfp">
<!-- For debugging -->
<!--
- <copy file="../src/classes/com/sun/opengl/util/texture/TextureIO.java.javame_cdc_fp" tofile="../build/gensrc/classes/com/sun/opengl/util/texture/TextureIO.java" />
- <copy file="../src/classes/com/sun/opengl/util/texture/spi/DDSImage.java.javame_cdc_fp" tofile="../build/gensrc/classes/com/sun/opengl/util/texture/spi/DDSImage.java" />
- <copy file="../src/classes/com/sun/opengl/util/texture/spi/TGAImage.java.javame_cdc_fp" tofile="../build/gensrc/classes/com/sun/opengl/util/texture/spi/TGAImage.java" />
+ <copy file="../src/classes/com/sun/opengl/util/texture/TextureIO.java.javame_cdc_fp" tofile="../${rootrel.build}/gensrc/classes/com/sun/opengl/util/texture/TextureIO.java" />
+ <copy file="../src/classes/com/sun/opengl/util/texture/spi/DDSImage.java.javame_cdc_fp" tofile="../${rootrel.build}/gensrc/classes/com/sun/opengl/util/texture/spi/DDSImage.java" />
+ <copy file="../src/classes/com/sun/opengl/util/texture/spi/TGAImage.java.javame_cdc_fp" tofile="../${rootrel.build}/gensrc/classes/com/sun/opengl/util/texture/spi/TGAImage.java" />
-->
- <copy file="../src/classes/com/sun/opengl/util/texture/TextureIO.java.javase" tofile="../build/gensrc/classes/com/sun/opengl/util/texture/TextureIO.java" />
- <copy file="../src/classes/com/sun/opengl/util/texture/spi/DDSImage.java.javase" tofile="../build/gensrc/classes/com/sun/opengl/util/texture/spi/DDSImage.java" />
- <copy file="../src/classes/com/sun/opengl/util/texture/spi/TGAImage.java.javase" tofile="../build/gensrc/classes/com/sun/opengl/util/texture/spi/TGAImage.java" />
+ <copy file="../src/classes/com/sun/opengl/util/texture/TextureIO.java.javase" tofile="../${rootrel.build}/gensrc/classes/com/sun/opengl/util/texture/TextureIO.java" />
+ <copy file="../src/classes/com/sun/opengl/util/texture/spi/DDSImage.java.javase" tofile="../${rootrel.build}/gensrc/classes/com/sun/opengl/util/texture/spi/DDSImage.java" />
+ <copy file="../src/classes/com/sun/opengl/util/texture/spi/TGAImage.java.javase" tofile="../${rootrel.build}/gensrc/classes/com/sun/opengl/util/texture/spi/TGAImage.java" />
</target>
@@ -941,6 +992,7 @@
<!-- Generate CgGL interface class -->
<gluegen src="${stub.includes.common}/cg.c"
+ outputRootDir="../${rootrel.build}"
config="cg-common.cfg"
includeRefid="stub.includes.cg.fileset.all"
emitter="com.sun.gluegen.JavaEmitter">
@@ -1060,6 +1112,35 @@
<target name="java.generate.composable.pipeline" depends="java.generate.composable.pipeline.check, java.generate.composable.pipeline.es1, java.generate.composable.pipeline.es2, java.generate.composable.pipeline.gl2">
</target>
+ <target name="java.generate.composable.pipeline.custom.check.glfixfunc">
+ <!-- Blow away the DebugGL*.java and TraceGL*.java sources if GL*.class has changed
+ (the uptodate element doesn't support arbitrary source and destination files) -->
+ <dependset>
+ <srcfilelist dir="${classes}/javax/media/opengl/sub/fixed" files="GLFixedFuncIf.class" />
+ <srcfilelist dir="${classes}/javax/media/opengl" files="GL2ES2.class" />
+ <targetfileset dir="${src.generated.java}/com/sun/opengl/impl/fixed"
+ includes="GLFixedFuncImpl.java" />
+ </dependset>
+
+ <!-- Now choose one of the two to test to see if we have to regenerate -->
+ <uptodate property="java.generate.composable.pipeline.custom.skip.glfixfunc"
+ srcfile="${classes}/javax/media/opengl/GL2ES2.class"
+ targetfile="${src.generated.java}/javax/media/opengl/impl/fixed/GLFixedFuncImpl.java" />
+ </target>
+ <target name="java.generate.composable.pipeline.custom.glfixfunc" depends="java.generate.composable.pipeline.custom.check.glfixfunc" unless="java.generate.composable.pipeline.custom.skip.glfixfunc">
+ <java classname="com.sun.gluegen.opengl.BuildComposablePipeline" fork="yes" failonerror="true">
+ <arg value="javax.media.opengl.sub.fixed.GLFixedFuncIf" />
+ <arg value="${src.generated.java}/com/sun/opengl/impl/fixed" />
+ <arg value="com.sun.opengl.impl.fixed.GLFixedFuncImpl" />
+ <arg value="javax.media.opengl.sub.fixed.GLFixedFuncHookIf" />
+ <arg value="javax.media.opengl.GL" />
+ <arg value="prolog_xor_downstream" />
+ <classpath refid="pipeline.classpath" />
+ </java>
+ </target>
+ <target name="java.generate.composable.pipeline.custom" depends="init, build.gluegen, java.generate.composable.pipeline.check, java.generate.composable.pipeline.custom.glfixfunc">
+ </target>
+
<!-- ================================================================== -->
<!--
- Compile the original and generated source. The composable pipelines
@@ -1070,7 +1151,7 @@
<!-- Perform the first pass Java compile. -->
<javac destdir="${classes}"
classpath="${gluegen-rt.jar}"
- includes="javax/media/opengl/GLDrawableFactory.java javax/media/opengl/GLDrawable.java javax/media/opengl/GLContext.java javax/media/opengl/GL.java javax/media/opengl/GL2ES1.java javax/media/opengl/GL2ES2.java javax/media/opengl/GL2.java javax/media/opengl/GLES1.java javax/media/opengl/GLES2.java"
+ includes="javax/media/opengl/sub/** javax/media/opengl/GLDrawableFactory.java javax/media/opengl/GLDrawable.java javax/media/opengl/GLContext.java javax/media/opengl/GL.java javax/media/opengl/GL2ES1.java javax/media/opengl/GL2ES2.java javax/media/opengl/GL2.java javax/media/opengl/GLES1.java javax/media/opengl/GLES2.java"
fork="yes"
memoryMaximumSize="128m"
source="1.4" debug="${javacdebug}" debuglevel="${javacdebuglevel}">
@@ -1110,7 +1191,36 @@
<target name="java.compile.secondpass" depends="java.generate.composable.pipeline,java.compile.secondpass.1,java.compile.secondpass.2" />
- <target name="java.compile" depends="java.compile.firstpass,java.compile.secondpass" />
+ <target name="java.compile.thirdpass.1" if="javac.bootclasspath.jar">
+ <!-- Perform the thirdpass pass Java compile; custom generated sources. -->
+ <javac destdir="${classes}"
+ excludes="${java.excludes.all}"
+ source="${jogl.sourcelevel}"
+ classpath="${gluegen-rt.jar}"
+ bootclasspath="${javac.bootclasspath.jar}"
+ fork="yes"
+ memoryMaximumSize="128m"
+ debug="${javacdebug}" debuglevel="${javacdebuglevel}">
+ <src path="${src.generated.java}" />
+ </javac>
+ </target>
+
+ <target name="java.compile.thirdpass.2" unless="javac.bootclasspath.jar">
+ <!-- Perform the thirdpass pass Java compile; custom generated sources. -->
+ <javac destdir="${classes}"
+ excludes="${java.excludes.all}"
+ source="${jogl.sourcelevel}"
+ classpath="${gluegen-rt.jar}"
+ fork="yes"
+ memoryMaximumSize="128m"
+ debug="${javacdebug}" debuglevel="${javacdebuglevel}">
+ <src path="${src.generated.java}" />
+ </javac>
+ </target>
+
+ <target name="java.compile.thirdpass" depends="java.generate.composable.pipeline.custom,java.compile.thirdpass.1,java.compile.thirdpass.2" />
+
+ <target name="java.compile" depends="java.compile.firstpass,java.compile.secondpass,java.compile.thirdpass" />
<!-- ================================================================== -->
<!--
@@ -1509,20 +1619,20 @@
<target name="c.build.newt.prepare">
<!-- FIXME: this is temporary until we move this to another workspace -->
- <javah destdir="../build/gensrc/native/newt/Windows" classpath="${jogl.all.jar}" class="com.sun.javafx.newt.windows.WindowsWindow" />
- <javah destdir="../build/gensrc/native/newt/MacOSX" classpath="${jogl.all.jar}" class="com.sun.javafx.newt.macosx.MacWindow" />
- <javah destdir="../build/gensrc/native/newt/X11" classpath="${jogl.all.jar}" class="com.sun.javafx.newt.x11.X11Window" />
- <javah destdir="../build/gensrc/native/newt/KD" classpath="${jogl.all.jar}" class="com.sun.javafx.newt.kd.KDWindow" />
+ <javah destdir="../${rootrel.build}/gensrc/native/newt/Windows" classpath="${jogl.all.jar}" class="com.sun.javafx.newt.windows.WindowsWindow" />
+ <javah destdir="../${rootrel.build}/gensrc/native/newt/MacOSX" classpath="${jogl.all.jar}" class="com.sun.javafx.newt.macosx.MacWindow" />
+ <javah destdir="../${rootrel.build}/gensrc/native/newt/X11" classpath="${jogl.all.jar}" class="com.sun.javafx.newt.x11.X11Window" />
+ <javah destdir="../${rootrel.build}/gensrc/native/newt/KD" classpath="${jogl.all.jar}" class="com.sun.javafx.newt.kd.KDWindow" />
</target>
<target name="c.build.jogl.prepare" depends="c.build.newt.prepare">
<!-- Generate the EGLDrawableFactory header -->
<!-- FIXME: this is temporary until we fully autogenerate the EGL interface -->
- <javah destdir="../build/gensrc/native/jogl" classpath="${jogl.all.jar}" class="com.sun.opengl.impl.egl.EGLDrawableFactory" />
+ <javah destdir="../${rootrel.build}/gensrc/native/jogl" classpath="${jogl.all.jar}" class="com.sun.opengl.impl.egl.EGLDrawableFactory" />
<!-- Generate the waveout Mixer header -->
<!-- FIXME: this is temporary until we move this to another workspace -->
- <javah destdir="../build/gensrc/native/jogl" classpath="${jogl.all.jar}" class="com.sun.javafx.audio.windows.waveout.Mixer" />
- <javah destdir="../build/gensrc/native/openmax" classpath="${jogl.all.jar}" class="com.sun.openmax.OMXInstance" />
+ <javah destdir="../${rootrel.build}/gensrc/native/jogl" classpath="${jogl.all.jar}" class="com.sun.javafx.audio.windows.waveout.Mixer" />
+ <javah destdir="../${rootrel.build}/gensrc/native/openmax" classpath="${jogl.all.jar}" class="com.sun.openmax.OMXInstance" />
</target>
<target name="c.build.jogl.awt">
@@ -2258,15 +2368,15 @@
<!-- First copy the generated files out of the Linux build results into the appropriate -->
<!-- directory of this source tree (so that they'll be blown away properly with an -->
<!-- "ant clean") -->
- <mkdir dir="../build/gensrc/classes/javax/media/opengl/glu" />
- <copy file="${jogl.dist.dir}/jogl-linux/DebugGL2.java" todir="../build/gensrc/classes/javax/media/opengl" />
- <copy file="${jogl.dist.dir}/jogl-linux/TraceGL2.java" todir="../build/gensrc/classes/javax/media/opengl" />
- <copy file="${jogl.dist.dir}/jogl-linux/GL.java" todir="../build/gensrc/classes/javax/media/opengl" />
- <copy file="${jogl.dist.dir}/jogl-linux/GLU.java" todir="../build/gensrc/classes/javax/media/opengl/glu" />
- <copy file="${jogl.dist.dir}/jogl-linux/GLUquadric.java" todir="../build/gensrc/classes/javax/media/opengl/glu" />
+ <mkdir dir="../${rootrel.build}/gensrc/classes/javax/media/opengl/glu" />
+ <copy file="${jogl.dist.dir}/jogl-linux/DebugGL2.java" todir="../${rootrel.build}/gensrc/classes/javax/media/opengl" />
+ <copy file="${jogl.dist.dir}/jogl-linux/TraceGL2.java" todir="../${rootrel.build}/gensrc/classes/javax/media/opengl" />
+ <copy file="${jogl.dist.dir}/jogl-linux/GL.java" todir="../${rootrel.build}/gensrc/classes/javax/media/opengl" />
+ <copy file="${jogl.dist.dir}/jogl-linux/GLU.java" todir="../${rootrel.build}/gensrc/classes/javax/media/opengl/glu" />
+ <copy file="${jogl.dist.dir}/jogl-linux/GLUquadric.java" todir="../${rootrel.build}/gensrc/classes/javax/media/opengl/glu" />
<zip destfile="${jogl.dist.dir}/jogl-${tmp.version}-src.zip"
basedir="../.."
- includes="gluegen/LICENSE.txt,gluegen/doc/**,gluegen/make/**,gluegen/src/**,jogl/*.txt,jogl/build/gensrc/classes/javax/media/opengl/**,jogl/doc/**,jogl/make/**,jogl/src/**"
+ includes="gluegen/LICENSE.txt,gluegen/doc/**,gluegen/make/**,gluegen/src/**,jogl/*.txt,jogl/${rootrel.build}/gensrc/classes/javax/media/opengl/**,jogl/doc/**,jogl/make/**,jogl/src/**"
excludes="**/*.class,**/*~"
/>
<!-- Create zip archives suitable for developers -->
@@ -2339,6 +2449,7 @@
-->
<target name="clean" description="Remove all build products" depends="declare.common">
<delete includeEmptyDirs="true" quiet="true">
+ <fileset dir="${tempdir}" />
<fileset dir="${build}" />
<fileset dir="${javadoc}" />
<fileset dir="${javadoc.spec}" />
diff --git a/make/cg-common.cfg b/make/cg-common.cfg
index d0ae8303c..9b8dba079 100644
--- a/make/cg-common.cfg
+++ b/make/cg-common.cfg
@@ -3,8 +3,8 @@
Package com.sun.opengl.cg
JavaClass CgGL
Style AllStatic
-JavaOutputDir ../build/gensrc/classes
-NativeOutputDir ../build/gensrc/native/jogl_cg
+JavaOutputDir gensrc/classes
+NativeOutputDir gensrc/native/jogl_cg
HierarchicalNativeOutput false
#
diff --git a/make/cgl-macosx.cfg b/make/cgl-macosx.cfg
index 2b32c6667..780afcf5b 100644
--- a/make/cgl-macosx.cfg
+++ b/make/cgl-macosx.cfg
@@ -1,7 +1,7 @@
# This .cfg file is used to generate the interface to the CGL routines
# used internally by the MacOSXGLContext implementation.
-JavaOutputDir ../build/gensrc/classes
-NativeOutputDir ../build/gensrc/native/jogl/MacOSX
+JavaOutputDir gensrc/classes
+NativeOutputDir gensrc/native/jogl/MacOSX
Package com.sun.opengl.impl.macosx.cgl
JavaClass CGL
diff --git a/make/cglext.cfg b/make/cglext.cfg
index ae829c4af..534910bde 100755
--- a/make/cglext.cfg
+++ b/make/cglext.cfg
@@ -3,8 +3,8 @@
# Note that there are currently no such extensions exposed on Mac OS
# X, but if in the future there are, this structure will allow them to
# be easily exposed.
-JavaOutputDir ../build/gensrc/classes
-NativeOutputDir ../build/gensrc/native/jogl/MacOSX
+JavaOutputDir gensrc/classes
+NativeOutputDir gensrc/native/jogl/MacOSX
Package com.sun.opengl.impl.macosx.cgl
Style InterfaceAndImpl
diff --git a/make/egl.cfg b/make/egl.cfg
index 223a4f2e7..8ddafc1fd 100755
--- a/make/egl.cfg
+++ b/make/egl.cfg
@@ -1,7 +1,7 @@
# This .cfg file is used to generate the interface to the EGL routines
# used internally by the EGLContext implementation.
-JavaOutputDir ../build/gensrc/classes
-NativeOutputDir ../build/gensrc/native/jogl/egl
+JavaOutputDir gensrc/classes
+NativeOutputDir gensrc/native/jogl/egl
Package com.sun.opengl.impl.egl
JavaClass EGL
diff --git a/make/eglext.cfg b/make/eglext.cfg
index a4c85d8c4..54ac07a04 100755
--- a/make/eglext.cfg
+++ b/make/eglext.cfg
@@ -1,7 +1,7 @@
# This .cfg file is used to generate the interface to the EGL routines
# used internally by the EGLContext implementation.
-JavaOutputDir ../build/gensrc/classes
-NativeOutputDir ../build/gensrc/native/jogl/egl
+JavaOutputDir gensrc/classes
+NativeOutputDir gensrc/native/jogl/egl
Package com.sun.opengl.impl.egl
Style InterfaceAndImpl
@@ -10,7 +10,7 @@ ImplPackage com.sun.opengl.impl.egl
ImplJavaClass EGLExtImpl
# Shouldn't matter which one of these we pick up
-ExtendedInterfaceSymbols ../build/gensrc/classes/com/sun/opengl/impl/egl/EGL.java
+ExtendedInterfaceSymbols ../build-temp/gensrc/classes/com/sun/opengl/impl/egl/EGL.java
HierarchicalNativeOutput false
Include gl-common.cfg
diff --git a/make/gl-common.cfg b/make/gl-common.cfg
index 8c308a3f7..e76eaba35 100644
--- a/make/gl-common.cfg
+++ b/make/gl-common.cfg
@@ -9,6 +9,8 @@ UnsupportedExceptionType GLUnsupportedException
Import java.nio.*
Import java.util.*
Import javax.media.opengl.*
+Import javax.media.opengl.sub.*
+Import javax.media.opengl.sub.fixed.*
Import com.sun.opengl.impl.*
#####################################################################
diff --git a/make/gl-es1.cfg b/make/gl-es1.cfg
index 047f7a133..89444619b 100755
--- a/make/gl-es1.cfg
+++ b/make/gl-es1.cfg
@@ -1,21 +1,36 @@
# This .cfg file is used to generate the GL interface and implementing class.
-JavaOutputDir ../build/gensrc/classes
-NativeOutputDir ../build/gensrc/native/jogl/es1
+JavaOutputDir gensrc/classes
+NativeOutputDir gensrc/native/jogl/es1
-ExtendedInterfaceSymbols ../build/gensrc/classes/javax/media/opengl/GL.java
-ExtendedInterfaceSymbols ../build/gensrc/classes/javax/media/opengl/GL2ES1.java
+ExtendedInterfaceSymbols ../build-temp/gensrc/classes/javax/media/opengl/GL.java
+ExtendedInterfaceSymbols ../build-temp/gensrc/classes/javax/media/opengl/GL2ES1.java
+ExtendedInterfaceSymbols ../src/classes/javax/media/opengl/sub/GLObject.java
+ExtendedInterfaceSymbols ../src/classes/javax/media/opengl/sub/fixed/GLMatrixIf.java
+ExtendedInterfaceSymbols ../src/classes/javax/media/opengl/sub/fixed/GLPointerIf.java
+ExtendedInterfaceSymbols ../src/classes/javax/media/opengl/sub/fixed/GLLightingIf.java
+ExtendedInterfaceSymbols ../src/classes/javax/media/opengl/sub/fixed/GLFixedFuncIf.java
# There are a few routines we don't handle yet
Ignore glGetBufferPointervOES
Package javax.media.opengl
Style InterfaceAndImpl
JavaClass GLES1
+Extends GLES1 GLObject
Extends GLES1 GL
Extends GLES1 GL2ES1
+Extends GLES1 GLMatrixIf
+Extends GLES1 GLPointerIf
+Extends GLES1 GLLightingIf
+Extends GLES1 GLFixedFuncIf
ImplPackage com.sun.opengl.impl.es1
ImplJavaClass GLES1Impl
+Implements GLES1Impl GLObject
Implements GLES1Impl GL
Implements GLES1Impl GL2ES1
+Implements GLES1Impl GLMatrixIf
+Implements GLES1Impl GLPointerIf
+Implements GLES1Impl GLLightingIf
+Implements GLES1Impl GLFixedFuncIf
HierarchicalNativeOutput false
Include gl-common.cfg
Include gl-common-extensions.cfg
diff --git a/make/gl-es2.cfg b/make/gl-es2.cfg
index 5ec642865..513d5a099 100755
--- a/make/gl-es2.cfg
+++ b/make/gl-es2.cfg
@@ -1,17 +1,20 @@
# This .cfg file is used to generate the GL interface and implementing class.
-JavaOutputDir ../build/gensrc/classes
-NativeOutputDir ../build/gensrc/native/jogl/es2
+JavaOutputDir gensrc/classes
+NativeOutputDir gensrc/native/jogl/es2
-ExtendedInterfaceSymbols ../build/gensrc/classes/javax/media/opengl/GL.java
-ExtendedInterfaceSymbols ../build/gensrc/classes/javax/media/opengl/GL2ES2.java
+ExtendedInterfaceSymbols ../build-temp/gensrc/classes/javax/media/opengl/GL.java
+ExtendedInterfaceSymbols ../build-temp/gensrc/classes/javax/media/opengl/GL2ES2.java
+ExtendedInterfaceSymbols ../src/classes/javax/media/opengl/sub/GLObject.java
Package javax.media.opengl
Style InterfaceAndImpl
JavaClass GLES2
+Extends GLES2 GLObject
Extends GLES2 GL
Extends GLES2 GL2ES2
ImplPackage com.sun.opengl.impl.es2
ImplJavaClass GLES2Impl
+Implements GLES2Impl GLObject
Implements GLES2Impl GL
Implements GLES2Impl GL2ES2
HierarchicalNativeOutput false
@@ -51,15 +54,6 @@ CustomCCode #include <GLES2/gl2ext.h>
CustomCCode #include <stdlib.h>
Include intptr.cfg
-JavaPrologue glEnable glEnablePrologue({0}, true);
-JavaPrologue glDisable glEnablePrologue({0}, false);
-JavaPrologue glDrawArrays glDrawArraysPrologue();
-JavaEpilogue glDrawArrays glDrawArraysEpilogue();
-JavaPrologue glDrawElements glDrawArraysPrologue();
-JavaEpilogue glDrawElements glDrawArraysEpilogue();
-JavaEpilogue glActiveTexture glActiveTextureEpilog({0});
-JavaPrologue glCullFace glCullFacePrologue({0});
-
IncludeAs CustomJavaCode GLES2Impl gl-impl-CustomJavaCode-common.java
IncludeAs CustomJavaCode GLES2Impl gl-impl-CustomJavaCode-gles2.java
IncludeAs CustomJavaCode GLES2Impl gl-impl-CustomJavaCode-gl2_es2.java
@@ -71,7 +65,5 @@ Import javax.media.opengl.GL2
Import javax.media.opengl.GLArrayData
Import javax.media.opengl.GLUniformData
Import javax.media.opengl.util.BufferUtil
-Import javax.media.opengl.util.PMVMatrix
-Import com.sun.opengl.impl.glsl.fixed.FixedFuncPipeline
Import java.io.PrintStream
diff --git a/make/gl-gl2.cfg b/make/gl-gl2.cfg
index de94736cb..14e7f6487 100644
--- a/make/gl-gl2.cfg
+++ b/make/gl-gl2.cfg
@@ -1,22 +1,37 @@
# This .cfg file is used to generate the GL interface and implementing class.
-JavaOutputDir ../build/gensrc/classes
-NativeOutputDir ../build/gensrc/native/jogl/gl2
+JavaOutputDir gensrc/classes
+NativeOutputDir gensrc/native/jogl/gl2
-ExtendedInterfaceSymbols ../build/gensrc/classes/javax/media/opengl/GL.java
-ExtendedInterfaceSymbols ../build/gensrc/classes/javax/media/opengl/GL2ES1.java
-ExtendedInterfaceSymbols ../build/gensrc/classes/javax/media/opengl/GL2ES2.java
+ExtendedInterfaceSymbols ../build-temp/gensrc/classes/javax/media/opengl/GL.java
+ExtendedInterfaceSymbols ../build-temp/gensrc/classes/javax/media/opengl/GL2ES1.java
+ExtendedInterfaceSymbols ../build-temp/gensrc/classes/javax/media/opengl/GL2ES2.java
+ExtendedInterfaceSymbols ../src/classes/javax/media/opengl/sub/GLObject.java
+ExtendedInterfaceSymbols ../src/classes/javax/media/opengl/sub/fixed/GLMatrixIf.java
+ExtendedInterfaceSymbols ../src/classes/javax/media/opengl/sub/fixed/GLPointerIf.java
+ExtendedInterfaceSymbols ../src/classes/javax/media/opengl/sub/fixed/GLLightingIf.java
+ExtendedInterfaceSymbols ../src/classes/javax/media/opengl/sub/fixed/GLFixedFuncIf.java
Package javax.media.opengl
Style InterfaceAndImpl
JavaClass GL2
+Extends GL2 GLObject
Extends GL2 GL
Extends GL2 GL2ES1
Extends GL2 GL2ES2
+Extends GL2 GLMatrixIf
+Extends GL2 GLPointerIf
+Extends GL2 GLLightingIf
+Extends GL2 GLFixedFuncIf
ImplPackage com.sun.opengl.impl.gl2
ImplJavaClass GL2Impl
+Implements GL2Impl GLObject
Implements GL2Impl GL
Implements GL2Impl GL2ES1
Implements GL2Impl GL2ES2
+Implements GL2Impl GLMatrixIf
+Implements GL2Impl GLPointerIf
+Implements GL2Impl GLLightingIf
+Implements GL2Impl GLFixedFuncIf
Include gl-common-gl2.cfg
Include gl-common-extensions.cfg
Include gl-desktop.cfg
@@ -36,6 +51,8 @@ TagNativeBinding true
CustomJavaCode GL2 public static final int GL_STENCIL_INDEX16 = 0x8D49;
CustomJavaCode GL2 public static final int GL_RGBA_FLOAT32_APPLE = 0x8814;
CustomJavaCode GL2 public static final int GL_RGBA_FLOAT16_APPLE = 0x881A;
+CustomJavaCode GL2 public boolean glIsPBOPackEnabled();
+CustomJavaCode GL2 public boolean glIsPBOUnpackEnabled();
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/gl-gl2es12.cfg b/make/gl-gl2es12.cfg
index fb772b73b..7dcf9462f 100644
--- a/make/gl-gl2es12.cfg
+++ b/make/gl-gl2es12.cfg
@@ -1,10 +1,15 @@
# This .cfg file is used to generate the GL interface and implementing class.
-JavaOutputDir ../build/gensrc/classes
-NativeOutputDir ../build/gensrc/native/jogl/gl2es12
+JavaOutputDir gensrc/classes
+NativeOutputDir gensrc/native/jogl/gl2es12
-ExtendedInterfaceSymbolsOnly ../build/gensrc/classes/javax/media/opengl/GL.java
-ExtendedInterfaceSymbolsOnly ../build/gensrc/classes/javax/media/opengl/GL2ES1.java
-ExtendedInterfaceSymbolsOnly ../build/gensrc/classes/javax/media/opengl/GL2ES2.java
+ExtendedInterfaceSymbolsOnly ../build-temp/gensrc/classes/javax/media/opengl/GL.java
+ExtendedInterfaceSymbolsOnly ../build-temp/gensrc/classes/javax/media/opengl/GL2ES1.java
+ExtendedInterfaceSymbolsOnly ../build-temp/gensrc/classes/javax/media/opengl/GL2ES2.java
+ExtendedInterfaceSymbolsOnly ../src/classes/javax/media/opengl/sub/GLObject.java
+ExtendedInterfaceSymbolsOnly ../src/classes/javax/media/opengl/sub/fixed/GLMatrixIf.java
+ExtendedInterfaceSymbolsOnly ../src/classes/javax/media/opengl/sub/fixed/GLPointerIf.java
+ExtendedInterfaceSymbolsOnly ../src/classes/javax/media/opengl/sub/fixed/GLLightingIf.java
+ExtendedInterfaceSymbolsOnly ../src/classes/javax/media/opengl/sub/fixed/GLFixedFuncIf.java
Package javax.media.opengl
Style InterfaceAndImpl
@@ -12,11 +17,21 @@ JavaClass GL2ES12
Extends GL2ES12 GL
Extends GL2ES12 GL2ES1
Extends GL2ES12 GL2ES2
+Extends GL2ES12 GLObject
+Extends GL2ES12 GLMatrixIf
+Extends GL2ES12 GLPointerIf
+Extends GL2ES12 GLLightingIf
+Extends GL2ES12 GLFixedFuncIf
ImplPackage com.sun.opengl.impl.gl2es12
ImplJavaClass GL2ES12Impl
Implements GL2ES12Impl GL
Implements GL2ES12Impl GL2ES1
Implements GL2ES12Impl GL2ES2
+Implements GL2ES12Impl GLObject
+Implements GL2ES12Impl GLMatrixIf
+Implements GL2ES12Impl GLPointerIf
+Implements GL2ES12Impl GLLightingIf
+Implements GL2ES12Impl GLFixedFuncIf
Include gl-common-gl2.cfg
Include gl-common-extensions.cfg
diff --git a/make/gl-if-CustomJavaCode-gl.java b/make/gl-if-CustomJavaCode-gl.java
index acb3f10f5..840c8f61f 100644
--- a/make/gl-if-CustomJavaCode-gl.java
+++ b/make/gl-if-CustomJavaCode-gl.java
@@ -1,124 +1,14 @@
- public static final int GL_LIGHT0 = 0x4000;
- public static final int GL_LIGHT1 = 0x4001;
- public static final int GL_LIGHT2 = 0x4002;
- public static final int GL_LIGHT3 = 0x4003;
- public static final int GL_LIGHT4 = 0x4004;
- public static final int GL_LIGHT5 = 0x4005;
- public static final int GL_LIGHT6 = 0x4006;
- public static final int GL_LIGHT7 = 0x4007;
- public static final int GL_LIGHTING = 0xB50;
- public static final int GL_AMBIENT = 0x1200;
- public static final int GL_DIFFUSE = 0x1201;
- public static final int GL_SPECULAR = 0x1202;
- public static final int GL_POSITION = 0x1203;
- public static final int GL_SPOT_DIRECTION = 0x1204;
- public static final int GL_SPOT_EXPONENT = 0x1205;
- public static final int GL_SPOT_CUTOFF = 0x1206;
- public static final int GL_CONSTANT_ATTENUATION = 0x1207;
- public static final int GL_LINEAR_ATTENUATION = 0x1208;
- public static final int GL_QUADRATIC_ATTENUATION = 0x1209;
- public static final int GL_EMISSION = 0x1600;
- public static final int GL_SHININESS = 0x1601;
- public static final int GL_AMBIENT_AND_DIFFUSE = 0x1602;
- public static final int GL_COLOR_MATERIAL = 0xB57;
- public static final int GL_NORMALIZE = 0xBA1;
-
- public static final int GL_FLAT = 0x1D00;
- public static final int GL_SMOOTH = 0x1D01;
-
- public static final int GL_MODELVIEW = 0x1700;
- public static final int GL_PROJECTION = 0x1701;
-
- public static final int GL_VERTEX_ARRAY = 0x8074;
- public static final int GL_NORMAL_ARRAY = 0x8075;
- public static final int GL_COLOR_ARRAY = 0x8076;
- public static final int GL_TEXTURE_COORD_ARRAY = 0x8078;
-
- public boolean isGL2();
-
- public boolean isGLES1();
-
- public boolean isGLES2();
-
- public boolean isGLES();
-
- public boolean isGL2ES1();
-
- public boolean isGL2ES2();
-
- public GL2 getGL2() throws GLException;
-
- public GLES1 getGLES1() throws GLException;
-
- public GLES2 getGLES2() throws GLException;
-
- public GL2ES1 getGL2ES1() throws GLException;
-
- public GL2ES2 getGL2ES2() throws GLException;
-
public boolean matchesProfile();
public boolean matchesProfile(String test_profile);
- public String toString();
-
- public GLContext getContext();
-
public void glClearDepth( double depth );
public void glDepthRange(double zNear, double zFar);
- public void glPopMatrix();
-
- public void glPushMatrix();
-
- public void glLoadIdentity() ;
-
- public void glLoadMatrixf(java.nio.FloatBuffer m) ;
- public void glLoadMatrixf(float[] m, int m_offset);
-
- public void glMatrixMode(int mode) ;
-
- public void glMultMatrixf(java.nio.FloatBuffer m) ;
- public void glMultMatrixf(float[] m, int m_offset);
-
- public void glTranslatef(float x, float y, float z) ;
-
- public void glRotatef(float angle, float x, float y, float z);
-
- public void glScalef(float x, float y, float z) ;
-
- public void glOrthof(float left, float right, float bottom, float top, float zNear, float zFar) ;
-
- public void glFrustumf(float left, float right, float bottom, float top, float zNear, float zFar);
-
- public void glEnableClientState(int arrayName);
- public void glDisableClientState(int arrayName);
-
- public void glVertexPointer(GLArrayData array);
- public void glVertexPointer(int size, int type, int stride, java.nio.Buffer pointer);
- public void glVertexPointer(int size, int type, int stride, long pointer_buffer_offset);
-
- public void glColorPointer(GLArrayData array);
- public void glColorPointer(int size, int type, int stride, java.nio.Buffer pointer);
- public void glColorPointer(int size, int type, int stride, long pointer_buffer_offset);
- public void glColor4f(float red, float green, float blue, float alpha);
-
- public void glNormalPointer(GLArrayData array);
- public void glNormalPointer(int type, int stride, java.nio.Buffer pointer);
- public void glNormalPointer(int type, int stride, long pointer_buffer_offset);
-
- public void glTexCoordPointer(GLArrayData array);
- public void glTexCoordPointer(int size, int type, int stride, java.nio.Buffer pointer);
- public void glTexCoordPointer(int size, int type, int stride, long pointer_buffer_offset);
-
- public void glLightfv(int light, int pname, java.nio.FloatBuffer params);
- public void glLightfv(int light, int pname, float[] params, int params_offset);
- public void glMaterialf(int face, int pname, float param);
- public void glMaterialfv(int face, int pname, java.nio.FloatBuffer params);
- public void glMaterialfv(int face, int pname, float[] params, int params_offset);
+ public int glGetBoundBuffer(int target);
- public void glShadeModel(int mode);
+ public boolean glIsVBOArrayEnabled();
+ public boolean glIsVBOElementEnabled();
- public int glGetBoundBuffer(int target);
diff --git a/make/gl-if-CustomJavaCode-gles2.java b/make/gl-if-CustomJavaCode-gles2.java
index 2b55b7a25..ea40f6329 100644
--- a/make/gl-if-CustomJavaCode-gles2.java
+++ b/make/gl-if-CustomJavaCode-gles2.java
@@ -1,128 +1,3 @@
public static final int GL_NVIDIA_PLATFORM_BINARY_NV = 0x890B;
- /**
- * Emulated FixedFunction matrix bit, enables PVM matrix functionality,
- * referenced below.
- *
- * <br>Enabled by default.
- *
- * @see #enableFixedFunctionEmulationMode
- * @see #disableFixedFunctionEmulationMode
- * @see #getEnabledFixedFunctionEmulationModes
- * @see #GL_MODELVIEW
- * @see #GL_PROJECTION
- * @see #glPopMatrix()
- * @see #glPushMatrix()
- * @see #glLoadIdentity()
- * @see #glLoadMatrixf(java.nio.FloatBuffer)
- * @see #glMatrixMode(int)
- * @see #glMultMatrixf(java.nio.FloatBuffer)
- * @see #glTranslatef(float, float, float)
- * @see #glRotatef(float, float, float, float)
- * @see #glScalef(float, float, float)
- * @see #glOrthof(float, float, float, float, float, float)
- * @see #glFrustumf(float, float, float, float, float, float)
- * @see #glPopMatrix()
- * @see #glPushMatrix()
- * @see #glLoadIdentity()
- * @see #glLoadMatrixf(java.nio.FloatBuffer)
- * @see #glMatrixMode(int)
- * @see #glMultMatrixf(java.nio.FloatBuffer)
- * @see #glTranslatef(float, float, float)
- * @see #glRotatef(float, float, float, float)
- * @see #glScalef(float, float, float)
- * @see #glOrthof(float, float, float, float, float, float)
- * @see #glFrustumf(float, float, float, float, float, float)
- */
- public static final int FIXED_EMULATION_MATRIX = (1 << 0) ;
-
- /**
- * Emulated FixedFunction vertex color bit, enables vertex|color arrays ,
- * referenced below.
- *
- * <br>Disabled by default.
- *
- * @see #enableFixedFunctionEmulationMode
- * @see #disableFixedFunctionEmulationMode
- * @see #getEnabledFixedFunctionEmulationModes
- * @see #GL_VERTEX_ARRAY
- * @see #GL_NORMAL_ARRAY
- * @see #GL_COLOR_ARRAY
- * @see #GL_TEXTURE_COORD_ARRAY
- * @see #glEnableClientState(int);
- * @see #glVertexPointer(int, int, int, Buffer);
- * @see #glVertexPointer(int, int, int, long);
- * @see #glColorPointer(int, int, int, Buffer);
- * @see #glColorPointer(int, int, int, long);
- * @see #glNormalPointer(int, int, int, Buffer);
- * @see #glNormalPointer(int, int, int, long);
- * @see #glTexCoordPointer(int, int, int, Buffer);
- * @see #glTexCoordPointer(int, int, int, long);
- * @see #glDrawArrays(int, int, int);
- */
- public static final int FIXED_EMULATION_VERTEXCOLORTEXTURE = (1 << 1) ;
-
- /**
- * Emulated FixedFunction implementation.
- * @see #disableFixedFunctionEmulationMode
- * @see #getEnabledFixedFunctionEmulationModes
- */
- public void enableFixedFunctionEmulationMode(int mode);
-
- /**
- * Emulated FixedFunction implementation.
- * @see #enableFixedFunctionEmulationMode
- * @see #getEnabledFixedFunctionEmulationModes
- */
- public void disableFixedFunctionEmulationMode(int mode);
-
- /**
- * Emulated FixedFunction matrix implementation.
- * @see #enableFixedFunctionEmulationMode
- */
- public int getEnabledFixedFunctionEmulationModes();
-
- /**
- * Emulated FixedFunction matrix implementation.
- *
- * Fetches the internal matrix of matrixName.
- * @param matrixName GL_MODELVIEW or GL_PROJECTION
- * @see #getEnabledFixedFunctionEmulationModes
- * @see #enableFixedFunctionEmulationMode
- * @see #disableFixedFunctionEmulationMode
- */
- public PMVMatrix getPMVMatrix();
-
- /**
- * Emulated FixedFunction matrix implementation.
- *
- * Fetches the internal matrix of matrixName.
- * @param matrixName GL_MODELVIEW or GL_PROJECTION
- * @see #enableFixedFunctionEmulationMode
- * @see #disableFixedFunctionEmulationMode
- * @see #getEnabledFixedFunctionEmulationModes
- */
- public FloatBuffer glGetMatrixf(int matrixName);
-
- /**
- * Emulated FixedFunction matrix implementation.
- *
- * Fetches the internal matrix of matrixName.
- * @param matrixName GL_MODELVIEW or GL_PROJECTION
- * @see #enableFixedFunctionEmulationMode
- * @see #disableFixedFunctionEmulationMode
- * @see #getEnabledFixedFunctionEmulationModes
- */
- public FloatBuffer glGetMatrixf();
-
- /**
- * Emulated FixedFunction matrix implementation.
- *
- * Fetches the internal matrix of matrixName.
- * @param matrixName GL_MODELVIEW or GL_PROJECTION
- * @see #enableFixedFunctionEmulationMode
- * @see #disableFixedFunctionEmulationMode
- * @see #getEnabledFixedFunctionEmulationModes
- */
- public int glGetMatrixMode();
diff --git a/make/gl-if-gl.cfg b/make/gl-if-gl.cfg
index 9696360d2..201ef32bb 100755
--- a/make/gl-if-gl.cfg
+++ b/make/gl-if-gl.cfg
@@ -2,14 +2,17 @@
Package javax.media.opengl
Style InterfaceOnly
JavaClass GL
+Extends GL GLObject
+
+ExtendedInterfaceSymbols ../src/classes/javax/media/opengl/sub/GLObject.java
HierarchicalNativeOutput false
Include gl-common.cfg
Include gl-common-extensions.cfg
Include gl-ignore-gl2_es12-special.cfg
-JavaOutputDir ../build/gensrc/classes
-NativeOutputDir ../build/gensrc/native/jogl
+JavaOutputDir gensrc/classes
+NativeOutputDir gensrc/native/jogl
Import javax.media.opengl.GLES1
Import javax.media.opengl.GLES2
diff --git a/make/gl-if-gl2_es1.cfg b/make/gl-if-gl2_es1.cfg
index 0d477a275..d793038fd 100755
--- a/make/gl-if-gl2_es1.cfg
+++ b/make/gl-if-gl2_es1.cfg
@@ -2,16 +2,26 @@
Package javax.media.opengl
Style InterfaceOnly
JavaClass GL2ES1
+Extends GL2ES1 GLObject
Extends GL2ES1 GL
+Extends GL2ES1 GLMatrixIf
+Extends GL2ES1 GLPointerIf
+Extends GL2ES1 GLLightingIf
+Extends GL2ES1 GLFixedFuncIf
-ExtendedInterfaceSymbols ../build/gensrc/classes/javax/media/opengl/GL.java
+ExtendedInterfaceSymbols ../build-temp/gensrc/classes/javax/media/opengl/GL.java
+ExtendedInterfaceSymbols ../src/classes/javax/media/opengl/sub/GLObject.java
+ExtendedInterfaceSymbols ../src/classes/javax/media/opengl/sub/fixed/GLMatrixIf.java
+ExtendedInterfaceSymbols ../src/classes/javax/media/opengl/sub/fixed/GLPointerIf.java
+ExtendedInterfaceSymbols ../src/classes/javax/media/opengl/sub/fixed/GLLightingIf.java
+ExtendedInterfaceSymbols ../src/classes/javax/media/opengl/sub/fixed/GLFixedFuncIf.java
HierarchicalNativeOutput false
Include gl-common.cfg
Include gl-common-extensions.cfg
-JavaOutputDir ../build/gensrc/classes
-NativeOutputDir ../build/gensrc/native/jogl
+JavaOutputDir gensrc/classes
+NativeOutputDir gensrc/native/jogl
# Ignore all ES 1.X only stuff to GL2
Ignore glPointSizePointer
diff --git a/make/gl-if-gl2_es2.cfg b/make/gl-if-gl2_es2.cfg
index b8fa3f8c6..31cadb56f 100755
--- a/make/gl-if-gl2_es2.cfg
+++ b/make/gl-if-gl2_es2.cfg
@@ -2,15 +2,17 @@
Package javax.media.opengl
Style InterfaceOnly
JavaClass GL2ES2
+Extends GL2ES2 GLObject
Extends GL2ES2 GL
-ExtendedInterfaceSymbols ../build/gensrc/classes/javax/media/opengl/GL.java
+ExtendedInterfaceSymbols ../build-temp/gensrc/classes/javax/media/opengl/GL.java
+ExtendedInterfaceSymbols ../src/classes/javax/media/opengl/sub/GLObject.java
HierarchicalNativeOutput false
Include gl-common.cfg
Include gl-common-extensions.cfg
-JavaOutputDir ../build/gensrc/classes
-NativeOutputDir ../build/gensrc/native/jogl
+JavaOutputDir gensrc/classes
+NativeOutputDir gensrc/native/jogl
# Ignore all ES 2.X only stuff ..
# Ignore ^gl.*x(v)?(OES)?
@@ -51,12 +53,6 @@ CustomJavaCode GL2ES2 public Set glGetShaderBinaryFormats();
CustomJavaCode GL2ES2 public void glShaderBinary(IntBuffer shaders, int binFormat, java.nio.Buffer bin);
CustomJavaCode GL2ES2 public void glCreateShader(int type, IntBuffer shaders);
CustomJavaCode GL2ES2 public void glCompileShader(IntBuffer shaders);
-CustomJavaCode GL2ES2 public boolean glCreateLoadShader(IntBuffer shader, int shaderType,
-CustomJavaCode GL2ES2 int binFormat, java.nio.Buffer bin,
-CustomJavaCode GL2ES2 PrintStream verboseOut);
-CustomJavaCode GL2ES2 public boolean glCreateCompileShader(IntBuffer shader, int shaderType,
-CustomJavaCode GL2ES2 java.lang.String[][] sources,
-CustomJavaCode GL2ES2 PrintStream verboseOut);
CustomJavaCode GL2ES2 public void glAttachShader(int program, IntBuffer shaders);
CustomJavaCode GL2ES2 public void glDetachShader(int program, IntBuffer shaders);
CustomJavaCode GL2ES2 public void glDeleteShader(IntBuffer shaders);
diff --git a/make/gl-ignore-gl2_es12-special.cfg b/make/gl-ignore-gl2_es12-special.cfg
index f93aec14e..75eeb140b 100644
--- a/make/gl-ignore-gl2_es12-special.cfg
+++ b/make/gl-ignore-gl2_es12-special.cfg
@@ -12,8 +12,8 @@ Ignore GL_ALPHA_SCALE
Ignore GL_ALPHA_TEST
Ignore GL_ALPHA_TEST_FUNC
Ignore GL_ALPHA_TEST_REF
-#Ignore GL_AMBIENT
-#Ignore GL_AMBIENT_AND_DIFFUSE
+Ignore GL_AMBIENT
+Ignore GL_AMBIENT_AND_DIFFUSE
Ignore GL_AND
Ignore GL_AND_INVERTED
Ignore GL_AND_REVERSE
@@ -53,14 +53,14 @@ Ignore GL_COLOR_ARRAY_SIZE
Ignore GL_COLOR_ARRAY_STRIDE
Ignore GL_COLOR_ARRAY_TYPE
Ignore GL_COLOR_LOGIC_OP
-#Ignore GL_COLOR_MATERIAL
+Ignore GL_COLOR_MATERIAL
Ignore GL_COMBINE
Ignore GL_COMBINE_ALPHA
Ignore GL_COMBINE_RGB
Ignore GL_COMPILE_STATUS
Ignore GL_CONSTANT
Ignore GL_CONSTANT_ALPHA
-#Ignore GL_CONSTANT_ATTENUATION
+Ignore GL_CONSTANT_ATTENUATION
Ignore GL_CONSTANT_COLOR
Ignore GL_COORD_REPLACE_OES
Ignore GL_COPY
@@ -78,10 +78,10 @@ Ignore GL_DELETE_STATUS
Ignore GL_DEPTH_COMPONENT
Ignore GL_DEPTH_COMPONENT24_OES
Ignore GL_DEPTH_COMPONENT32_OES
-#Ignore GL_DIFFUSE
+Ignore GL_DIFFUSE
Ignore GL_DOT3_RGB
Ignore GL_DOT3_RGBA
-#Ignore GL_EMISSION
+Ignore GL_EMISSION
Ignore GL_EQUIV
Ignore GL_ES_VERSION_2_0
Ignore GL_ETC1_RGB8_OES
@@ -89,7 +89,7 @@ Ignore GL_EXP
Ignore GL_EXP2
#Ignore GL_FIXED_OES
#Ignore GL_FIXED
-#Ignore GL_FLAT
+Ignore GL_FLAT
Ignore GL_FLOAT_MAT2
Ignore GL_FLOAT_MAT3
Ignore GL_FLOAT_MAT4
@@ -127,18 +127,18 @@ Ignore GL_INTERPOLATE
Ignore GL_INT_VEC2
Ignore GL_INT_VEC3
Ignore GL_INT_VEC4
-#Ignore GL_LIGHT0
-#Ignore GL_LIGHT1
-#Ignore GL_LIGHT2
-#Ignore GL_LIGHT3
-#Ignore GL_LIGHT4
-#Ignore GL_LIGHT5
-#Ignore GL_LIGHT6
-#Ignore GL_LIGHT7
-#Ignore GL_LIGHTING
+Ignore GL_LIGHT0
+Ignore GL_LIGHT1
+Ignore GL_LIGHT2
+Ignore GL_LIGHT3
+Ignore GL_LIGHT4
+Ignore GL_LIGHT5
+Ignore GL_LIGHT6
+Ignore GL_LIGHT7
+Ignore GL_LIGHTING
Ignore GL_LIGHT_MODEL_AMBIENT
Ignore GL_LIGHT_MODEL_TWO_SIDE
-#Ignore GL_LINEAR_ATTENUATION
+Ignore GL_LINEAR_ATTENUATION
Ignore GL_LINE_SMOOTH
Ignore GL_LINE_SMOOTH_HINT
Ignore GL_LINK_STATUS
@@ -187,7 +187,7 @@ Ignore GL_NORMAL_ARRAY_BUFFER_BINDING
Ignore GL_NORMAL_ARRAY_POINTER
Ignore GL_NORMAL_ARRAY_STRIDE
Ignore GL_NORMAL_ARRAY_TYPE
-#Ignore GL_NORMALIZE
+Ignore GL_NORMALIZE
Ignore GL_NORMAL_MAP_OES
Ignore GL_NUM_SHADER_BINARY_FORMATS
Ignore GL_OES_blend_equation_separate
@@ -256,14 +256,14 @@ Ignore GL_POINT_SIZE_MIN
Ignore GL_POINT_SMOOTH
Ignore GL_POINT_SMOOTH_HINT
Ignore GL_POINT_SPRITE_OES
-#Ignore GL_POSITION
+Ignore GL_POSITION
Ignore GL_PREVIOUS
Ignore GL_PRIMARY_COLOR
Ignore GL_PROJECTION
Ignore GL_PROJECTION_MATRIX
Ignore GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES
Ignore GL_PROJECTION_STACK_DEPTH
-#Ignore GL_QUADRATIC_ATTENUATION
+Ignore GL_QUADRATIC_ATTENUATION
Ignore GL_R11F_G11F_B10F_EXT
Ignore GL_REFLECTION_MAP_OES
Ignore GL_RESCALE_NORMAL
@@ -280,14 +280,14 @@ Ignore GL_SHADER_COMPILER
Ignore GL_SHADER_SOURCE_LENGTH
Ignore GL_SHADER_TYPE
Ignore GL_SHADING_LANGUAGE_VERSION
-#Ignore GL_SHININESS
-#Ignore GL_SMOOTH
+Ignore GL_SHININESS
+Ignore GL_SMOOTH
Ignore GL_SMOOTH_LINE_WIDTH_RANGE
Ignore GL_SMOOTH_POINT_SIZE_RANGE
-#Ignore GL_SPECULAR
-#Ignore GL_SPOT_CUTOFF
-#Ignore GL_SPOT_DIRECTION
-#Ignore GL_SPOT_EXPONENT
+Ignore GL_SPECULAR
+Ignore GL_SPOT_CUTOFF
+Ignore GL_SPOT_DIRECTION
+Ignore GL_SPOT_EXPONENT
Ignore GL_SRC0_ALPHA
Ignore GL_SRC0_RGB
Ignore GL_SRC1_ALPHA
@@ -373,9 +373,9 @@ Ignore glClearDepthfOES
Ignore glClientActiveTexture
Ignore glClipPlanef
Ignore glClipPlanefOES
-#Ignore glColor4f
+Ignore glColor4f
Ignore glColor4ub
-#Ignore glColorPointer
+Ignore glColorPointer
Ignore glCompileShader
Ignore glCoverageMaskNV
Ignore glCoverageOperationNV
@@ -383,7 +383,7 @@ Ignore glDeleteProgram
Ignore glDeleteShader
Ignore glDepthRangefOES
Ignore glDetachShader
-#Ignore glDisableClientState
+Ignore glDisableClientState
Ignore glDisableVertexAttribArray
Ignore glDrawTexfOES
Ignore glDrawTexfvOES
@@ -392,7 +392,7 @@ Ignore glDrawTexivOES
Ignore glDrawTexsOES
Ignore glDrawTexsvOES
Ignore glDrawTexxvOES
-#Ignore glEnableClientState
+Ignore glEnableClientState
Ignore glEnableVertexAttribArray
Ignore glFogf
Ignore glFogfv
@@ -436,7 +436,7 @@ Ignore glGetUniformiv
Ignore glGetVertexAttribfv
Ignore glGetVertexAttribiv
Ignore glLightf
-#Ignore glLightfv
+Ignore glLightfv
Ignore glLightModelf
Ignore glLightModelfv
Ignore glLightModelxv
@@ -444,20 +444,20 @@ Ignore glLightModelxvOES
Ignore glLightxv
Ignore glLightxvOES
Ignore glLinkProgram
-#Ignore glLoadIdentity
-#Ignore glLoadMatrixf
+Ignore glLoadIdentity
+Ignore glLoadMatrixf
Ignore glLogicOp
-#Ignore glMaterialf
-#Ignore glMaterialfv
+Ignore glMaterialf
+Ignore glMaterialfv
Ignore glMaterialxv
Ignore glMaterialxvOES
Ignore glMatrixIndexPointerOES
-#Ignore glMatrixMode
+Ignore glMatrixMode
Ignore glMultiTexCoord4f
-#Ignore glMultMatrixf
+Ignore glMultMatrixf
Ignore glNormal3f
-#Ignore glNormalPointer
-#Ignore glOrthof
+Ignore glNormalPointer
+Ignore glOrthof
Ignore glOrthofOES
Ignore glPointParameterf
Ignore glPointParameterfv
@@ -467,14 +467,14 @@ Ignore glPointSize
Ignore glPointSizePointer
Ignore glReleaseShaderCompiler
Ignore glRotatef
-#Ignore glScalef
-#Ignore glShadeModel
+Ignore glScalef
+Ignore glShadeModel
Ignore glShaderBinary
Ignore glShaderSource
Ignore glStencilFuncSeparate
Ignore glStencilMaskSeparate
Ignore glStencilOpSeparate
-#Ignore glTexCoordPointer
+Ignore glTexCoordPointer
Ignore glTexEnvf
Ignore glTexEnvfv
Ignore glTexEnvi
@@ -488,7 +488,7 @@ Ignore glTexGenivOES
Ignore glTexGenxvOES
Ignore glTexParameterxv
Ignore glTexParameterxvOES
-#Ignore glTranslatef
+Ignore glTranslatef
Ignore glUniform1f
Ignore glUniform1fv
Ignore glUniform1i
@@ -519,5 +519,5 @@ Ignore glVertexAttrib3fv
Ignore glVertexAttrib4f
Ignore glVertexAttrib4fv
Ignore glVertexAttribPointer
-#Ignore glVertexPointer
+Ignore glVertexPointer
Ignore glWeightPointerOES
diff --git a/make/gl-impl-CustomJavaCode-common.java b/make/gl-impl-CustomJavaCode-common.java
index 930f976ce..70413a630 100644
--- a/make/gl-impl-CustomJavaCode-common.java
+++ b/make/gl-impl-CustomJavaCode-common.java
@@ -22,3 +22,11 @@
return bufferStateTracker.getBoundBufferObject(target, this);
}
+ public boolean glIsVBOArrayEnabled() {
+ return checkArrayVBOEnabled(false);
+ }
+
+ public boolean glIsVBOElementEnabled() {
+ return checkElementVBOEnabled(false);
+ }
+
diff --git a/make/gl-impl-CustomJavaCode-gl2.java b/make/gl-impl-CustomJavaCode-gl2.java
index d9111f6b1..0d2f6676a 100644
--- a/make/gl-impl-CustomJavaCode-gl2.java
+++ b/make/gl-impl-CustomJavaCode-gl2.java
@@ -20,6 +20,10 @@ public GL2Impl(GLContextImpl context) {
this.bufferSizeTracker = context.getBufferSizeTracker();
}
+public final boolean isGL() {
+ return true;
+}
+
public final boolean isGL2() {
return true;
}
@@ -44,6 +48,10 @@ public final boolean isGL2ES2() {
return true;
}
+public final GL getGL() throws GLException {
+ return this;
+}
+
public final GL2 getGL2() throws GLException {
return this;
}
@@ -219,111 +227,129 @@ private void initBufferObjectExtensionChecks() {
haveARBVertexBufferObject = isExtensionAvailable("GL_ARB_vertex_buffer_object");
}
-private void checkBufferObject(boolean extension1,
- boolean extension2,
- boolean extension3,
- boolean enabled,
- int state,
- String kind) {
+private boolean checkBufferObject(boolean extension1,
+ boolean extension2,
+ boolean extension3,
+ boolean enabled,
+ int state,
+ String kind, boolean throwException) {
if (inBeginEndPair) {
throw new GLException("May not call this between glBegin and glEnd");
}
boolean avail = (extension1 || extension2 || extension3);
if (!avail) {
if (!enabled)
- return;
- throw new GLUnsupportedException("Required extensions not available to call this function");
+ return true;
+ if(throwException) {
+ throw new GLUnsupportedException("Required extensions not available to call this function");
+ }
+ return false;
}
int buffer = bufferStateTracker.getBoundBufferObject(state, this);
if (enabled) {
if (buffer == 0) {
- throw new GLException(kind + " must be enabled to call this method");
+ if(throwException) {
+ throw new GLException(kind + " must be enabled to call this method");
+ }
+ return false;
}
} else {
if (buffer != 0) {
- throw new GLException(kind + " must be disabled to call this method");
+ if(throwException) {
+ throw new GLException(kind + " must be disabled to call this method");
+ }
+ return false;
}
}
+ return true;
}
-private void checkArrayVBODisabled() {
+private boolean checkArrayVBODisabled(boolean throwException) {
initBufferObjectExtensionChecks();
- checkBufferObject(haveGL15,
+ return checkBufferObject(haveGL15,
haveARBVertexBufferObject,
false,
false,
GL.GL_ARRAY_BUFFER,
- "array vertex_buffer_object");
+ "array vertex_buffer_object", throwException);
}
-private void checkArrayVBOEnabled() {
+private boolean checkArrayVBOEnabled(boolean throwException) {
initBufferObjectExtensionChecks();
- checkBufferObject(haveGL15,
+ return checkBufferObject(haveGL15,
haveARBVertexBufferObject,
false,
true,
GL.GL_ARRAY_BUFFER,
- "array vertex_buffer_object");
+ "array vertex_buffer_object", throwException);
}
-private void checkElementVBODisabled() {
+private boolean checkElementVBODisabled(boolean throwException) {
initBufferObjectExtensionChecks();
- checkBufferObject(haveGL15,
+ return checkBufferObject(haveGL15,
haveARBVertexBufferObject,
false,
false,
GL.GL_ELEMENT_ARRAY_BUFFER,
- "element vertex_buffer_object");
+ "element vertex_buffer_object", throwException);
}
-private void checkElementVBOEnabled() {
+private boolean checkElementVBOEnabled(boolean throwException) {
initBufferObjectExtensionChecks();
- checkBufferObject(haveGL15,
+ return checkBufferObject(haveGL15,
haveARBVertexBufferObject,
false,
true,
GL.GL_ELEMENT_ARRAY_BUFFER,
- "element vertex_buffer_object");
+ "element vertex_buffer_object", throwException);
}
-private void checkUnpackPBODisabled() {
+private boolean checkUnpackPBODisabled(boolean throwException) {
initBufferObjectExtensionChecks();
- checkBufferObject(haveARBPixelBufferObject,
+ return checkBufferObject(haveARBPixelBufferObject,
haveEXTPixelBufferObject,
haveGL21,
false,
GL2.GL_PIXEL_UNPACK_BUFFER,
- "unpack pixel_buffer_object");
+ "unpack pixel_buffer_object", throwException);
}
-private void checkUnpackPBOEnabled() {
+private boolean checkUnpackPBOEnabled(boolean throwException) {
initBufferObjectExtensionChecks();
- checkBufferObject(haveARBPixelBufferObject,
+ return checkBufferObject(haveARBPixelBufferObject,
haveEXTPixelBufferObject,
haveGL21,
true,
GL2.GL_PIXEL_UNPACK_BUFFER,
- "unpack pixel_buffer_object");
+ "unpack pixel_buffer_object", throwException);
}
-private void checkPackPBODisabled() {
+private boolean checkPackPBODisabled(boolean throwException) {
initBufferObjectExtensionChecks();
- checkBufferObject(haveARBPixelBufferObject,
+ return checkBufferObject(haveARBPixelBufferObject,
haveEXTPixelBufferObject,
haveGL21,
false,
GL2.GL_PIXEL_PACK_BUFFER,
- "pack pixel_buffer_object");
+ "pack pixel_buffer_object", throwException);
}
-private void checkPackPBOEnabled() {
+private boolean checkPackPBOEnabled(boolean throwException) {
initBufferObjectExtensionChecks();
- checkBufferObject(haveARBPixelBufferObject,
+ return checkBufferObject(haveARBPixelBufferObject,
haveEXTPixelBufferObject,
haveGL21,
true,
GL2.GL_PIXEL_PACK_BUFFER,
- "pack pixel_buffer_object");
+ "pack pixel_buffer_object", throwException);
+}
+
+public boolean glIsPBOPackEnabled() {
+ return checkPackPBOEnabled(false);
+}
+
+public boolean glIsPBOUnpackEnabled() {
+ return checkUnpackPBOEnabled(false);
}
// Attempt to return the same ByteBuffer object from glMapBuffer if
@@ -395,33 +421,6 @@ native private long dispatch_glMapBuffer(int target, int access, long glProcAddr
// nothing to do
}
- public final String toString() {
- StringBuffer buf = new StringBuffer();
- buf.append("GL: ");
- buf.append(getClass().getName());
- buf.append(" (GLSL compiler: ");
- buf.append(glShaderCompilerAvailable());
- Set bfs = glGetShaderBinaryFormats();
- buf.append(", binary formats ");
- buf.append(bfs.size());
- buf.append(":");
- for(Iterator iter=bfs.iterator(); iter.hasNext(); ) {
- buf.append(" ");
- buf.append(((Integer)(iter.next())).intValue());
- }
- buf.append(") (GLContext: ");
- GLContext context = getContext();
- buf.append(context.getClass().getName());
- buf.append(", GLDrawable: ");
- GLDrawable drawable = context.getGLDrawable();
- buf.append(drawable.getClass().getName());
- buf.append(", Factory: ");
- GLDrawableFactory factory = drawable.getFactory();
- buf.append(factory.getClass().getName());
- buf.append(")");
- return buf.toString();
- }
-
public void glVertexPointer(GLArrayData array) {
if(array.getComponentNumber()==0) return;
if(array.isVBO()) {
diff --git a/make/gl-impl-CustomJavaCode-gl2_es2.java b/make/gl-impl-CustomJavaCode-gl2_es2.java
index ff1360aeb..855d1577d 100644
--- a/make/gl-impl-CustomJavaCode-gl2_es2.java
+++ b/make/gl-impl-CustomJavaCode-gl2_es2.java
@@ -205,35 +205,6 @@
shaders.rewind();
}
- public boolean glCreateLoadShader(IntBuffer shader, int shaderType,
- int binFormat, java.nio.Buffer bin,
- PrintStream verboseOut)
- {
- glGetError(); // flush previous errors ..
-
- glCreateShader(shaderType, shader);
-
- glShaderBinary(shader, binFormat, bin);
-
- return glGetError() == GL.GL_NO_ERROR;
- }
-
- public boolean glCreateCompileShader(IntBuffer shader, int shaderType,
- java.lang.String[][] sources,
- PrintStream verboseOut)
- {
- glGetError(); // flush previous errors ..
-
- glCreateShader(shaderType, shader);
-
- glShaderSource(shader, sources);
-
- glCompileShader(shader);
-
- return glIsShaderStatusValid(shader, GL_COMPILE_STATUS, verboseOut) &&
- glGetError() == GL.GL_NO_ERROR;
- }
-
public void glAttachShader(int program, IntBuffer shaders)
{
shaders.rewind();
@@ -321,3 +292,35 @@
}
}
+ public final String toString() {
+ StringBuffer buf = new StringBuffer();
+ buf.append("GL: ");
+ buf.append(getClass().getName());
+ buf.append(" (GLSL compiler: ");
+ buf.append(glShaderCompilerAvailable());
+ Set bfs = glGetShaderBinaryFormats();
+ buf.append(", binary formats ");
+ buf.append(bfs.size());
+ buf.append(":");
+ for(Iterator iter=bfs.iterator(); iter.hasNext(); ) {
+ buf.append(" ");
+ buf.append(((Integer)(iter.next())).intValue());
+ }
+ buf.append(") (GLContext: ");
+ GLContext context = getContext();
+ buf.append(context.getClass().getName());
+ buf.append(", GLDrawable: ");
+ GLDrawable drawable = context.getGLDrawable();
+ if(null!=drawable) {
+ buf.append(drawable.getClass().getName());
+ buf.append(", Factory: ");
+ GLDrawableFactory factory = drawable.getFactory();
+ buf.append(factory.getClass().getName());
+ } else {
+ buf.append("n/a");
+ }
+ buf.append(")");
+ return buf.toString();
+ }
+
+
diff --git a/make/gl-impl-CustomJavaCode-gl2es12.java b/make/gl-impl-CustomJavaCode-gl2es12.java
index 0eff40f08..5ce76186e 100644
--- a/make/gl-impl-CustomJavaCode-gl2es12.java
+++ b/make/gl-impl-CustomJavaCode-gl2es12.java
@@ -20,6 +20,10 @@ public GL2ES12Impl(GLContextImpl context) {
this.bufferSizeTracker = context.getBufferSizeTracker();
}
+public final boolean isGL() {
+ return false;
+}
+
public final boolean isGL2() {
return false;
}
@@ -44,6 +48,10 @@ public final boolean isGL2ES2() {
return true;
}
+public final GL getGL() throws GLException {
+ return this;
+}
+
public final GL2 getGL2() throws GLException {
throw new GLException("Not a GL2 implementation");
}
@@ -174,8 +182,6 @@ private GLBufferStateTracker bufferStateTracker = new GLBufferStateTracker();
private GLBufferSizeTracker bufferSizeTracker;
private boolean bufferObjectExtensionsInitialized = false;
-private boolean haveARBPixelBufferObject;
-private boolean haveEXTPixelBufferObject;
private boolean haveGL15;
private boolean haveGL21;
private boolean haveARBVertexBufferObject;
@@ -184,118 +190,106 @@ private void initBufferObjectExtensionChecks() {
if (bufferObjectExtensionsInitialized)
return;
bufferObjectExtensionsInitialized = true;
- haveARBPixelBufferObject = isExtensionAvailable("GL_ARB_pixel_buffer_object");
- haveEXTPixelBufferObject = isExtensionAvailable("GL_EXT_pixel_buffer_object");
haveGL15 = isExtensionAvailable("GL_VERSION_1_5");
haveGL21 = isExtensionAvailable("GL_VERSION_2_1");
haveARBVertexBufferObject = isExtensionAvailable("GL_ARB_vertex_buffer_object");
}
-private void checkBufferObject(boolean extension1,
- boolean extension2,
- boolean extension3,
- boolean enabled,
- int state,
- String kind) {
+private boolean checkBufferObject(boolean extension1,
+ boolean extension2,
+ boolean extension3,
+ boolean enabled,
+ int state,
+ String kind, boolean throwException) {
if (inBeginEndPair) {
throw new GLException("May not call this between glBegin and glEnd");
}
boolean avail = (extension1 || extension2 || extension3);
if (!avail) {
if (!enabled)
- return;
- throw new GLUnsupportedException("Required extensions not available to call this function");
+ return true;
+ if(throwException) {
+ throw new GLUnsupportedException("Required extensions not available to call this function");
+ }
+ return false;
}
int buffer = bufferStateTracker.getBoundBufferObject(state, this);
if (enabled) {
if (buffer == 0) {
- throw new GLException(kind + " must be enabled to call this method");
+ if(throwException) {
+ throw new GLException(kind + " must be enabled to call this method");
+ }
+ return false;
}
} else {
if (buffer != 0) {
- throw new GLException(kind + " must be disabled to call this method");
+ if(throwException) {
+ throw new GLException(kind + " must be disabled to call this method");
+ }
+ return false;
}
}
+ return true;
}
-private void checkArrayVBODisabled() {
+private boolean checkArrayVBODisabled(boolean throwException) {
initBufferObjectExtensionChecks();
- checkBufferObject(haveGL15,
+ return checkBufferObject(haveGL15,
haveARBVertexBufferObject,
false,
false,
GL.GL_ARRAY_BUFFER,
- "array vertex_buffer_object");
+ "array vertex_buffer_object", throwException);
}
-private void checkArrayVBOEnabled() {
+private boolean checkArrayVBOEnabled(boolean throwException) {
initBufferObjectExtensionChecks();
- checkBufferObject(haveGL15,
+ return checkBufferObject(haveGL15,
haveARBVertexBufferObject,
false,
true,
GL.GL_ARRAY_BUFFER,
- "array vertex_buffer_object");
+ "array vertex_buffer_object", throwException);
}
-private void checkElementVBODisabled() {
+private boolean checkElementVBODisabled(boolean throwException) {
initBufferObjectExtensionChecks();
- checkBufferObject(haveGL15,
+ return checkBufferObject(haveGL15,
haveARBVertexBufferObject,
false,
false,
GL.GL_ELEMENT_ARRAY_BUFFER,
- "element vertex_buffer_object");
+ "element vertex_buffer_object", throwException);
}
-private void checkElementVBOEnabled() {
+private boolean checkElementVBOEnabled(boolean throwException) {
initBufferObjectExtensionChecks();
- checkBufferObject(haveGL15,
+ return checkBufferObject(haveGL15,
haveARBVertexBufferObject,
false,
true,
GL.GL_ELEMENT_ARRAY_BUFFER,
- "element vertex_buffer_object");
+ "element vertex_buffer_object", throwException);
}
-private void checkUnpackPBODisabled() {
- initBufferObjectExtensionChecks();
- checkBufferObject(haveARBPixelBufferObject,
- haveEXTPixelBufferObject,
- haveGL21,
- false,
- GL2.GL_PIXEL_UNPACK_BUFFER,
- "unpack pixel_buffer_object");
+private boolean checkUnpackPBODisabled(boolean throwException) {
+ // PBO n/a for ES 1.1 or ES 2.0
+ return true;
}
-private void checkUnpackPBOEnabled() {
- initBufferObjectExtensionChecks();
- checkBufferObject(haveARBPixelBufferObject,
- haveEXTPixelBufferObject,
- haveGL21,
- true,
- GL2.GL_PIXEL_UNPACK_BUFFER,
- "unpack pixel_buffer_object");
+private boolean checkUnpackPBOEnabled(boolean throwException) {
+ // PBO n/a for ES 1.1 or ES 2.0
+ return false;
}
-private void checkPackPBODisabled() {
- initBufferObjectExtensionChecks();
- checkBufferObject(haveARBPixelBufferObject,
- haveEXTPixelBufferObject,
- haveGL21,
- false,
- GL2.GL_PIXEL_PACK_BUFFER,
- "pack pixel_buffer_object");
+private boolean checkPackPBODisabled(boolean throwException) {
+ // PBO n/a for ES 1.1 or ES 2.0
+ return true;
}
-private void checkPackPBOEnabled() {
- initBufferObjectExtensionChecks();
- checkBufferObject(haveARBPixelBufferObject,
- haveEXTPixelBufferObject,
- haveGL21,
- true,
- GL2.GL_PIXEL_PACK_BUFFER,
- "pack pixel_buffer_object");
+private boolean checkPackPBOEnabled(boolean throwException) {
+ // PBO n/a for ES 1.1 or ES 2.0
+ return false;
}
// Attempt to return the same ByteBuffer object from glMapBuffer if
@@ -367,33 +361,6 @@ native private long dispatch_glMapBuffer(int target, int access, long glProcAddr
// nothing to do
}
- public final String toString() {
- StringBuffer buf = new StringBuffer();
- buf.append("GL: ");
- buf.append(getClass().getName());
- buf.append(" (GLSL compiler: ");
- buf.append(glShaderCompilerAvailable());
- Set bfs = glGetShaderBinaryFormats();
- buf.append(", binary formats ");
- buf.append(bfs.size());
- buf.append(":");
- for(Iterator iter=bfs.iterator(); iter.hasNext(); ) {
- buf.append(" ");
- buf.append(((Integer)(iter.next())).intValue());
- }
- buf.append(") (GLContext: ");
- GLContext context = getContext();
- buf.append(context.getClass().getName());
- buf.append(", GLDrawable: ");
- GLDrawable drawable = context.getGLDrawable();
- buf.append(drawable.getClass().getName());
- buf.append(", Factory: ");
- GLDrawableFactory factory = drawable.getFactory();
- buf.append(factory.getClass().getName());
- buf.append(")");
- return buf.toString();
- }
-
public void glVertexPointer(GLArrayData array) {
if(array.getComponentNumber()==0) return;
if(array.isVBO()) {
diff --git a/make/gl-impl-CustomJavaCode-gles1.java b/make/gl-impl-CustomJavaCode-gles1.java
index b2c078518..8057262f9 100755
--- a/make/gl-impl-CustomJavaCode-gles1.java
+++ b/make/gl-impl-CustomJavaCode-gles1.java
@@ -3,6 +3,10 @@ public GLES1Impl(GLContextImpl context) {
this.bufferSizeTracker = context.getBufferSizeTracker();
}
+public final boolean isGL() {
+ return true;
+}
+
public final boolean isGL2() {
return false;
}
@@ -27,6 +31,10 @@ public final boolean isGL2ES2() {
return false;
}
+public final GL getGL() throws GLException {
+ return this;
+}
+
public final GL2 getGL2() throws GLException {
throw new GLException("Not a GL2 implementation");
}
@@ -148,99 +156,95 @@ private GLBufferSizeTracker bufferSizeTracker;
private boolean bufferObjectExtensionsInitialized = false;
private boolean haveOESFramebufferObject;
-private boolean haveOESPixelBufferObject;
private void initBufferObjectExtensionChecks() {
if (bufferObjectExtensionsInitialized)
return;
bufferObjectExtensionsInitialized = true;
haveOESFramebufferObject = isExtensionAvailable("GL_OES_framebuffer_object");
- haveOESPixelBufferObject = false; // FIXME: can't find it in ES 1.1 or ES 2.0 spec
}
-private void checkBufferObject(boolean avail,
- boolean enabled,
- int state,
- String kind) {
+private boolean checkBufferObject(boolean avail,
+ boolean enabled,
+ int state,
+ String kind, boolean throwException) {
if (!avail) {
if (!enabled)
- return;
- throw new GLUnsupportedException("Required extensions not available to call this function");
+ return true;
+ if(throwException) {
+ throw new GLUnsupportedException("Required extensions not available to call this function");
+ }
+ return false;
}
int buffer = bufferStateTracker.getBoundBufferObject(state, this);
if (enabled) {
if (buffer == 0) {
- throw new GLException(kind + " must be enabled to call this method");
+ if(throwException) {
+ throw new GLException(kind + " must be enabled to call this method");
+ }
+ return false;
}
} else {
if (buffer != 0) {
- throw new GLException(kind + " must be disabled to call this method");
+ if(throwException) {
+ throw new GLException(kind + " must be disabled to call this method");
+ }
+ return false;
}
}
+ return true;
}
-private void checkArrayVBODisabled() {
+private boolean checkArrayVBODisabled(boolean throwException) {
initBufferObjectExtensionChecks();
- checkBufferObject(true,
+ return checkBufferObject(true,
false,
GL.GL_ARRAY_BUFFER,
- "array vertex_buffer_object");
+ "array vertex_buffer_object", throwException);
}
-private void checkArrayVBOEnabled() {
+private boolean checkArrayVBOEnabled(boolean throwException) {
initBufferObjectExtensionChecks();
- checkBufferObject(true,
+ return checkBufferObject(true,
true,
GL.GL_ARRAY_BUFFER,
- "array vertex_buffer_object");
+ "array vertex_buffer_object", throwException);
}
-private void checkElementVBODisabled() {
+private boolean checkElementVBODisabled(boolean throwException) {
initBufferObjectExtensionChecks();
- checkBufferObject(true,
+ return checkBufferObject(true,
false,
GL.GL_ELEMENT_ARRAY_BUFFER,
- "element vertex_buffer_object");
+ "element vertex_buffer_object", throwException);
}
-private void checkElementVBOEnabled() {
+private boolean checkElementVBOEnabled(boolean throwException) {
initBufferObjectExtensionChecks();
- checkBufferObject(true,
+ return checkBufferObject(true,
true,
GL.GL_ELEMENT_ARRAY_BUFFER,
- "element vertex_buffer_object");
+ "element vertex_buffer_object", throwException);
}
-private void checkUnpackPBODisabled() {
- initBufferObjectExtensionChecks();
- checkBufferObject(haveOESPixelBufferObject,
- false,
- GL2.GL_PIXEL_UNPACK_BUFFER,
- "unpack pixel_buffer_object");
+private boolean checkUnpackPBODisabled(boolean throwException) {
+ // PBO n/a for ES 1.1 or ES 2.0
+ return true;
}
-private void checkUnpackPBOEnabled() {
- initBufferObjectExtensionChecks();
- checkBufferObject(haveOESPixelBufferObject,
- true,
- GL2.GL_PIXEL_UNPACK_BUFFER,
- "unpack pixel_buffer_object");
+private boolean checkUnpackPBOEnabled(boolean throwException) {
+ // PBO n/a for ES 1.1 or ES 2.0
+ return false;
}
-private void checkPackPBODisabled() {
- initBufferObjectExtensionChecks();
- checkBufferObject(haveOESPixelBufferObject,
- false,
- GL2.GL_PIXEL_PACK_BUFFER,
- "pack pixel_buffer_object");
+private boolean checkPackPBODisabled(boolean throwException) {
+ // PBO n/a for ES 1.1 or ES 2.0
+ return true;
}
-private void checkPackPBOEnabled() {
- initBufferObjectExtensionChecks();
- checkBufferObject(haveOESPixelBufferObject,
- true,
- GL2.GL_PIXEL_PACK_BUFFER,
- "pack pixel_buffer_object");
+private boolean checkPackPBOEnabled(boolean throwException) {
+ // PBO n/a for ES 1.1 or ES 2.0
+ return false;
}
// Attempt to return the same ByteBuffer object from glMapBufferARB if
@@ -307,10 +311,14 @@ native private long dispatch_glMapBuffer(int target, int access, long glProcAddr
buf.append(context.getClass().getName());
buf.append(", GLDrawable: ");
GLDrawable drawable = context.getGLDrawable();
- buf.append(drawable.getClass().getName());
- buf.append(", Factory: ");
- GLDrawableFactory factory = drawable.getFactory();
- buf.append(factory.getClass().getName());
+ if(null!=drawable) {
+ buf.append(drawable.getClass().getName());
+ buf.append(", Factory: ");
+ GLDrawableFactory factory = drawable.getFactory();
+ buf.append(factory.getClass().getName());
+ } else {
+ buf.append("n/a");
+ }
buf.append(")");
return buf.toString();
}
diff --git a/make/gl-impl-CustomJavaCode-gles2.java b/make/gl-impl-CustomJavaCode-gles2.java
index 33caa19b0..a5923bd3b 100755
--- a/make/gl-impl-CustomJavaCode-gles2.java
+++ b/make/gl-impl-CustomJavaCode-gles2.java
@@ -5,9 +5,12 @@ private boolean inBeginEndPair;
public GLES2Impl(GLContextImpl context) {
this._context = context;
this.bufferSizeTracker = context.getBufferSizeTracker();
- this.enableFixedFunctionEmulationMode(FIXED_EMULATION_MATRIX);
}
+public final boolean isGL() {
+ return true;
+}
+
public final boolean isGL2() {
return false;
}
@@ -32,6 +35,10 @@ public final boolean isGL2ES2() {
return true;
}
+public final GL getGL() throws GLException {
+ return this;
+}
+
public final GL2 getGL2() throws GLException {
throw new GLException("Not a GL2 implementation");
}
@@ -159,99 +166,95 @@ private GLBufferSizeTracker bufferSizeTracker;
private boolean bufferObjectExtensionsInitialized = false;
private boolean haveOESFramebufferObject;
-private boolean haveOESPixelBufferObject;
private void initBufferObjectExtensionChecks() {
if (bufferObjectExtensionsInitialized)
return;
bufferObjectExtensionsInitialized = true;
haveOESFramebufferObject = isExtensionAvailable("GL_OES_framebuffer_object");
- haveOESPixelBufferObject = false; // FIXME: can't find it in ES 1.1 or ES 2.0 spec
}
-private void checkBufferObject(boolean avail,
- boolean enabled,
- int state,
- String kind) {
+private boolean checkBufferObject(boolean avail,
+ boolean enabled,
+ int state,
+ String kind, boolean throwException) {
if (!avail) {
if (!enabled)
- return;
- throw new GLUnsupportedException("Required extensions not available to call this function");
+ return true;
+ if(throwException) {
+ throw new GLUnsupportedException("Required extensions not available to call this function");
+ }
+ return false;
}
int buffer = bufferStateTracker.getBoundBufferObject(state, this);
if (enabled) {
if (buffer == 0) {
- throw new GLException(kind + " must be enabled to call this method");
+ if(throwException) {
+ throw new GLException(kind + " must be enabled to call this method");
+ }
+ return false;
}
} else {
if (buffer != 0) {
- throw new GLException(kind + " must be disabled to call this method");
+ if(throwException) {
+ throw new GLException(kind + " must be disabled to call this method");
+ }
+ return false;
}
}
+ return true;
}
-private void checkArrayVBODisabled() {
+private boolean checkArrayVBODisabled(boolean throwException) {
initBufferObjectExtensionChecks();
- checkBufferObject(true,
+ return checkBufferObject(true,
false,
GL.GL_ARRAY_BUFFER,
- "array vertex_buffer_object");
+ "array vertex_buffer_object", throwException);
}
-private void checkArrayVBOEnabled() {
+private boolean checkArrayVBOEnabled(boolean throwException) {
initBufferObjectExtensionChecks();
- checkBufferObject(true,
+ return checkBufferObject(true,
true,
GL.GL_ARRAY_BUFFER,
- "array vertex_buffer_object");
+ "array vertex_buffer_object", throwException);
}
-private void checkElementVBODisabled() {
+private boolean checkElementVBODisabled(boolean throwException) {
initBufferObjectExtensionChecks();
- checkBufferObject(true,
+ return checkBufferObject(true,
false,
GL.GL_ELEMENT_ARRAY_BUFFER,
- "element vertex_buffer_object");
+ "element vertex_buffer_object", throwException);
}
-private void checkElementVBOEnabled() {
+private boolean checkElementVBOEnabled(boolean throwException) {
initBufferObjectExtensionChecks();
- checkBufferObject(true,
+ return checkBufferObject(true,
true,
GL.GL_ELEMENT_ARRAY_BUFFER,
- "element vertex_buffer_object");
+ "element vertex_buffer_object", throwException);
}
-private void checkUnpackPBODisabled() {
- initBufferObjectExtensionChecks();
- checkBufferObject(haveOESPixelBufferObject,
- false,
- GL2.GL_PIXEL_UNPACK_BUFFER,
- "unpack pixel_buffer_object");
+private boolean checkUnpackPBODisabled(boolean throwException) {
+ // PBO n/a for ES 1.1 or ES 2.0
+ return true;
}
-private void checkUnpackPBOEnabled() {
- initBufferObjectExtensionChecks();
- checkBufferObject(haveOESPixelBufferObject,
- true,
- GL2.GL_PIXEL_UNPACK_BUFFER,
- "unpack pixel_buffer_object");
+private boolean checkUnpackPBOEnabled(boolean throwException) {
+ // PBO n/a for ES 1.1 or ES 2.0
+ return false;
}
-private void checkPackPBODisabled() {
- initBufferObjectExtensionChecks();
- checkBufferObject(haveOESPixelBufferObject,
- false,
- GL2.GL_PIXEL_PACK_BUFFER,
- "pack pixel_buffer_object");
+private boolean checkPackPBODisabled(boolean throwException) {
+ // PBO n/a for ES 1.1 or ES 2.0
+ return true;
}
-private void checkPackPBOEnabled() {
- initBufferObjectExtensionChecks();
- checkBufferObject(haveOESPixelBufferObject,
- true,
- GL2.GL_PIXEL_PACK_BUFFER,
- "pack pixel_buffer_object");
+private boolean checkPackPBOEnabled(boolean throwException) {
+ // PBO n/a for ES 1.1 or ES 2.0
+ return false;
}
// Attempt to return the same ByteBuffer object from glMapBufferARB if
@@ -317,379 +320,3 @@ public void glDepthRange(double zNear, double zFar) {
glDepthRangef((float)zNear, (float)zFar);
}
-protected int fixedFunctionEmulationMode = 0;
-
-protected boolean fixedFunctionShaderActive=false;
-protected FixedFuncPipeline fixedFunction=null;
-
-protected boolean fixedFunctionMatrixEnabled=false;
-protected PMVMatrix pmvMatrix = null;
-
-public void enableFixedFunctionEmulationMode(int modes) {
- fixedFunctionEmulationMode|=modes;
-
- if( 0 != (modes & FIXED_EMULATION_MATRIX ) ) {
- if ( !fixedFunctionMatrixEnabled) {
- // setup ressources
- fixedFunctionMatrixEnabled=true;
-
- pmvMatrix = new PMVMatrix();
- }
- }
-
- if( 0 != (modes & FIXED_EMULATION_VERTEXCOLORTEXTURE ) ) {
- fixedFunctionShaderActive=true;
- if(null==fixedFunction) {
- fixedFunction = new FixedFuncPipeline(this, pmvMatrix);
- }
- }
-}
-
-public void disableFixedFunctionEmulationMode(int modes) {
- fixedFunctionEmulationMode&=~modes;
-
- if( 0 != (modes & FIXED_EMULATION_MATRIX ) ) {
- if ( fixedFunctionMatrixEnabled) {
- // release ressources
- fixedFunctionMatrixEnabled=false;
- pmvMatrix = null;
- }
- }
-
- // currently only for shader type: FIXED_EMULATION_VERTEXCOLORTEXTURE
- if( 0 != (modes & FIXED_EMULATION_VERTEXCOLORTEXTURE ) ) {
- if(null!=fixedFunction) {
- fixedFunction.release(this);
- }
- fixedFunctionShaderActive=false;
- }
-}
-
-public int getEnabledFixedFunctionEmulationModes() {
- return fixedFunctionEmulationMode;
-}
-
-public PMVMatrix getPMVMatrix() {
- return pmvMatrix;
-}
-
-public int glGetMatrixMode() {
- if(!fixedFunctionMatrixEnabled) {
- throw new GLUnsupportedException("not enabled");
- }
- return pmvMatrix.glGetMatrixMode();
-}
-public void glMatrixMode(int mode) {
- if(!fixedFunctionMatrixEnabled) {
- throw new GLUnsupportedException("not enabled");
- }
- pmvMatrix.glMatrixMode(mode);
-}
-public FloatBuffer glGetMatrixf(int matrixName) {
- if(!fixedFunctionMatrixEnabled) {
- throw new GLUnsupportedException("not enabled");
- }
- return pmvMatrix.glGetMatrixf(matrixName);
-}
-
-public FloatBuffer glGetMatrixf() {
- if(!fixedFunctionMatrixEnabled) {
- throw new GLUnsupportedException("not enabled");
- }
- return pmvMatrix.glGetMatrixf();
-}
-
-public void glLoadMatrixf(java.nio.FloatBuffer m) {
- if(!fixedFunctionMatrixEnabled) {
- throw new GLUnsupportedException("not enabled");
- }
- pmvMatrix.glLoadMatrixf(m);
-}
-public void glLoadMatrixf(float[] m, int m_offset) {
- glLoadMatrixf(BufferUtil.newFloatBuffer(m, m_offset));
-}
-public void glPopMatrix() {
- if(!fixedFunctionMatrixEnabled) {
- throw new GLUnsupportedException("not enabled");
- }
- pmvMatrix.glPopMatrix();
-}
-
-public void glPushMatrix() {
- if(!fixedFunctionMatrixEnabled) {
- throw new GLUnsupportedException("not enabled");
- }
- pmvMatrix.glPushMatrix();
-}
-
-public void glLoadIdentity() {
- if(!fixedFunctionMatrixEnabled) {
- throw new GLUnsupportedException("not enabled");
- }
- pmvMatrix.glLoadIdentity();
-}
-public void glMultMatrixf(java.nio.FloatBuffer m) {
- if(!fixedFunctionMatrixEnabled) {
- throw new GLUnsupportedException("not enabled");
- }
- pmvMatrix.glMultMatrixf(m);
-}
-public void glMultMatrixf(float[] m, int m_offset) {
- glMultMatrixf(BufferUtil.newFloatBuffer(m, m_offset));
-}
-public void glTranslatef(float x, float y, float z) {
- if(!fixedFunctionMatrixEnabled) {
- throw new GLUnsupportedException("not enabled");
- }
- pmvMatrix.glTranslatef(x, y, z);
-}
-public void glRotatef(float angdeg, float x, float y, float z) {
- if(!fixedFunctionMatrixEnabled) {
- throw new GLUnsupportedException("not enabled");
- }
- pmvMatrix.glRotatef(angdeg, x, y, z);
-}
-
-public void glScalef(float x, float y, float z) {
- if(!fixedFunctionMatrixEnabled) {
- throw new GLUnsupportedException("not enabled");
- }
- pmvMatrix.glScalef(x, y, z);
-}
-public void glOrthof(float left, float right, float bottom, float top, float zNear, float zFar) {
- if(!fixedFunctionMatrixEnabled) {
- throw new GLUnsupportedException("not enabled");
- }
- pmvMatrix.glOrthof(left, right, bottom, top, zNear, zFar);
-}
-public void glFrustumf(float left, float right, float bottom, float top, float zNear, float zFar) {
- if(!fixedFunctionMatrixEnabled) {
- throw new GLUnsupportedException("not enabled");
- }
- pmvMatrix.glFrustumf(left, right, bottom, top, zNear, zFar);
-}
-
-public void glEnableClientState(int glArrayIndex) {
- if(!fixedFunctionShaderActive) {
- throw new GLUnsupportedException("not enabled");
- }
- fixedFunction.glEnableClientState(this, glArrayIndex);
-}
-public void glDisableClientState(int glArrayIndex) {
- if(!fixedFunctionShaderActive) {
- throw new GLUnsupportedException("not enabled");
- }
- fixedFunction.glDisableClientState(this, glArrayIndex);
-}
-public void glColor4f(float red, float green, float blue, float alpha) {
- if(!fixedFunctionShaderActive) {
- throw new GLUnsupportedException("not enabled");
- }
- fixedFunction.glColor4fv(this, BufferUtil.newFloatBuffer(new float[] { red, green, blue, alpha }));
-}
-
-private final void glDrawArraysPrologue() {
- if(fixedFunctionShaderActive) {
- fixedFunction.validate(this);
- }
-}
-private final void glDrawArraysEpilogue() {
- //if(fixedFunctionShaderActive) {
- // fixedFunction.getShaderState().glUseProgram(this, false);
- //}
-}
-private final void glActiveTextureEpilog(int texture) {
- if(fixedFunctionShaderActive) {
- fixedFunction.glActiveTexture(this, texture);
- }
-}
-private final void glEnablePrologue(int cap, boolean enable) {
- if(fixedFunctionShaderActive) {
- fixedFunction.glEnable(this, cap, enable);
- }
-}
-private final void glCullFacePrologue(int faceName) {
- if(fixedFunctionShaderActive) {
- fixedFunction.glCullFace(this, faceName);
- }
-}
-public void glLightfv(int light, int pname, java.nio.FloatBuffer params) {
- if(!fixedFunctionShaderActive) {
- throw new GLUnsupportedException("not enabled");
- }
- fixedFunction.glLightfv(this, light, pname, params);
-}
-public void glLightfv(int light, int pname, float[] params, int params_offset) {
- glLightfv(light, pname, BufferUtil.newFloatBuffer(params, params_offset));
-}
-public void glMaterialfv(int face, int pname, java.nio.FloatBuffer params) {
- if(!fixedFunctionShaderActive) {
- throw new GLUnsupportedException("not enabled");
- }
- fixedFunction.glMaterialfv(this, face, pname, params);
-}
-public void glMaterialfv(int face, int pname, float[] params, int params_offset) {
- glMaterialfv(face, pname, BufferUtil.newFloatBuffer(params, params_offset));
-}
-public void glMaterialf(int face, int pname, float param) {
- glMaterialfv(face, pname, BufferUtil.newFloatBuffer(new float[] { param }));
-}
-public void glShadeModel(int mode) {
- if(!fixedFunctionShaderActive) {
- throw new GLUnsupportedException("not enabled");
- }
- fixedFunction.glShadeModel(this, mode);
-}
-
-public final String toString() {
- StringBuffer buf = new StringBuffer();
- buf.append("GL: ");
- buf.append(getClass().getName());
- buf.append(" (GLSL compiler: ");
- buf.append(glShaderCompilerAvailable());
- Set bfs = glGetShaderBinaryFormats();
- buf.append(", binary formats ");
- buf.append(bfs.size());
- buf.append(":");
- for(Iterator iter=bfs.iterator(); iter.hasNext(); ) {
- buf.append(" ");
- buf.append(((Integer)(iter.next())).intValue());
- }
- buf.append(") (GLContext: ");
- GLContext context = getContext();
- buf.append(context.getClass().getName());
- buf.append(", GLDrawable: ");
- GLDrawable drawable = context.getGLDrawable();
- buf.append(drawable.getClass().getName());
- buf.append(", Factory: ");
- GLDrawableFactory factory = drawable.getFactory();
- buf.append(factory.getClass().getName());
- buf.append(", fixedEmul: [ ");
- if( 0 != (fixedFunctionEmulationMode & FIXED_EMULATION_MATRIX) ) {
- buf.append("FIXED_EMULATION_MATRIX ");
- }
- if( 0 != (fixedFunctionEmulationMode & FIXED_EMULATION_VERTEXCOLORTEXTURE) ) {
- buf.append("FIXED_EMULATION_VERTEXCOLORTEXTURE ");
- }
- buf.append("], matrixEnabled: "+fixedFunctionMatrixEnabled);
- buf.append(", shaderActive: "+fixedFunctionShaderActive);
- if(null!=pmvMatrix) {
- buf.append(", matrixDirty: "+pmvMatrix.isDirty());
- }
- buf.append("\n\t, FixedFunction: "+fixedFunction);
- buf.append(" )");
-
- return buf.toString();
-}
-
-public void glVertexPointer(GLArrayData array) {
- if(!fixedFunctionShaderActive) {
- throw new GLUnsupportedException("Fixed function not enabled");
- }
- if(array.isVBO()) {
- checkArrayVBOEnabled();
- } else {
- checkArrayVBODisabled();
- BufferFactory.rangeCheck(array.getBuffer(), 1);
- if (!BufferFactory.isDirect(array.getBuffer())) {
- throw new GLException("Argument \"pointer\" was not a direct buffer"); }
- }
- fixedFunction.glVertexPointer(this, array);
-}
-public void glVertexPointer(int size, int type, int stride, java.nio.Buffer pointer) {
- glVertexPointer(GLArrayDataWrapper.createFixed(GL.GL_VERTEX_ARRAY, size, type, false, stride, pointer, 0, 0));
-}
-public void glVertexPointer(int size, int type, int stride, long pointer_buffer_offset) {
- int vboName = bufferStateTracker.getBoundBufferObject(GL.GL_ARRAY_BUFFER, this);
- if(vboName==0) {
- throw new GLException("no GL_ARRAY_BUFFER VBO bound");
- }
- glVertexPointer(GLArrayDataWrapper.createFixed(GL.GL_VERTEX_ARRAY, size, type, false,
- stride, null, vboName, pointer_buffer_offset));
-}
-
-public void glColorPointer(GLArrayData array) {
- if(!fixedFunctionShaderActive) {
- throw new GLUnsupportedException("Fixed function not enabled");
- }
- if(array.isVBO()) {
- checkArrayVBOEnabled();
- } else {
- checkArrayVBODisabled();
- BufferFactory.rangeCheck(array.getBuffer(), 1);
- if (!BufferFactory.isDirect(array.getBuffer())) {
- throw new GLException("Argument \"pointer\" was not a direct buffer"); }
- }
- fixedFunction.glColorPointer(this, array);
-}
-public void glColorPointer(int size, int type, int stride, java.nio.Buffer pointer) {
- glColorPointer(GLArrayDataWrapper.createFixed(GL.GL_COLOR_ARRAY, size, type, false,
- stride, pointer, 0, 0));
-}
-public void glColorPointer(int size, int type, int stride, long pointer_buffer_offset) {
- int vboName = bufferStateTracker.getBoundBufferObject(GL.GL_ARRAY_BUFFER, this);
- if(vboName==0) {
- throw new GLException("no GL_ARRAY_BUFFER VBO bound");
- }
- glColorPointer(GLArrayDataWrapper.createFixed(GL.GL_COLOR_ARRAY, size, type, false,
- stride, null, vboName, pointer_buffer_offset));
-}
-
-public void glNormalPointer(GLArrayData array) {
- if(!fixedFunctionShaderActive) {
- throw new GLUnsupportedException("Fixed function not enabled");
- }
- if(array.getComponentNumber()!=3) {
- throw new GLException("Only 3 components per normal allowed");
- }
- if(array.isVBO()) {
- checkArrayVBOEnabled();
- } else {
- checkArrayVBODisabled();
- BufferFactory.rangeCheck(array.getBuffer(), 1);
- if (!BufferFactory.isDirect(array.getBuffer())) {
- throw new GLException("Argument \"pointer\" was not a direct buffer"); }
- }
- fixedFunction.glNormalPointer(this, array);
-}
-public void glNormalPointer(int type, int stride, java.nio.Buffer pointer) {
- glNormalPointer(GLArrayDataWrapper.createFixed(GL.GL_NORMAL_ARRAY, 3, type, false,
- stride, pointer, 0, 0));
-}
-public void glNormalPointer(int type, int stride, long pointer_buffer_offset) {
- int vboName = bufferStateTracker.getBoundBufferObject(GL.GL_ARRAY_BUFFER, this);
- if(vboName==0) {
- throw new GLException("no GL_ARRAY_BUFFER VBO bound");
- }
- glNormalPointer(GLArrayDataWrapper.createFixed(GL.GL_NORMAL_ARRAY, 3, type, false,
- stride, null, vboName, pointer_buffer_offset));
-}
-
-public void glTexCoordPointer(GLArrayData array) {
- if(!fixedFunctionShaderActive) {
- throw new GLUnsupportedException("Fixed function not enabled");
- }
- if(array.isVBO()) {
- checkArrayVBOEnabled();
- } else {
- checkArrayVBODisabled();
- BufferFactory.rangeCheck(array.getBuffer(), 1);
- if (!BufferFactory.isDirect(array.getBuffer())) {
- throw new GLException("Argument \"pointer\" was not a direct buffer"); }
- }
- fixedFunction.glTexCoordPointer(this, array);
-}
-public void glTexCoordPointer(int size, int type, int stride, java.nio.Buffer pointer) {
- glTexCoordPointer(
- GLArrayDataWrapper.createFixed(GL.GL_TEXTURE_COORD_ARRAY, size, type, false, stride, pointer, 0,0));
-}
-public void glTexCoordPointer(int size, int type, int stride, long pointer_buffer_offset) {
- int vboName = bufferStateTracker.getBoundBufferObject(GL.GL_ARRAY_BUFFER, this);
- if(vboName==0) {
- throw new GLException("no GL_ARRAY_BUFFER VBO bound");
- }
- glTexCoordPointer(
- GLArrayDataWrapper.createFixed(GL.GL_TEXTURE_COORD_ARRAY, size, type, false,
- stride, null, vboName, pointer_buffer_offset) );
-}
-
diff --git a/make/glu-CustomJavaCode-base.java b/make/glu-CustomJavaCode-base.java
index bd20c1b18..272377ece 100755
--- a/make/glu-CustomJavaCode-base.java
+++ b/make/glu-CustomJavaCode-base.java
@@ -76,10 +76,16 @@ public boolean isFunctionAvailable(String gluFunctionName)
// Utility routines
//
+/**
+ * Instantiates a GLU implementation object in respect to the current GL profile.
+ */
public static final GLU createGLU() throws GLException {
return createGLU(GLProfile.getProfile());
}
+/**
+ * Instantiates a GLU implementation object in respect to the given GL profile.
+ */
public static final GLU createGLU(String profile) throws GLUnsupportedException {
try {
if(GLProfile.GL2.equals(profile)) {
@@ -93,11 +99,11 @@ public static final GLU createGLU(String profile) throws GLUnsupportedException
} catch (GLUnsupportedException e) { e.printStackTrace(); }
// There is no specialized ES 2 GLU at this time
/*
- try {
- if(GLProfile.GL2ES12.equals(profile) || GLProfile.GL2.equals(profile) || GLProfile.GLES2.equals(profile)) {
- return (GLU) GLReflection.createInstance("javax.media.opengl.glu.gl2es2.GLUgl2es2");
- }
- } catch (GLUnsupportedException e) { e.printStackTrace(); }
+ try {
+ if(GLProfile.GL2ES12.equals(profile) || GLProfile.GL2.equals(profile) || GLProfile.GLES2.equals(profile)) {
+ return (GLU) GLReflection.createInstance("javax.media.opengl.glu.gl2es2.GLUgl2es2");
+ }
+ } catch (GLUnsupportedException e) { e.printStackTrace(); }
*/
return new GLU();
}
@@ -1273,15 +1279,15 @@ public final void gluSphere(GLUquadric quad, double radius, int slices, int stac
private ProjectFloat project;
public void gluOrtho2D(float left, float right, float bottom, float top) {
- project.gluOrtho2D(getCurrentGL(), left, right, bottom, top);
+ project.gluOrtho2D(GLFixedFuncUtil.getCurrentGLFixedFuncIf(), left, right, bottom, top);
}
public void gluPerspective(float fovy, float aspect, float zNear, float zFar) {
- project.gluPerspective(getCurrentGL(), fovy, aspect, zNear, zFar);
+ project.gluPerspective(GLFixedFuncUtil.getCurrentGLFixedFuncIf(), fovy, aspect, zNear, zFar);
}
public void gluLookAt(float eyeX, float eyeY, float eyeZ, float centerX, float centerY, float centerZ, float upX, float upY, float upZ) {
- project.gluLookAt(getCurrentGL(), eyeX, eyeY, eyeZ, centerX, centerY, centerZ, upX, upY, upZ);
+ project.gluLookAt(GLFixedFuncUtil.getCurrentGLFixedFuncIf(), eyeX, eyeY, eyeZ, centerX, centerY, centerZ, upX, upY, upZ);
}
/** Interface to C language function: <br> <code> GLint gluProject(GLdouble objX, GLdouble objY, GLdouble objZ, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble * winX, GLdouble * winY, GLdouble * winZ); </code>
@@ -1327,23 +1333,23 @@ public boolean gluUnProject4(float winX, float winY, float winZ, float clipW, ja
}
public void gluPickMatrix(float x, float y, float delX, float delY, int[] viewport, int viewport_offset) {
- project.gluPickMatrix(getCurrentGL(), x, y, delX, delY, viewport, viewport_offset);
+ project.gluPickMatrix(GLFixedFuncUtil.getCurrentGLFixedFuncIf(), x, y, delX, delY, viewport, viewport_offset);
}
public void gluPickMatrix(float x, float y, float delX, float delY, java.nio.IntBuffer viewport) {
- project.gluPickMatrix(getCurrentGL(), x, y, delX, delY, viewport);
+ project.gluPickMatrix(GLFixedFuncUtil.getCurrentGLFixedFuncIf(), x, y, delX, delY, viewport);
}
public void gluOrtho2D(double left, double right, double bottom, double top) {
- project.gluOrtho2D(getCurrentGL(), (float)left, (float)right, (float)bottom, (float)top);
+ project.gluOrtho2D(GLFixedFuncUtil.getCurrentGLFixedFuncIf(), (float)left, (float)right, (float)bottom, (float)top);
}
public void gluPerspective(double fovy, double aspect, double zNear, double zFar) {
- project.gluPerspective(getCurrentGL(), (float)fovy, (float)aspect, (float)zNear, (float)zFar);
+ project.gluPerspective(GLFixedFuncUtil.getCurrentGLFixedFuncIf(), (float)fovy, (float)aspect, (float)zNear, (float)zFar);
}
public void gluLookAt(double eyeX, double eyeY, double eyeZ, double centerX, double centerY, double centerZ, double upX, double upY, double upZ) {
- project.gluLookAt(getCurrentGL(), (float)eyeX, (float)eyeY, (float)eyeZ, (float)centerX, (float)centerY, (float)centerZ, (float)upX, (float)upY, (float)upZ);
+ project.gluLookAt(GLFixedFuncUtil.getCurrentGLFixedFuncIf(), (float)eyeX, (float)eyeY, (float)eyeZ, (float)centerX, (float)centerY, (float)centerZ, (float)upX, (float)upY, (float)upZ);
}
/** Interface to C language function: <br> <code> GLint gluProject(GLdouble objX, GLdouble objY, GLdouble objZ, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble * winX, GLdouble * winY, GLdouble * winZ); </code>
@@ -1368,11 +1374,11 @@ public boolean gluUnProject4(double winX, double winY, double winZ, double clipW
}
public void gluPickMatrix(double x, double y, double delX, double delY, int[] viewport, int viewport_offset) {
- project.gluPickMatrix(getCurrentGL(), (float)x, (float)y, (float)delX, (float)delY, viewport, viewport_offset);
+ project.gluPickMatrix(GLFixedFuncUtil.getCurrentGLFixedFuncIf(), (float)x, (float)y, (float)delX, (float)delY, viewport, viewport_offset);
}
public void gluPickMatrix(double x, double y, double delX, double delY, IntBuffer viewport) {
- project.gluPickMatrix(getCurrentGL(), (float)x, (float)y, (float)delX, (float)delY, viewport);
+ project.gluPickMatrix(GLFixedFuncUtil.getCurrentGLFixedFuncIf(), (float)x, (float)y, (float)delX, (float)delY, viewport);
}
/**
diff --git a/make/glu-CustomJavaCode-gl2.java b/make/glu-CustomJavaCode-gl2.java
index b1d35532c..bb01871d7 100644
--- a/make/glu-CustomJavaCode-gl2.java
+++ b/make/glu-CustomJavaCode-gl2.java
@@ -34,6 +34,7 @@ public GLUgl2()
this.project = new ProjectDouble();
}
+
//----------------------------------------------------------------------
// Utility routines
//
diff --git a/make/glu-base.cfg b/make/glu-base.cfg
index 478803347..f67673a78 100755
--- a/make/glu-base.cfg
+++ b/make/glu-base.cfg
@@ -1,7 +1,7 @@
# This .cfg file is used to generate the GLU implementation for OpenGL ES 1.0,
# where it is pure Java.
-JavaOutputDir ../build/gensrc/classes
-NativeOutputDir ../build/gensrc/native/jogl
+JavaOutputDir gensrc/classes
+NativeOutputDir gensrc/native/jogl
Style ImplOnly
ImplPackage javax.media.opengl.glu
diff --git a/make/glu-common.cfg b/make/glu-common.cfg
index 988810b31..775655294 100644
--- a/make/glu-common.cfg
+++ b/make/glu-common.cfg
@@ -9,6 +9,8 @@ TagNativeBinding true
#
Import java.nio.*
Import javax.media.opengl.*
+Import javax.media.opengl.sub.*
+Import javax.media.opengl.sub.fixed.*
Import javax.media.opengl.glu.*
Import javax.media.opengl.util.*
Import com.sun.opengl.impl.*
diff --git a/make/glu-gl2.cfg b/make/glu-gl2.cfg
index 0ebf23258..699352145 100755
--- a/make/glu-gl2.cfg
+++ b/make/glu-gl2.cfg
@@ -1,7 +1,7 @@
# This .cfg file provides common options used among gl2 GLU glue code
# generated for Jogl on all platforms.
-JavaOutputDir ../build/gensrc/classes
-NativeOutputDir ../build/gensrc/native/jogl/gl2
+JavaOutputDir gensrc/classes
+NativeOutputDir gensrc/native/jogl/gl2
Style ImplOnly
ImplPackage javax.media.opengl.glu.gl2
diff --git a/make/glu-gl2es1.cfg b/make/glu-gl2es1.cfg
index 4a73f66c8..8927f96b9 100755
--- a/make/glu-gl2es1.cfg
+++ b/make/glu-gl2es1.cfg
@@ -1,7 +1,7 @@
# This .cfg file is used to generate the GLU implementation for OpenGL ES 1.0,
# where it is pure Java.
-JavaOutputDir ../build/gensrc/classes
-NativeOutputDir ../build/gensrc/native/jogl/gl2es1
+JavaOutputDir gensrc/classes
+NativeOutputDir gensrc/native/jogl/gl2es1
Style ImplOnly
ImplPackage javax.media.opengl.glu.gl2es1
diff --git a/make/glx-x11.cfg b/make/glx-x11.cfg
index 0b669805c..c668282cc 100644
--- a/make/glx-x11.cfg
+++ b/make/glx-x11.cfg
@@ -1,7 +1,7 @@
# This .cfg file is used to generate the interface to the GLX routines
# used internally by the X11GLContext implementation.
-JavaOutputDir ../build/gensrc/classes
-NativeOutputDir ../build/gensrc/native/jogl/X11
+JavaOutputDir gensrc/classes
+NativeOutputDir gensrc/native/jogl/X11
Package com.sun.opengl.impl.x11.glx
JavaClass GLX
diff --git a/make/glxext.cfg b/make/glxext.cfg
index 1e8b7bb44..1d46c569f 100755
--- a/make/glxext.cfg
+++ b/make/glxext.cfg
@@ -1,7 +1,7 @@
# This .cfg file is used to generate the interface and implementing
# class for the GLX extensions.
-JavaOutputDir ../build/gensrc/classes
-NativeOutputDir ../build/gensrc/native/jogl/X11
+JavaOutputDir gensrc/classes
+NativeOutputDir gensrc/native/jogl/X11
Package com.sun.opengl.impl.x11.glx
Style InterfaceAndImpl
@@ -9,7 +9,7 @@ JavaClass GLXExt
ImplPackage com.sun.opengl.impl.x11.glx
ImplJavaClass GLXExtImpl
-ExtendedInterfaceSymbols ../build/gensrc/classes/com/sun/opengl/impl/x11/glx/GLX.java
+ExtendedInterfaceSymbols ../build-temp/gensrc/classes/com/sun/opengl/impl/x11/glx/GLX.java
Include gl-common-gl2.cfg
Include gl-desktop.cfg
diff --git a/make/jawt-macosx.cfg b/make/jawt-macosx.cfg
index 5fe3a3cb8..a4495801c 100644
--- a/make/jawt-macosx.cfg
+++ b/make/jawt-macosx.cfg
@@ -3,8 +3,8 @@
Style AllStatic
Package com.sun.opengl.impl.jawt
JavaClass JAWTFactory
-JavaOutputDir ../build/gensrc/classes
-NativeOutputDir ../build/gensrc/native/jogl/MacOSX
+JavaOutputDir gensrc/classes
+NativeOutputDir gensrc/native/jogl/MacOSX
HierarchicalNativeOutput false
diff --git a/make/jawt-win32.cfg b/make/jawt-win32.cfg
index e3f4bb7eb..96b923a22 100644
--- a/make/jawt-win32.cfg
+++ b/make/jawt-win32.cfg
@@ -3,8 +3,8 @@
Style AllStatic
Package com.sun.opengl.impl.jawt
JavaClass JAWTFactory
-JavaOutputDir ../build/gensrc/classes
-NativeOutputDir ../build/gensrc/native/jogl/Windows
+JavaOutputDir gensrc/classes
+NativeOutputDir gensrc/native/jogl/Windows
HierarchicalNativeOutput false
diff --git a/make/jawt-x11.cfg b/make/jawt-x11.cfg
index 3f0d8a3ee..7f8a9d282 100644
--- a/make/jawt-x11.cfg
+++ b/make/jawt-x11.cfg
@@ -3,8 +3,8 @@
Style AllStatic
Package com.sun.opengl.impl.jawt
JavaClass JAWTFactory
-JavaOutputDir ../build/gensrc/classes
-NativeOutputDir ../build/gensrc/native/jogl/X11
+JavaOutputDir gensrc/classes
+NativeOutputDir gensrc/native/jogl/X11
HierarchicalNativeOutput false
diff --git a/make/make.jogl.all.linux-x86.sh b/make/make.jogl.all.linux-x86.sh
index d21d95886..cb0b44771 100644
--- a/make/make.jogl.all.linux-x86.sh
+++ b/make/make.jogl.all.linux-x86.sh
@@ -1,10 +1,11 @@
#! /bin/sh
-. ../../setenv-build-jogl.sh
+. ../../setenv-build-jogl-x86.sh
# -Dc.compiler.debug=true
ant -v \
+ -Drootrel.build=build-x86 \
-Dgluegen.cpptasks.detected.os=true \
-DisUnix=true \
-DisLinux=true \
diff --git a/make/wgl-win32.cfg b/make/wgl-win32.cfg
index d80963b71..d9035b3e6 100644
--- a/make/wgl-win32.cfg
+++ b/make/wgl-win32.cfg
@@ -1,7 +1,7 @@
# This .cfg file is used to generate the interface to the wgl routines
# used internally by the WindowsGLContext implementation.
-JavaOutputDir ../build/gensrc/classes
-NativeOutputDir ../build/gensrc/native/jogl/Windows
+JavaOutputDir gensrc/classes
+NativeOutputDir gensrc/native/jogl/Windows
Package com.sun.opengl.impl.windows.wgl
JavaClass WGL
diff --git a/make/wglext.cfg b/make/wglext.cfg
index fa269d9b0..21ad0936d 100644
--- a/make/wglext.cfg
+++ b/make/wglext.cfg
@@ -1,7 +1,7 @@
# This .cfg file is used to generate the interface and implementing
# class for the WGL extensions.
-JavaOutputDir ../build/gensrc/classes
-NativeOutputDir ../build/gensrc/native/jogl/Windows
+JavaOutputDir gensrc/classes
+NativeOutputDir gensrc/native/jogl/Windows
Package com.sun.opengl.impl.windows.wgl
Style InterfaceAndImpl
diff --git a/make/x11-lib.cfg b/make/x11-lib.cfg
index 54f1bc1c4..8313051b3 100644
--- a/make/x11-lib.cfg
+++ b/make/x11-lib.cfg
@@ -6,8 +6,8 @@ Style allstatic
HierarchicalNativeOutput false
-JavaOutputDir ../build/gensrc/classes
-NativeOutputDir ../build/gensrc/native/jogl/X11
+JavaOutputDir gensrc/classes
+NativeOutputDir gensrc/native/jogl/X11
# Imports needed by all glue code
Import java.nio.*