diff options
Diffstat (limited to 'make')
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.* |