summaryrefslogtreecommitdiffstats
path: root/make
diff options
context:
space:
mode:
Diffstat (limited to 'make')
-rwxr-xr-xmake/142-packages/package-list135
-rw-r--r--make/build-gluegen.xml8
-rw-r--r--make/build-staticglgen.xml6
-rw-r--r--make/build.xml201
-rw-r--r--make/cg-common.cfg51
-rw-r--r--make/cgl-macosx.cfg2
-rwxr-xr-xmake/cglext.cfg53
-rw-r--r--make/gl-cgl-macosx.cfg10
-rw-r--r--make/gl-common-macosx.cfg3
-rw-r--r--make/gl-common-win32.cfg3
-rw-r--r--make/gl-common-x11.cfg15
-rw-r--r--make/gl-common.cfg304
-rw-r--r--make/gl-glx-common.cfg85
-rw-r--r--make/gl-glx-x11.cfg14
-rw-r--r--make/gl-impl-CustomCCode.c70
-rw-r--r--make/gl-impl-CustomJavaCode.java136
-rw-r--r--make/gl-impl-macosx.cfg81
-rw-r--r--make/gl-impl-win32.cfg70
-rw-r--r--make/gl-impl-x11.cfg67
-rw-r--r--make/gl-macosx.cfg34
-rw-r--r--make/gl-wgl-win32.cfg10
-rw-r--r--make/gl-win32.cfg37
-rw-r--r--make/gl-x11.cfg40
-rw-r--r--make/glu-CustomJavaCode.java1457
-rw-r--r--make/glu-common.cfg193
-rw-r--r--make/glu-impl-common-CustomCCode.c833
-rw-r--r--make/glu-impl-common-CustomJavaCode.java1426
-rw-r--r--make/glu-impl-common.cfg22
-rw-r--r--make/glu-impl-win32-GLU13Hacks.cfg122
-rw-r--r--make/glu-interface-common-CustomJavaCode.java982
-rwxr-xr-x[-rw-r--r--]make/glu-macosx.cfg (renamed from make/glu-impl-macosx.cfg)2
-rwxr-xr-x[-rw-r--r--]make/glu-win32.cfg (renamed from make/glu-impl-win32.cfg)6
-rwxr-xr-x[-rw-r--r--]make/glu-x11.cfg (renamed from make/glu-impl-x11.cfg)3
-rw-r--r--make/glu.cfg9
-rw-r--r--make/glx-x11.cfg24
-rwxr-xr-xmake/glxext.cfg133
-rw-r--r--make/jawt-macosx.cfg6
-rw-r--r--make/jawt-win32.cfg6
-rw-r--r--make/jawt-x11.cfg6
-rwxr-xr-xmake/lib/cpptasks-cvs-040628.jarbin335649 -> 0 bytes
-rw-r--r--make/lib/cpptasks-patch.tar.gzbin0 -> 7743 bytes
-rwxr-xr-xmake/lib/cpptasks-version.txt4
-rw-r--r--make/stub_includes/cg/CG/cg.h236
-rw-r--r--make/stub_includes/cg/CG/cg_datatypes.h228
-rwxr-xr-xmake/stub_includes/cg/CG/cg_enums.h4
-rw-r--r--make/stub_includes/cg/CG/cg_errors.h67
-rw-r--r--make/stub_includes/cg/CG/cg_profiles.h1
-rwxr-xr-xmake/stub_includes/macosx/cglext.c1
-rwxr-xr-xmake/stub_includes/win32/wglext.c13
-rw-r--r--make/stub_includes/win32/windows.h1
-rw-r--r--make/stub_includes/win32/wingdi.h34
-rw-r--r--make/stub_includes/x11/glxext.c (renamed from make/stub_includes/common/gl-impl.c)9
-rwxr-xr-xmake/wgl-CustomCCode.c77
-rw-r--r--make/wglext.cfg58
-rw-r--r--make/wingdi-win32.cfg2
55 files changed, 3030 insertions, 4370 deletions
diff --git a/make/142-packages/package-list b/make/142-packages/package-list
new file mode 100755
index 000000000..fecd4d4ff
--- /dev/null
+++ b/make/142-packages/package-list
@@ -0,0 +1,135 @@
+java.applet
+java.awt
+java.awt.color
+java.awt.datatransfer
+java.awt.dnd
+java.awt.event
+java.awt.font
+java.awt.geom
+java.awt.im
+java.awt.im.spi
+java.awt.image
+java.awt.image.renderable
+java.awt.print
+java.beans
+java.beans.beancontext
+java.io
+java.lang
+java.lang.ref
+java.lang.reflect
+java.math
+java.net
+java.nio
+java.nio.channels
+java.nio.channels.spi
+java.nio.charset
+java.nio.charset.spi
+java.rmi
+java.rmi.activation
+java.rmi.dgc
+java.rmi.registry
+java.rmi.server
+java.security
+java.security.acl
+java.security.cert
+java.security.interfaces
+java.security.spec
+java.sql
+java.text
+java.util
+java.util.jar
+java.util.logging
+java.util.prefs
+java.util.regex
+java.util.zip
+javax.accessibility
+javax.crypto
+javax.crypto.interfaces
+javax.crypto.spec
+javax.imageio
+javax.imageio.event
+javax.imageio.metadata
+javax.imageio.plugins.jpeg
+javax.imageio.spi
+javax.imageio.stream
+javax.naming
+javax.naming.directory
+javax.naming.event
+javax.naming.ldap
+javax.naming.spi
+javax.net
+javax.net.ssl
+javax.print
+javax.print.attribute
+javax.print.attribute.standard
+javax.print.event
+javax.rmi
+javax.rmi.CORBA
+javax.security.auth
+javax.security.auth.callback
+javax.security.auth.kerberos
+javax.security.auth.login
+javax.security.auth.spi
+javax.security.auth.x500
+javax.security.cert
+javax.sound.midi
+javax.sound.midi.spi
+javax.sound.sampled
+javax.sound.sampled.spi
+javax.sql
+javax.swing
+javax.swing.border
+javax.swing.colorchooser
+javax.swing.event
+javax.swing.filechooser
+javax.swing.plaf
+javax.swing.plaf.basic
+javax.swing.plaf.metal
+javax.swing.plaf.multi
+javax.swing.table
+javax.swing.text
+javax.swing.text.html
+javax.swing.text.html.parser
+javax.swing.text.rtf
+javax.swing.tree
+javax.swing.undo
+javax.transaction
+javax.transaction.xa
+javax.xml.parsers
+javax.xml.transform
+javax.xml.transform.dom
+javax.xml.transform.sax
+javax.xml.transform.stream
+org.ietf.jgss
+org.omg.CORBA
+org.omg.CORBA.DynAnyPackage
+org.omg.CORBA.ORBPackage
+org.omg.CORBA.TypeCodePackage
+org.omg.CORBA.portable
+org.omg.CORBA_2_3
+org.omg.CORBA_2_3.portable
+org.omg.CosNaming
+org.omg.CosNaming.NamingContextExtPackage
+org.omg.CosNaming.NamingContextPackage
+org.omg.Dynamic
+org.omg.DynamicAny
+org.omg.DynamicAny.DynAnyFactoryPackage
+org.omg.DynamicAny.DynAnyPackage
+org.omg.IOP
+org.omg.IOP.CodecFactoryPackage
+org.omg.IOP.CodecPackage
+org.omg.Messaging
+org.omg.PortableInterceptor
+org.omg.PortableInterceptor.ORBInitInfoPackage
+org.omg.PortableServer
+org.omg.PortableServer.CurrentPackage
+org.omg.PortableServer.POAManagerPackage
+org.omg.PortableServer.POAPackage
+org.omg.PortableServer.ServantLocatorPackage
+org.omg.PortableServer.portable
+org.omg.SendingContext
+org.omg.stub.java.rmi
+org.w3c.dom
+org.xml.sax
+org.xml.sax.ext
+org.xml.sax.helpers
diff --git a/make/build-gluegen.xml b/make/build-gluegen.xml
index b9e522d3c..fb21071ef 100644
--- a/make/build-gluegen.xml
+++ b/make/build-gluegen.xml
@@ -27,12 +27,12 @@
</path>
<!-- The location of the GlueGen source and the C grammar files. -->
- <property name="gluegen" value="${src}/net/java/games/gluegen" />
+ <property name="gluegen" value="${src.java}/com/sun/gluegen" />
<property name="c.grammar" value="${gluegen}/cgram" />
<!-- The resulting location of the generated Java files from the
- C grammar via ANTLR. -->
- <property name="gluegen.build" value="${src.generated.java}/net/java/games/gluegen" />
+ <property name="gluegen.build" value="${src.generated.java}/com/sun/gluegen" />
<property name="generated.java.from.grammar" value="${gluegen.build}/cgram" />
</target>
@@ -89,7 +89,7 @@
- a separate task. -->
<javac destdir="${classes}" includes="**/gluegen/**" excludes="**/GlueGenTask.java"
source="1.4" debug="true" debuglevel="source,lines">
- <src path="${src}" />
+ <src path="${src.java}" />
<src path="${src.generated.java}" />
<classpath refid="antlr.classpath" />
</javac>
@@ -141,7 +141,7 @@
- NOTE: ONLY the GlueGenTask is built at this time. GlueGen
- itself is built in a separate task. -->
<javac destdir="${classes}" includes="**/GlueGenTask.java" source="1.4" debug="true" debuglevel="source,lines">
- <src path="${src}" />
+ <src path="${src.java}" />
<classpath refid="antlr.classpath" />
</javac>
diff --git a/make/build-staticglgen.xml b/make/build-staticglgen.xml
index 0f72bcfa7..9ef1147a3 100644
--- a/make/build-staticglgen.xml
+++ b/make/build-staticglgen.xml
@@ -17,7 +17,7 @@
-->
<target name="declare" description="Declare properties">
<!-- The location of the BuildStaticGLInfo source. -->
- <property name="static.gl.src" value="${src}/net/java/games/gluegen/opengl" />
+ <property name="static.gl.src" value="${src.java}/com/sun/gluegen/opengl" />
</target>
<!-- ================================================================== -->
@@ -29,7 +29,7 @@
<mkdir dir="${classes}" />
<!-- Compile BuildStaticGLInfo -->
- <javac srcdir="${src}" destdir="${classes}" includes="**/BuildStaticGLInfo.java" source="1.4" debug="true" debuglevel="source,lines">
+ <javac srcdir="${src.java}" destdir="${classes}" includes="**/BuildStaticGLInfo.java" source="1.4" debug="true" debuglevel="source,lines">
<classpath refid="antlr.classpath" />
</javac>
@@ -50,7 +50,7 @@
- NOTE: ONLY the StaticGLGen is built at this time. BuildStaticGLInfo
- itself is built in a separate task. -->
<javac destdir="${classes}" includes="**/StaticGLGenTask.java" source="1.4" debug="true" debuglevel="source,lines">
- <src path="${src}" />
+ <src path="${src.java}" />
<classpath refid="classpath" />
</javac>
diff --git a/make/build.xml b/make/build.xml
index ef72433f5..e9ad12c93 100644
--- a/make/build.xml
+++ b/make/build.xml
@@ -124,8 +124,8 @@
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 "/". -->
- <property name="rootrel.src" value="src" />
- <property name="rootrel.src.c.jogl" value="${rootrel.src}${sep}native${sep}jogl" />
+ <property name="rootrel.src.java" value="src${sep}classes" />
+ <property name="rootrel.src.c.jogl" value="src${sep}native${sep}jogl" />
<property name="rootrel.build" value="build" />
<property name="rootrel.src.generated" value="${rootrel.build}${sep}gensrc" />
<property name="rootrel.generated.java" value="${rootrel.src.generated}${sep}classes" />
@@ -136,19 +136,19 @@
<property name="rootrel.obj.cg" value="${rootrel.obj}${sep}jogl_cg" />
<!-- The source directories. -->
- <property name="src" value="${project.root}/${rootrel.src}" />
- <property name="src.c" value="${project.root}/${rootrel.src.c}" />
- <property name="build" value="${project.root}/${rootrel.build}" />
+ <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}" />
<!-- The generated source directories. -->
<property name="src.generated" value="${build}/gensrc" />
<property name="src.generated.java" value="${src.generated}/classes" />
- <property name="src.generated.java.cg" value="${src.generated}/classes/net/java/games/cg" />
+ <property name="src.generated.java.cg" value="${src.generated}/classes/com/sun/opengl/cg" />
<property name="src.generated.c" value="${src.generated}/native/jogl" />
<property name="src.generated.c.cg" value="${src.generated}/native/jogl_cg" />
<!-- The composable pipeline source files -->
<property name="src.generated.java.pipeline"
- value="net/java/games/jogl/DebugGL.java,net/java/games/jogl/TraceGL.java" />
+ value="javax/media/opengl/DebugGL.java,javax/media/opengl/TraceGL.java" />
<!-- The compiler output directories. -->
<property name="classes" value="${build}/classes" />
@@ -215,10 +215,10 @@
<property name="java.lib.dir.macosx" value="/System/Library/Frameworks/JavaVM.framework/Libraries" />
<property name="gl.headers" value="${stub.includes.dir}/opengl/**/*.h" /> <!-- NOTE: this MUST be relative for FileSet --> <!-- CHECK: this may need to be pruned for each platform -->
- <!-- Java files to exclude based on platform (relative to "src") -->
- <property name="java.excludes.win32" value="net/java/games/jogl/impl/x11/**, net/java/games/jogl/impl/macosx/**" />
- <property name="java.excludes.x11" value="net/java/games/jogl/impl/windows/**, net/java/games/jogl/impl/macosx/**" />
- <property name="java.excludes.macosx" value="net/java/games/jogl/impl/x11/**, net/java/games/jogl/impl/windows/**" />
+ <!-- Java files to exclude based on platform (relative to "src.java") -->
+ <property name="java.excludes.win32" value="com/sun/opengl/impl/x11/**, com/sun/opengl/impl/macosx/**" />
+ <property name="java.excludes.x11" value="com/sun/opengl/impl/windows/**, com/sun/opengl/impl/macosx/**" />
+ <property name="java.excludes.macosx" value="com/sun/opengl/impl/x11/**, com/sun/opengl/impl/windows/**" />
<!-- Create the classpath for that includes ANTLR and any already
- compiled classes. This requires the user-defined "antlr.jar"
@@ -236,11 +236,12 @@
<property name="javadoc" value="${project.root}/javadoc_public" />
<property name="javadoc.dev" value="${project.root}/javadoc_jogl_dev" />
<property name="javadoc.link" value="http://java.sun.com/j2se/1.4.2/docs/api/" />
- <property name="javadoc.packagenames" value="net.java.games.jogl,net.java.games.gluegen.runtime,net.java.games.jogl.util" />
- <property name="javadoc.dev.packagenames.win32" value="net.java.games.jogl.impl.windows" />
- <property name="javadoc.dev.packagenames.x11" value="net.java.games.jogl.impl.x11" />
- <property name="javadoc.dev.packagenames.macosx" value="net.java.games.jogl.impl.macosx" />
- <property name="javadoc.dev.packagenames" value="net.java.games.jogl,net.java.games.jogl.impl,net.java.games.jogl.util,net.java.games.gluegen" />
+ <property name="javadoc.windowtitle" value="JOGL API -- JSR-231 Early Draft Review Specification" />
+ <property name="javadoc.packagenames" value="javax.media.opengl,javax.media.opengl.glu,com.sun.opengl.utils" />
+ <property name="javadoc.dev.packagenames.win32" value="com.sun.opengl.impl.windows" />
+ <property name="javadoc.dev.packagenames.x11" value="com.sun.opengl.impl.x11" />
+ <property name="javadoc.dev.packagenames.macosx" value="com.sun.opengl.impl.macosx" />
+ <property name="javadoc.dev.packagenames" value="javax.media.opengl,javax.media.opengl.glu,com.sun.opengl.impl,com.sun.opengl.utils,com.sun.gluegen,com.sun.gluegen.runtime" />
</target>
@@ -251,18 +252,20 @@
<target name="declare.win32" depends="init">
<!-- Set platform configuration files. -->
<property name="gl.cfg" value="${config}/gl-win32.cfg" />
- <property name="gl.impl.cfg" value="${config}/gl-impl-win32.cfg" />
- <property name="glu.cfg" value="${config}/glu.cfg" />
- <property name="glu.impl.cfg" value="${config}/glu-impl-win32.cfg" />
+ <property name="glext.platform.cfg" value="${config}/wglext.cfg" />
+ <property name="glu.cfg" value="${config}/glu-win32.cfg" />
<property name="jawt.cfg" value="${config}/jawt-win32.cfg" />
<property name="window.cfg" value="${config}/wingdi-win32.cfg" />
+ <!-- Set platform headers. -->
+ <property name="glext.platform.header" value="${stub.includes.dir}/win32/wglext.c" />
+
<!-- Set platform directories. -->
<property name="stub.includes.platform" value="${stub.includes}/win32" />
<property name="java.includes.dir.platform" value="${java.includes.dir.win32}" />
<property name="java.lib.dir.platform" value="${java.lib.dir.win32}" />
<property name="java.excludes.platform" value="${java.excludes.win32}" />
- <property name="stub.includes.fileset.platform.params" value="${stub.includes.dir}/win32/** ${stub.includes.dir}/common/**" />
+ <property name="stub.includes.fileset.platform.params" value="${stub.includes.dir}/win32/** ${stub.includes.dir}/common/** ${stub.includes.dir}/opengl/**" />
<!-- Set Javadoc properties. -->
<property name="javadoc.dev.packagenames.platform" value="${javadoc.dev.packagenames.win32}" />
@@ -292,12 +295,14 @@
<target name="declare.x11" depends="init">
<!-- Set platform configuration files. -->
<property name="gl.cfg" value="${config}/gl-x11.cfg" />
- <property name="gl.impl.cfg" value="${config}/gl-impl-x11.cfg" />
- <property name="glu.cfg" value="${config}/glu.cfg" />
- <property name="glu.impl.cfg" value="${config}/glu-impl-x11.cfg" />
+ <property name="glext.platform.cfg" value="${config}/glxext.cfg" />
+ <property name="glu.cfg" value="${config}/glu-x11.cfg" />
<property name="jawt.cfg" value="${config}/jawt-x11.cfg" />
<property name="window.cfg" value="${config}/glx-x11.cfg" />
+ <!-- Set platform headers. -->
+ <property name="glext.platform.header" value="${stub.includes.dir}/x11/glxext.c" />
+
<!-- Set platform directories. -->
<property name="stub.includes.platform" value="${stub.includes.x11}" />
<property name="java.excludes.platform" value="${java.excludes.x11}" />
@@ -353,18 +358,20 @@
<target name="declare.macosx" depends="init">
<!-- Set platform configuration files. -->
<property name="gl.cfg" value="${config}/gl-macosx.cfg" />
- <property name="gl.impl.cfg" value="${config}/gl-impl-macosx.cfg" />
- <property name="glu.cfg" value="${config}/glu.cfg" />
- <property name="glu.impl.cfg" value="${config}/glu-impl-macosx.cfg" />
+ <property name="glext.platform.cfg" value="${config}/cglext.cfg" />
+ <property name="glu.cfg" value="${config}/glu-macosx.cfg" />
<property name="jawt.cfg" value="${config}/jawt-macosx.cfg" />
<property name="window.cfg" value="${config}/cgl-macosx.cfg" />
+ <!-- Set platform headers. -->
+ <property name="glext.platform.header" value="${stub.includes.dir}/macosx/cglext.c" />
+
<!-- Set platform directories. -->
<property name="stub.includes.platform" value="${stub.includes}/macosx" />
<property name="java.includes.dir.platform" value="${java.includes.dir.macosx}" />
<property name="java.lib.dir.platform" value="${java.lib.dir.macosx}" />
<property name="java.excludes.platform" value="${java.excludes.macosx}" />
- <property name="stub.includes.fileset.platform.params" value="${stub.includes.dir}/macosx/** ${stub.includes.dir}/common/**" />
+ <property name="stub.includes.fileset.platform.params" value="${stub.includes.dir}/macosx/** ${stub.includes.dir}/common/** ${stub.includes.dir}/opengl/**" />
<!-- Set Javadoc properties. -->
<property name="javadoc.dev.packagenames.platform" value="${javadoc.dev.packagenames.macosx}" />
@@ -424,7 +431,7 @@
<dependset>
<srcfileset refid="stub.includes.dependencies.fileset" />
<srcfileset dir=".">
- <include name="${classes}/net/java/games/gluegen/**/*.class" />
+ <include name="${classes}/com/sun/gluegen/**/*.class" />
</srcfileset>
<targetfileset dir=".">
<include name="${src.generated.java}/**/*.java" />
@@ -435,7 +442,7 @@
<!-- Now check for the presence of one well-known file -->
<uptodate property="java.generate.skip">
<srcfiles refid="stub.includes.dependencies.fileset" />
- <mapper type="merge" to="${src.generated.java}/net/java/games/jogl/GL.java" />
+ <mapper type="merge" to="${src.generated.java}/javax/media/opengl/GL.java" />
</uptodate>
</target>
@@ -455,56 +462,29 @@
</path>
<!-- Add the GlueGen and BuildStaticGLInfo tasks to ANT -->
- <taskdef name="gluegen" classname="net.java.games.gluegen.ant.GlueGenTask"
+ <taskdef name="gluegen" classname="com.sun.gluegen.ant.GlueGenTask"
classpathref="gen.classpath" />
- <taskdef name="staticglgen" classname="net.java.games.gluegen.ant.StaticGLGenTask"
+ <taskdef name="staticglgen" classname="com.sun.gluegen.ant.StaticGLGenTask"
classpathref="gen.classpath" />
<!-- Use the GlueGen and BuildStaticGLInfo tasks to generate the
- Java files -->
- <!-- Generate GL interface class -->
- <echo message="Generating GL interface class" />
+ <!-- Generate GL interface and implementation -->
+ <echo message="Generating GL interface and implementation" />
<gluegen src="${stub.includes.common}/gl.c"
config="${gl.cfg}"
includeRefid="stub.includes.fileset.all"
- emitter="net.java.games.gluegen.opengl.GLEmitter">
- <classpath refid="gen.classpath" />
- </gluegen>
-
- <!-- Generate GL implementation class -->
- <echo message="Generating GL implementation class" />
- <gluegen src="${stub.includes.common}/gl-impl.c"
- config="${gl.impl.cfg}"
- includeRefid="stub.includes.fileset.all"
- emitter="net.java.games.gluegen.opengl.GLEmitter">
+ emitter="com.sun.gluegen.opengl.GLEmitter">
<classpath refid="gen.classpath" />
</gluegen>
- <!-- Generate WGL interface class -->
- <echo message="Generating WGL interface class" />
- <gluegen src="${stub.includes.common}/gl-impl.c"
- config="${config}/gl-wgl-win32.cfg"
+ <!-- Generate platform-specific extension class (WGLExt, GLXExt, etc.) -->
+ <echo message="Generating platform-specific OpenGL extension class" />
+ <gluegen src="${glext.platform.header}"
+ config="${glext.platform.cfg}"
includeRefid="stub.includes.fileset.all"
- emitter="net.java.games.gluegen.opengl.GLEmitter">
- <classpath refid="gen.classpath" />
- </gluegen>
-
- <!-- Generate GLX interface class -->
- <echo message="Generating GLX interface class" />
- <gluegen src="${stub.includes.common}/gl-impl.c"
- config="${config}/gl-glx-x11.cfg"
- includeRefid="stub.includes.fileset.all"
- emitter="net.java.games.gluegen.opengl.GLEmitter">
- <classpath refid="gen.classpath" />
- </gluegen>
-
- <!-- Generate CGL interface class -->
- <echo message="Generating CGL interface class" />
- <gluegen src="${stub.includes.common}/gl-impl.c"
- config="${config}/gl-cgl-macosx.cfg"
- includeRefid="stub.includes.fileset.all"
- emitter="net.java.games.gluegen.opengl.GLEmitter">
+ emitter="com.sun.gluegen.opengl.GLEmitter">
<classpath refid="gen.classpath" />
</gluegen>
@@ -519,7 +499,7 @@
config="${jawt.cfg}"
literalInclude="${java.includes.dir}"
includeRefid="stub.includes.fileset.platform"
- emitter="net.java.games.gluegen.JavaEmitter">
+ emitter="com.sun.gluegen.JavaEmitter">
<classpath refid="gen.classpath" />
</gluegen>
@@ -528,33 +508,24 @@
<gluegen src="${stub.includes.platform}/window-system.c"
config="${window.cfg}"
includeRefid="stub.includes.fileset.platform"
- emitter="net.java.games.gluegen.opengl.GLEmitter">
+ emitter="com.sun.gluegen.opengl.GLEmitter">
<classpath refid="gen.classpath" />
</gluegen>
<!-- Generate StaticGLInfo class -->
<echo message="Generating StaticGLInfo class" />
- <staticglgen package="net.java.games.jogl.impl"
+ <staticglgen package="com.sun.opengl.impl"
headers="${gl.headers}"
- outputdir="${src.generated.java}/net/java/games/jogl/impl">
+ outputdir="${src.generated.java}/com/sun/opengl/impl">
<classpath refid="gen.classpath" />
</staticglgen>
- <!-- Generate GLU interface class -->
- <echo message="Generating GLU interface class" />
+ <!-- Generate GLU class -->
+ <echo message="Generating GLU class" />
<gluegen src="${stub.includes.common}/glu.c"
config="${glu.cfg}"
includeRefid="stub.includes.fileset.all"
- emitter="net.java.games.gluegen.opengl.GLEmitter">
- <classpath refid="gen.classpath" />
- </gluegen>
-
- <!-- Generate GLU implementation class -->
- <echo message="Generating GLU implementation class" />
- <gluegen src="${stub.includes.common}/glu-impl.c"
- config="${glu.impl.cfg}"
- includeRefid="stub.includes.fileset.all"
- emitter="net.java.games.gluegen.opengl.GLEmitter">
+ emitter="com.sun.gluegen.opengl.GLEmitter">
<classpath refid="gen.classpath" />
</gluegen>
@@ -579,7 +550,7 @@
<!-- Now check for the presence of one well-known file -->
<uptodate property="java.generate.cg.skip">
<srcfiles refid="stub.includes.cg.dependencies.fileset" />
- <mapper type="merge" to="${src.generated.java}/net/java/games/cg/CgGL.java" />
+ <mapper type="merge" to="${src.generated.java}/com/sun/opengl/cg/CgGL.java" />
</uptodate>
</target>
@@ -599,16 +570,16 @@
</path>
<!-- Add the GlueGen and BuildStaticGLInfo tasks to ANT -->
- <taskdef name="gluegen" classname="net.java.games.gluegen.ant.GlueGenTask"
+ <taskdef name="gluegen" classname="com.sun.gluegen.ant.GlueGenTask"
classpathref="gen.classpath" />
- <taskdef name="staticglgen" classname="net.java.games.gluegen.ant.StaticGLGenTask"
+ <taskdef name="staticglgen" classname="com.sun.gluegen.ant.StaticGLGenTask"
classpathref="gen.classpath" />
<!-- Generate CgGL interface class -->
<gluegen src="${stub.includes.common}/cg.c"
config="cg-common.cfg"
includeRefid="stub.includes.cg.fileset.all"
- emitter="net.java.games.gluegen.JavaEmitter">
+ emitter="com.sun.gluegen.JavaEmitter">
<classpath refid="gen.classpath" />
</gluegen>
</target>
@@ -621,28 +592,28 @@
<!-- 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}/net/java/games/jogl" files="GL.class" />
- <srcfilelist dir="${classes}/net/java/games/gluegen/opengl" files="BuildComposablePipeline.class" />
- <targetfileset dir="${src.generated.java}/net/java/games/jogl"
+ <srcfilelist dir="${classes}/javax/media/opengl" files="GL.class" />
+ <srcfilelist dir="${classes}/com/sun/gluegen/opengl" files="BuildComposablePipeline.class" />
+ <targetfileset dir="${src.generated.java}/javax/media/opengl"
includes="DebugGL.java,TraceGL.java" />
</dependset>
<!-- Now choose one of the two to test to see if we have to regenerate -->
<uptodate property="java.compile.composable.pipeline.skip"
- srcfile="${classes}/net/java/games/jogl/GL.class"
- targetfile="${src.generated.java}/net/java/games/jogl/DebugGL.java" />
+ srcfile="${classes}/javax/media/opengl/GL.class"
+ targetfile="${src.generated.java}/javax/media/opengl/DebugGL.java" />
</target>
<target name="java.compile.composable.pipeline" depends="java.compile.composable.pipeline.check" unless="java.compile.composable.pipeline.skip">
- <java classname="net.java.games.gluegen.opengl.BuildComposablePipeline" fork="yes">
- <arg value="net.java.games.jogl.GL" />
- <arg value="${src.generated.java}/net/java/games/jogl" />
+ <java classname="com.sun.gluegen.opengl.BuildComposablePipeline" fork="yes">
+ <arg value="javax.media.opengl.GL" />
+ <arg value="${src.generated.java}/javax/media/opengl" />
<classpath refid="antlr.classpath" />
</java>
<!-- Perform the second pass Java compile which compiles the composable pipelines. -->
<javac destdir="${classes}" includes="${src.generated.java.pipeline}" source="1.4" debug="true" debuglevel="source,lines">
- <src path="${src}" />
+ <src path="${src.java}" />
<src path="${src.generated.java}" />
<classpath refid="antlr.classpath" />
</javac>
@@ -657,8 +628,8 @@
<target name="java.compile" depends="java.generate,java.generate.cg">
<!-- Perform the first pass Java compile. -->
<javac destdir="${classes}"
- excludes="${java.excludes.platform},net/java/games/jogl/impl/nurbs/**" source="1.4" debug="true" debuglevel="source,lines">
- <src path="${src}" />
+ excludes="${java.excludes.platform},com/sun/opengl/impl/nurbs/**" source="1.4" debug="true" debuglevel="source,lines">
+ <src path="${src.java}" />
<src path="${src.generated.java}" />
<classpath refid="antlr.classpath" />
</javac>
@@ -917,9 +888,11 @@
<!-- Build the jar excluding any build specific classes. -->
<jar destfile="${jogl.jar}">
<fileset dir="${classes}">
- <include name="net/java/games/jogl/**" />
- <include name="net/java/games/gluegen/runtime/**" />
- <include name="net/java/games/cg/**" />
+ <include name="javax/media/opengl/**" />
+ <include name="com/sun/gluegen/runtime/**" />
+ <include name="com/sun/opengl/impl/**" />
+ <include name="com/sun/opengl/utils/**" />
+ <include name="com/sun/opengl/cg/**" />
</fileset>
</jar>
@@ -935,20 +908,20 @@
<target name="javadoc.nocg" depends="setup.java.home.dir,init" unless="jogl.cg">
<!-- Build the general Javadoc -->
<javadoc packagenames="${javadoc.packagenames}"
- sourcepath="${src};${src.generated.java}"
- destdir="${javadoc}" windowtitle="JOGL API"
+ sourcepath="${src.java};${src.generated.java}"
+ destdir="${javadoc}" windowtitle="${javadoc.windowtitle}"
source="1.4"
- link="${javadoc.link}" />
+ linkoffline="${javadoc.link} 142-packages" />
</target>
<!-- Same as above but with Cg directories added -->
<target name="javadoc.cg" depends="setup.java.home.dir,init" if="jogl.cg">
<!-- Build the general Javadoc -->
- <javadoc packagenames="${javadoc.packagenames},net.java.games.cg"
- sourcepath="${src};${src.generated.java}"
- destdir="${javadoc}" windowtitle="JOGL API"
+ <javadoc packagenames="${javadoc.packagenames},com.sun.opengl.cg"
+ sourcepath="${src.java};${src.generated.java}"
+ destdir="${javadoc}" windowtitle="${javadoc.windowtitle}"
source="1.4"
- link="${javadoc.link}" />
+ linkoffline="${javadoc.link} 142-packages" />
</target>
<target name="javadoc" depends="javadoc.nocg,javadoc.cg" />
@@ -956,20 +929,20 @@
<target name="javadoc.dev.nocg" depends="init" unless="jogl.cg">
<!-- Build the internal developer Javadoc -->
<javadoc packagenames="${javadoc.dev.packagenames},${javadoc.dev.packagenames.platform}"
- sourcepath="${src};${src.generated.java}"
- destdir="${javadoc.dev}" windowtitle="JOGL API"
+ sourcepath="${src.java};${src.generated.java}"
+ destdir="${javadoc.dev}" windowtitle="${javadoc.windowtitle}"
source="1.4"
- link="${javadoc.link}" />
+ linkoffline="${javadoc.link} 142-packages" />
</target>
<!-- Same as above but with Cg directories added -->
<target name="javadoc.dev.cg" depends="init" if="jogl.cg">
<!-- Build the internal developer Javadoc -->
- <javadoc packagenames="${javadoc.dev.packagenames},${javadoc.dev.packagenames.platform},net.java.games.cg"
- sourcepath="${src};${src.generated.java}"
- destdir="${javadoc.dev}" windowtitle="JOGL API"
+ <javadoc packagenames="${javadoc.dev.packagenames},${javadoc.dev.packagenames.platform},com.sun.opengl.cg"
+ sourcepath="${src.java};${src.generated.java}"
+ destdir="${javadoc.dev}" windowtitle="${javadoc.windowtitle}"
source="1.4"
- link="${javadoc.link}" />
+ linkoffline="${javadoc.link} 142-packages" />
</target>
<target name="javadoc.dev.win32" depends="setup.java.home.dir,declare.win32,javadoc.dev.nocg,javadoc.dev.cg" />
diff --git a/make/cg-common.cfg b/make/cg-common.cfg
index 2954538f6..4e42ceb48 100644
--- a/make/cg-common.cfg
+++ b/make/cg-common.cfg
@@ -1,44 +1,67 @@
# This .cfg file provides common options used among all Cg glue code
# generated for Jogl on all platforms.
-Package net.java.games.cg
-ImplPackage net.java.games.cg.impl
+Package com.sun.opengl.cg
JavaClass CgGL
Style AllStatic
JavaOutputDir ../build/gensrc/classes
NativeOutputDir ../build/gensrc/native/jogl_cg
HierarchicalNativeOutput false
-# Generate "flattened" NIO variants for routines taking C primitive
-# pointers that aren't of type void*
-NioMode ALL_POINTERS
-FlattenNIOVariants true
-
#
# Map const char* return values to Java strings for these functions
#
+ReturnsString cgGetAnnotationName
ReturnsString cgGetEnumString
ReturnsString cgGetErrorString
ReturnsString cgGetLastErrorString
ReturnsString cgGetLastListing
ReturnsString cgGetParameterName
ReturnsString cgGetParameterSemantic
+ReturnsString cgGetPassName
ReturnsString cgGetProfileString
ReturnsString cgGetProgramString
ReturnsString cgGetResourceString
+ReturnsString cgGetStateName
ReturnsString cgGetString
+ReturnsString cgGetStringAnnotationValue
+ReturnsString cgGetStringParameterValue
+ReturnsString cgGetStringStateAssignmentValue
+ReturnsString cgGetTechniqueName
ReturnsString cgGetTypeString
+ArgumentIsString cgAddStateEnumerant 1
+ArgumentIsString cgCreateArrayState 1
+ArgumentIsString cgCreateArraySamplerState 1
+ArgumentIsString cgCreateEffect 1 2
+ArgumentIsString cgCreateEffectFromFile 1 2
ArgumentIsString cgCreateProgram 2 4 5
ArgumentIsString cgCreateProgramFromFile 2 4 5
+ArgumentIsString cgCreateProgramFromEffect 2 3
+ArgumentIsString cgCreateSamplerState 1
+ArgumentIsString cgCreateState 1
+ArgumentIsString cgGetEffectParameterBySemantic 1
ArgumentIsString cgGetEnum 0
+ArgumentIsString cgGetNamedEffectParameter 1
ArgumentIsString cgGetNamedParameter 1
+ArgumentIsString cgGetNamedPass 1
ArgumentIsString cgGetNamedProgramParameter 2
+ArgumentIsString cgGetNamedSamplerState 1
+ArgumentIsString cgGetNamedState 1
+ArgumentIsString cgGetNamedSamplerStateAssignment 1
+ArgumentIsString cgGetNamedStateAssignment 1
ArgumentIsString cgGetNamedStructParameter 1
+ArgumentIsString cgGetNamedTechnique 1
+ArgumentIsString cgGetNamedTechniqueAnnotation 1
+ArgumentIsString cgGetNamedPassAnnotation 1
+ArgumentIsString cgGetNamedParameterAnnotation 1
+ArgumentIsString cgGetNamedProgramAnnotation 1
ArgumentIsString cgGetNamedUserType 1
ArgumentIsString cgGetProfile 0
ArgumentIsString cgGetType 0
ArgumentIsString cgGetResource 0
+ArgumentIsString cgSetLastListing 1
ArgumentIsString cgSetParameterSemantic 1
+ArgumentIsString cgSetStringParameterValue 1
# Opaque definitions
Opaque boolean CGbool
@@ -47,14 +70,26 @@ Opaque boolean CGbool
# FIXME!!!! Ignore these functions for now because we can't
# automatically handle C callbacks
#
-Ignore cgGetErrorCallback
Ignore cgSetErrorCallback
+Ignore cgGetErrorCallback
+Ignore cgSetErrorHandler
+Ignore cgGetErrorHandler
+Ignore cgSetStateCallbacks
+Ignore cgGetStateSetCallback
+Ignore cgGetStateResetCallback
+Ignore cgGetStateValidateCallback
#
# FIXME!!!! Ignore these functions for now because bugs in the
# emitter code can't handle them
#
Ignore cgGetParameterValues
+Ignore cgGetBooleanAnnotationValues
+Ignore cgGetBoolStateAssignmentValues
+Ignore cgGetFloatAnnotationValues
+Ignore cgGetFloatStateAssignmentValues
+Ignore cgGetIntAnnotationValues
+Ignore cgGetIntStateAssignmentValues
#
# Need to import New IO for Buffer classes
diff --git a/make/cgl-macosx.cfg b/make/cgl-macosx.cfg
index 1a963f135..ccf25e718 100644
--- a/make/cgl-macosx.cfg
+++ b/make/cgl-macosx.cfg
@@ -1,6 +1,6 @@
# This .cfg file is used to generate the interface to the CGL routines
# used internally by the MacOSXGLContext implementation.
-Package net.java.games.jogl.impl.macosx
+Package com.sun.opengl.impl.macosx
JavaOutputDir ..\build\gensrc\classes
NativeOutputDir ..\build\gensrc\native\jogl
JavaClass CGL
diff --git a/make/cglext.cfg b/make/cglext.cfg
new file mode 100755
index 000000000..74e7ac841
--- /dev/null
+++ b/make/cglext.cfg
@@ -0,0 +1,53 @@
+# This .cfg file is used to generate the interface and implementing
+# class for the CGL extensions.
+# 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.
+Package com.sun.opengl.impl.macosx
+Style InterfaceAndImpl
+JavaClass CGLExt
+ImplPackage com.sun.opengl.impl.macosx
+ImplJavaClass CGLExtImpl
+Include gl-common-macosx.cfg
+
+EmitProcAddressTable true
+ProcAddressTableClassName CGLExtProcAddressTable
+ContextVariableName _context
+
+# Ignore everything that doesn't start with cgl or CGL
+IgnoreNot ^(cgl|CGL).+
+
+CustomCCode #include <inttypes.h>
+CustomCCode #include <stdlib.h>
+
+CustomCCode /* Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in
+CustomCCode "glext.h" are parsed. */
+CustomCCode #define GL_GLEXT_PROTOTYPES
+
+CustomCCode /* Include the OpenGL headers */
+CustomCCode #include <GL/gl.h>
+
+CustomCCode #include </usr/include/machine/types.h>
+
+CustomCCode /* Provide Windows typedefs */
+CustomCCode typedef void* LPVOID;
+CustomCCode typedef unsigned int* PUINT;
+
+CustomJavaCode CGLExt public boolean isFunctionAvailable(String glFunctionName);
+CustomJavaCode CGLExt public boolean isExtensionAvailable(String glExtensionName);
+
+CustomJavaCode CGLExtImpl public CGLExtImpl(MacOSXGLContext context) {
+CustomJavaCode CGLExtImpl this._context = context;
+CustomJavaCode CGLExtImpl }
+
+CustomJavaCode CGLExtImpl public boolean isFunctionAvailable(String glFunctionName)
+CustomJavaCode CGLExtImpl {
+CustomJavaCode CGLExtImpl return _context.isFunctionAvailable(glFunctionName);
+CustomJavaCode CGLExtImpl }
+
+CustomJavaCode CGLExtImpl public boolean isExtensionAvailable(String glExtensionName)
+CustomJavaCode CGLExtImpl {
+CustomJavaCode CGLExtImpl return _context.isExtensionAvailable(glExtensionName);
+CustomJavaCode CGLExtImpl }
+
+CustomJavaCode CGLExtImpl private MacOSXGLContext _context;
diff --git a/make/gl-cgl-macosx.cfg b/make/gl-cgl-macosx.cfg
deleted file mode 100644
index 20653251a..000000000
--- a/make/gl-cgl-macosx.cfg
+++ /dev/null
@@ -1,10 +0,0 @@
-# This .cfg file is used to generate the interface which contains the
-# window system-specific extensions which are exposed (via
-# inheritance) to the GL interface.
-Package net.java.games.jogl
-Style InterfaceOnly
-JavaClass CGL
-Include gl-common-macosx.cfg
-
-# Ignore everything that doesn't start with cgl
-IgnoreNot ^(cgl|CGL).+
diff --git a/make/gl-common-macosx.cfg b/make/gl-common-macosx.cfg
index baeace1d7..f72775dd0 100644
--- a/make/gl-common-macosx.cfg
+++ b/make/gl-common-macosx.cfg
@@ -5,6 +5,3 @@ HierarchicalNativeOutput false
Include gl-common.cfg
JavaOutputDir ../build/gensrc/classes
NativeOutputDir ../build/gensrc/native/jogl
-
-Unimplemented wgl.+
-Unimplemented glX.+
diff --git a/make/gl-common-win32.cfg b/make/gl-common-win32.cfg
index 2ab42d4eb..1d2451270 100644
--- a/make/gl-common-win32.cfg
+++ b/make/gl-common-win32.cfg
@@ -5,6 +5,3 @@ HierarchicalNativeOutput false
Include gl-common.cfg
JavaOutputDir ../build/gensrc/classes
NativeOutputDir ../build/gensrc/native/jogl
-
-Unimplemented cgl.+
-Unimplemented glX.+
diff --git a/make/gl-common-x11.cfg b/make/gl-common-x11.cfg
index dcaeac4f2..63981cb2a 100644
--- a/make/gl-common-x11.cfg
+++ b/make/gl-common-x11.cfg
@@ -7,18 +7,3 @@ NativeOutputDir ../build/gensrc/native/jogl
# XID needs to be treated as a long for 32/64 bit compatibility
Opaque long XID
-
-# Get returned array's capacity from XGetVisualInfo to be correct
-TemporaryCVariableDeclaration XGetVisualInfo int count;
-TemporaryCVariableAssignment XGetVisualInfo count = _ptr3[0];
-ReturnValueCapacity XGetVisualInfo count * sizeof(XVisualInfo)
-ReturnedArrayLength XGetVisualInfo {3}[0]
-ReturnValueCapacity glXChooseVisual sizeof(XVisualInfo)
-ReturnValueCapacity glXGetVisualFromFBConfig sizeof(XVisualInfo)
-ReturnValueCapacity glXGetVisualFromFBConfigSGIX sizeof(XVisualInfo)
-# Elide the version of XGetVisualInfo taking a direct buffer for the third argument
-# (since we can't specify different glue code for different overloadings -- FIXME)
-NoNio XGetVisualInfo
-
-Unimplemented cgl.+
-Unimplemented wgl.+
diff --git a/make/gl-common.cfg b/make/gl-common.cfg
index 515b3726c..ab8af9e09 100644
--- a/make/gl-common.cfg
+++ b/make/gl-common.cfg
@@ -7,13 +7,13 @@ RuntimeExceptionType GLException
# Imports needed by all glue code
Import java.nio.*
Import java.util.*
-Import net.java.games.jogl.*
-Import net.java.games.jogl.impl.*
+Import javax.media.opengl.*
+Import com.sun.opengl.impl.*
-# Generate "flattened" NIO variants for routines taking C primitive
-# pointers that aren't of type void*
-NioMode ALL_POINTERS
-FlattenNIOVariants true
+# Inform the glue code generator of the association between #defines
+# and functions and the extensions in which they are defined
+GLHeader GL/gl.h
+GLHeader GL/glext.h
# Don't output #defines of GL version identifier strings as constants,
# because we don't need them java-side.
@@ -74,14 +74,6 @@ Ignore glUnmapObjectBufferATI
# Ignore some GL functions that have outgoing void** parameters; we cannot yet deal with them
Ignore glGetVariantPointervEXT
-# Some GL functions have multiple void* arguments but require them to
-# contain data of the same type; make sure that when bindings are
-# expanded those arguments have the same type.
-MirrorExpandedBindingArgs glSeparableFilter2D 6 7
-MirrorExpandedBindingArgs glSeparableFilter2DEXT 6 7
-MirrorExpandedBindingArgs glGetSeparableFilter 3 4
-MirrorExpandedBindingArgs glGetSeparableFilterEXT 3 4
-
# FIXME: these extensions require either a handle to a device context
# or take void** parameters or both. Until we think through the
# semantics of each of these individually we need to disable them.
@@ -120,6 +112,67 @@ Ignore wglAssociateImageBufferEventsI3D
Ignore wglReleaseImageBufferEventsI3D
#
+# IgnoreExtension directives
+#
+
+# Ignore extensions requiring persistent pointer-to-pointer storage as
+# there is no such thing as a direct "BufferBuffer"
+IgnoreExtension GL_IBM_vertex_array_lists
+IgnoreExtension GL_INTEL_parallel_arrays
+IgnoreExtension GL_SUN_triangle_list
+
+# Ignore extensions never approved by the ARB
+IgnoreExtension GL_EXT_coordinate_frame
+
+# Ignore discontinued extensions
+IgnoreExtension GL_NV_element_array
+
+# Ignore extensions subsumed in OpenGL 1.1 (from OpenGL 1.1 spec, Appendix C)
+IgnoreExtension GL_EXT_vertex_array
+IgnoreExtension GL_EXT_blend_logic_op
+IgnoreExtension GL_EXT_copy_texture
+IgnoreExtension GL_EXT_polygon_offset
+IgnoreExtension GL_EXT_subtexture
+IgnoreExtension GL_EXT_texture
+IgnoreExtension GL_EXT_texture_object
+
+# Ignore extensions subsumed in OpenGL 1.2 and 1.2.1 (from OpenGL 1.2.1 spec, Appendix D)
+IgnoreExtension GL_EXT_bgra
+IgnoreExtension GL_EXT_blend_color
+IgnoreExtension GL_EXT_blend_minmax
+IgnoreExtension GL_EXT_blend_subtract
+IgnoreExtension GL_EXT_color_subtable
+IgnoreExtension GL_EXT_convolution
+IgnoreExtension GL_EXT_draw_range_elements
+IgnoreExtension GL_EXT_histogram
+IgnoreExtension GL_EXT_packed_pixels
+# FIXME: is GL_EXT_paletted_texture also obsolete?
+IgnoreExtension GL_EXT_rescale_normal
+IgnoreExtension GL_EXT_separate_specular_color
+IgnoreExtension GL_EXT_texture3D
+IgnoreExtension GL_HP_convolution_border_modes
+IgnoreExtension GL_SGI_color_matrix
+IgnoreExtension GL_SGI_color_table
+IgnoreExtension GL_SGIS_texture_edge_clamp
+IgnoreExtension GL_SGIS_texture_lod
+
+# Ignore extensions subsumed in OpenGL 1.3 (from OpenGL 1.3 spec, Appendix F)
+IgnoreExtension GL_ARB_multisample
+IgnoreExtension GL_ARB_multitexture
+IgnoreExtension GL_ARB_texture_compression
+IgnoreExtension GL_ARB_texture_cube_map
+IgnoreExtension GL_ARB_texture_border_clamp
+IgnoreExtension GL_ARB_texture_env_add
+IgnoreExtension GL_ARB_texture_env_combine
+IgnoreExtension GL_ARB_texture_env_dot3
+IgnoreExtension GL_ARB_transpose_matrix
+IgnoreExtension GL_EXT_texture_cube_map
+IgnoreExtension GL_EXT_texture_env_add
+IgnoreExtension GL_EXT_texture_env_combine
+IgnoreExtension GL_EXT_texture_env_dot3
+IgnoreExtension GL_SGIS_texture_border_clamp
+
+#
# Opaques and other directives for platform-independent routines
#
@@ -127,51 +180,50 @@ Opaque boolean GLboolean
ReturnsString glGetString
#
-# NIOOnly directives for vertex arrays and other core routines
+# NIODirectOnly directives for vertex arrays and other core routines
#
-NIOOnly glColorPointer
-NIOOnly glEdgeFlagPointer
-NIOOnly glFeedbackBuffer
-NIOOnly glIndexPointer
-NIOOnly glNormalPointer
-NIOOnly glSelectBuffer
-NIOOnly glTexCoordPointer
-NIOOnly glVertexPointer
+NIODirectOnly glColorPointer
+NIODirectOnly glEdgeFlagPointer
+NIODirectOnly glFeedbackBuffer
+NIODirectOnly glIndexPointer
+NIODirectOnly glNormalPointer
+NIODirectOnly glSelectBuffer
+NIODirectOnly glTexCoordPointer
+NIODirectOnly glVertexPointer
#
# FIXME: we should probably be ignoring the "EXT" variants of these
#
-NIOOnly glColorPointerEXT
-NIOOnly glEdgeFlagPointerEXT
-NIOOnly glIndexPointerEXT
-NIOOnly glNormalPointerEXT
-NIOOnly glTexCoordPointerEXT
-NIOOnly glVertexPointerEXT
+NIODirectOnly glColorPointerEXT
+NIODirectOnly glEdgeFlagPointerEXT
+NIODirectOnly glIndexPointerEXT
+NIODirectOnly glNormalPointerEXT
+NIODirectOnly glTexCoordPointerEXT
+NIODirectOnly glVertexPointerEXT
#
-# NIOOnly directives for other extensions
+# NIODirectOnly directives for other extensions
#
-NIOOnly glBinormalPointerEXT
-NIOOnly glGetBufferSubDataARB
+NIODirectOnly glBinormalPointerEXT
+NIODirectOnly glGetBufferSubDataARB
# FIXME: should add way to restrict argument to be a direct ByteBuffer
-NIOOnly glGetProgramStringARB
-NIOOnly glElementPointerATI
-NIOOnly glElementPointerNV
-NIOOnly glFogCoordPointer
-NIOOnly glFogCoordPointerEXT
-NIOOnly glMatrixIndexPointerARB
-# NIOOnly glNewObjectBufferATI # FIXME: look up semantics of this routine
-NIOOnly glPixelDataRangeNV
-NIOOnly glSecondaryColorPointer
-NIOOnly glSecondaryColorPointerEXT
-NIOOnly glTangentPointerEXT
-# NIOOnly glUpdateObjectBufferATI # FIXME: look up semantics of this routine
-# NIOOnly glVariantPointerEXT # FIXME: look up semantics of this routine
-NIOOnly glVertexArrayRangeNV
-NIOOnly glVertexAttribPointerARB
-NIOOnly glVertexAttribPointerNV
-NIOOnly glVertexWeightPointerEXT
-NIOOnly glWeightPointerARB
-NIOOnly wglFreeMemoryNV
-NIOOnly glXFreeMemoryNV
+NIODirectOnly glGetProgramStringARB
+NIODirectOnly glElementPointerATI
+NIODirectOnly glElementPointerNV
+NIODirectOnly glElementPointerAPPLE
+NIODirectOnly glFogCoordPointer
+NIODirectOnly glFogCoordPointerEXT
+NIODirectOnly glMatrixIndexPointerARB
+NIODirectOnly glPixelDataRangeNV
+NIODirectOnly glSecondaryColorPointer
+NIODirectOnly glSecondaryColorPointerEXT
+NIODirectOnly glTangentPointerEXT
+NIODirectOnly glVertexArrayRangeNV
+NIODirectOnly glVertexArrayRangeApple
+NIODirectOnly glVertexAttribPointerARB
+NIODirectOnly glVertexAttribPointerNV
+NIODirectOnly glVertexWeightPointerEXT
+NIODirectOnly glWeightPointerARB
+NIODirectOnly wglFreeMemoryNV
+NIODirectOnly glXFreeMemoryNV
# Capacity of wglAllocateMemoryNV/glXAllocateMemoryNV return value is
# same as value of first argument
@@ -189,11 +241,96 @@ ArgumentIsString glProgramNamedParameter4fvNV 2
ArgumentIsString glProgramNamedParameter4dvNV 2
ArgumentIsString glGetProgramNamedParameterfvNV 2
ArgumentIsString glGetProgramNamedParameterdvNV 2
+ArgumentIsString glShaderSource 2
ArgumentIsString glShaderSourceARB 2
+ArgumentIsString glGetUniformLocation 1
ArgumentIsString glGetUniformLocationARB 1
+ArgumentIsString glBindAttribLocation 2
ArgumentIsString glBindAttribLocationARB 2
+ArgumentIsString glGetAttribLocation 1
ArgumentIsString glGetAttribLocationARB 1
+#
+# Directives for Vertex Buffer Object and Pixel Buffer Object checking
+#
+# NOTE: we currently don't emit glue code for some of these but
+# include them for completeness.
+#
+# FIXME: what about glMultiDrawElements? Do we want to add a VBO
+# variant for that, or simply add checks to the top of the current
+# implementation?
+#
+JavaPrologue glBegin inBeginEndPair = true;
+JavaEpilogue glEnd inBeginEndPair = false;
+BufferObjectKind UnpackPixel glBitmap
+BufferObjectKind UnpackPixel glColorTable
+BufferObjectKind UnpackPixel glColorSubTable
+BufferObjectKind UnpackPixel glCompressedTexImage1D
+BufferObjectKind UnpackPixel glCompressedTexImage1DARB
+BufferObjectKind UnpackPixel glCompressedTexImage2D
+BufferObjectKind UnpackPixel glCompressedTexImage2DARB
+BufferObjectKind UnpackPixel glCompressedTexImage3D
+BufferObjectKind UnpackPixel glCompressedTexImage3DARB
+BufferObjectKind UnpackPixel glCompressedTexSubImage1D
+BufferObjectKind UnpackPixel glCompressedTexSubImage1DARB
+BufferObjectKind UnpackPixel glCompressedTexSubImage2D
+BufferObjectKind UnpackPixel glCompressedTexSubImage2DARB
+BufferObjectKind UnpackPixel glCompressedTexSubImage3D
+BufferObjectKind UnpackPixel glCompressedTexSubImage3DARB
+BufferObjectKind UnpackPixel glConvolutionFilter1D
+BufferObjectKind UnpackPixel glConvolutionFilter2D
+BufferObjectKind UnpackPixel glDrawPixels
+BufferObjectKind UnpackPixel glPixelMapfv
+BufferObjectKind UnpackPixel glPixelMapuiv
+BufferObjectKind UnpackPixel glPixelMapusv
+BufferObjectKind UnpackPixel glPolygonStipple
+BufferObjectKind UnpackPixel glSeparableFilter2D
+BufferObjectKind UnpackPixel glTexImage1D
+BufferObjectKind UnpackPixel glTexImage2D
+BufferObjectKind UnpackPixel glTexImage3D
+BufferObjectKind UnpackPixel glTexSubImage1D
+BufferObjectKind UnpackPixel glTexSubImage2D
+BufferObjectKind UnpackPixel glTexSubImage3D
+
+BufferObjectKind PackPixel glGetColorTable
+BufferObjectKind PackPixel glGetCompressedTexImage
+BufferObjectKind PackPixel glGetCompressedTexImageARB
+BufferObjectKind PackPixel glGetConvolutionFilter
+BufferObjectKind PackPixel glGetHistogram
+BufferObjectKind PackPixel glGetMinmax
+BufferObjectKind PackPixel glGetPixelMapfv
+BufferObjectKind PackPixel glGetPixelMapuiv
+BufferObjectKind PackPixel glGetPixelMapusv
+BufferObjectKind PackPixel glGetPolygonStipple
+BufferObjectKind PackPixel glGetSeparableFilter
+BufferObjectKind PackPixel glGetTexImage
+BufferObjectKind PackPixel glReadPixels
+
+BufferObjectKind Array glColorPointer
+BufferObjectKind Array glEdgeFlagPointer
+BufferObjectKind Array glElementPointerATI
+BufferObjectKind Array glFogCoordPointer
+BufferObjectKind Array glFogCoordPointerEXT
+# The next one is problematic. It isn't discussed by the specs and
+# doesn't have any associated state.
+BufferObjectKind Array glInterleavedArrays
+BufferObjectKind Array glMatrixIndexPointerARB
+BufferObjectKind Array glNormalPointer
+BufferObjectKind Array glSecondaryColorPointer
+BufferObjectKind Array glSecondaryColorPointerEXT
+BufferObjectKind Array glTexCoordPointer
+BufferObjectKind Array glVariantPointerEXT
+BufferObjectKind Array glVertexPointer
+BufferObjectKind Array glVertexAttribPointer
+BufferObjectKind Array glVertexAttribPointerARB
+BufferObjectKind Array glVertexAttribPointerNV
+BufferObjectKind Array glVertexWeightPointerEXT
+BufferObjectKind Array glWeightPointerARB
+
+BufferObjectKind Element glDrawElements
+BufferObjectKind Element glDrawRangeElements
+BufferObjectKind Element glDrawRangeElementsEXT
+
# Javadoc for the GL class
ClassJavadoc GL /**
ClassJavadoc GL * <P> The basic interface to OpenGL, providing access to core
@@ -220,25 +357,16 @@ ClassJavadoc GL * However, in this case it is up to the end user to know which
ClassJavadoc GL * routines or functionality are associated with which OpenGL
ClassJavadoc GL * extensions.
ClassJavadoc GL *
-ClassJavadoc GL * <P> Access to window system-specific extensions is provided through
-ClassJavadoc GL * the {@link WGL} and {@link GLX} interfaces. However, most of these
-ClassJavadoc GL * extensions require access to low-level window system data
-ClassJavadoc GL * structures which are not exposed by this binding, and are therefore
-ClassJavadoc GL * not useful. Calling one particular window system's extension on
-ClassJavadoc GL * another platform will cause a {@link GLException} to be raised
-ClassJavadoc GL * indicating the routine is unimplemented on the current platform.
-ClassJavadoc GL * </P>
-ClassJavadoc GL *
ClassJavadoc GL * <P> Exceptions to the window system extension naming rules:
ClassJavadoc GL *
ClassJavadoc GL * <UL>
ClassJavadoc GL *
-ClassJavadoc GL * <LI> The NVidia vertex_array_range (VAR) extension, in particular {@link
-ClassJavadoc GL * WGL#wglAllocateMemoryNV} / {@link GLX#glXAllocateMemoryNV} and
-ClassJavadoc GL * associated routines. {@link #glAllocateMemoryNV} has been provided
-ClassJavadoc GL * for window system-independent access to VAR. {@link
-ClassJavadoc GL * #isFunctionAvailable} will translate an argument of
-ClassJavadoc GL * "glAllocateMemoryNV" or "glFreeMemoryNV" into the appropriate
+ClassJavadoc GL * <LI> The memory allocators for the NVidia vertex_array_range (VAR)
+ClassJavadoc GL * extension, in particular <code>wglAllocateMemoryNV</code> /
+ClassJavadoc GL * <code>glXAllocateMemoryNV</code> and associated routines. {@link
+ClassJavadoc GL * #glAllocateMemoryNV} has been provided for window system-independent
+ClassJavadoc GL * access to VAR. {@link #isFunctionAvailable} will translate an argument
+ClassJavadoc GL * of "glAllocateMemoryNV" or "glFreeMemoryNV" into the appropriate
ClassJavadoc GL * window system-specific name. </P>
ClassJavadoc GL *
ClassJavadoc GL * <LI> WGL_ARB_pbuffer, WGL_ARB_pixel_format, and other
@@ -320,11 +448,11 @@ CustomJavaCode GL * depth of the display). Any application that is concerned
CustomJavaCode GL * these situations correctly should confirm availability after a display
CustomJavaCode GL * change before calling a questionable OpenGL function. To detect a change in
CustomJavaCode GL * the display device, please see {@link
-CustomJavaCode GL * GLEventListener#displayChanged(GLDrawable,boolean,boolean)}.
+CustomJavaCode GL * GLEventListener#displayChanged(GLAutoDrawable,boolean,boolean)}.
CustomJavaCode GL *
CustomJavaCode GL * @param glFunctionName the name of the OpenGL function (e.g., use
-CustomJavaCode GL * "glPolygonOffsetEXT" to check if the {@link
-CustomJavaCode GL * #glPolygonOffsetEXT(float,float)} is available).
+CustomJavaCode GL * "glBindRenderbufferEXT" to check if {@link
+CustomJavaCode GL * #glBindRenderbufferEXT(int,int)} is available).
CustomJavaCode GL */
CustomJavaCode GL public boolean isFunctionAvailable(String glFunctionName);
@@ -339,8 +467,8 @@ CustomJavaCode GL */
CustomJavaCode GL public boolean isExtensionAvailable(String glExtensionName);
CustomJavaCode GL /**
-CustomJavaCode GL * Provides platform-independent access to the {@link WGL#wglAllocateMemoryNV} /
-CustomJavaCode GL * {@link GLX#glXAllocateMemoryNV} extension.
+CustomJavaCode GL * Provides platform-independent access to the <code>wglAllocateMemoryNV</code> /
+CustomJavaCode GL * <code>glXAllocateMemoryNV</code> extension.
CustomJavaCode GL */
CustomJavaCode GL public java.nio.ByteBuffer glAllocateMemoryNV(int arg0, float arg1, float arg2, float arg3);
@@ -354,6 +482,38 @@ CustomJavaCode GL have an effect, and in particular only affects heavyweig
CustomJavaCode GL onscreen components. */
CustomJavaCode GL public void setSwapInterval(int interval);
+CustomJavaCode GL /**
+CustomJavaCode GL * Returns an object through which platform-specific OpenGL extensions
+CustomJavaCode GL * (WGL, GLX, etc.) may be accessed. The data type of the returned
+CustomJavaCode GL * object and its associated capabilities are undefined. Most
+CustomJavaCode GL * applications will never need to call this method. It is highly
+CustomJavaCode GL * recommended that any applications which do call this method perform
+CustomJavaCode GL * all accesses on the returned object reflectively to guard
+CustomJavaCode GL * themselves against changes to the implementation.
+CustomJavaCode GL */
+CustomJavaCode GL public Object getPlatformGLExtensions();
+
+CustomJavaCode GL /**
+CustomJavaCode GL * Returns an object providing access to the specified OpenGL
+CustomJavaCode GL * extension. This is intended to provide a mechanism for vendors who
+CustomJavaCode GL * which to provide access to new OpenGL extensions without changing
+CustomJavaCode GL * the public API of the core package. For example, a user may request
+CustomJavaCode GL * access to extension "GL_VENDOR_foo" and receive back an object
+CustomJavaCode GL * which implements a vendor-specified interface which can call the
+CustomJavaCode GL * OpenGL extension functions corresponding to that extension. It is
+CustomJavaCode GL * up to the vendor to specify both the extension name and Java API
+CustomJavaCode GL * for accessing it, including which class or interface contains the
+CustomJavaCode GL * functions.
+CustomJavaCode GL *
+CustomJavaCode GL * <P>
+CustomJavaCode GL *
+CustomJavaCode GL * Note: it is the intent to add new extensions as quickly as possible
+CustomJavaCode GL * to the core GL API. Therefore it is unlikely that most vendors will
+CustomJavaCode GL * use this extension mechanism, but it is being provided for
+CustomJavaCode GL * completeness.
+CustomJavaCode GL */
+CustomJavaCode GL public Object getExtension(String extensionName);
+
#
# Directives needed when processing wglext.h on Windows and other platforms
#
diff --git a/make/gl-glx-common.cfg b/make/gl-glx-common.cfg
deleted file mode 100644
index a613149bc..000000000
--- a/make/gl-glx-common.cfg
+++ /dev/null
@@ -1,85 +0,0 @@
-# This .cfg file causes the core GLX routines to be ignored from both
-# the public API as well as from the GL implementation files on
-# non-X11 platforms.
-
-# Ignore all of the core GLX routines, which are exposed only in the
-# implementation GLX class
-Ignore glXChooseVisual
-Ignore glXCreateContext
-Ignore glXDestroyContext
-Ignore glXMakeCurrent
-Ignore glXCopyContext
-Ignore glXSwapBuffers
-Ignore glXCreateGLXPixmap
-Ignore glXDestroyGLXPixmap
-Ignore glXQueryExtension
-Ignore glXQueryVersion
-Ignore glXIsDirect
-Ignore glXGetConfig
-Ignore glXGetCurrentContext
-Ignore glXGetCurrentDrawable
-Ignore glXWaitGL
-Ignore glXWaitX
-Ignore glXUseXFont
-Ignore glXQueryExtensionsString
-Ignore glXQueryServerString
-Ignore glXGetClientString
-Ignore glXGetCurrentDisplay
-Ignore glXChooseFBConfig
-Ignore glXGetFBConfigAttrib
-Ignore glXGetFBConfigs
-Ignore glXGetVisualFromFBConfig
-Ignore glXCreateWindow
-Ignore glXDestroyWindow
-Ignore glXCreatePixmap
-Ignore glXDestroyPixmap
-Ignore glXCreatePbuffer
-Ignore glXDestroyPbuffer
-Ignore glXQueryDrawable
-Ignore glXCreateNewContext
-Ignore glXMakeContextCurrent
-Ignore glXGetCurrentReadDrawable
-Ignore glXQueryContext
-Ignore glXSelectEvent
-Ignore glXGetSelectedEvent
-Ignore glXGetProcAddress
-
-# Ignore a few extensions that bring in data types we don't want to
-# expose in the public API (and that are useless anyway without
-# exposing more of the implementation)
-Ignore glXGetFBConfigAttribSGIX
-Ignore glXChooseFBConfigSGIX
-Ignore glXCreateGLXPixmapWithConfigSGIX
-Ignore glXCreateContextWithConfigSGIX
-Ignore glXGetVisualFromFBConfigSGIX
-Ignore glXGetFBConfigFromVisualSGIX
-Ignore glXCreateGLXPbufferSGIX
-Ignore glXDestroyGLXPbufferSGIX
-Ignore glXQueryGLXPbufferSGIX
-Ignore glXSelectEventSGIX
-Ignore glXGetSelectedEventSGIX
-Ignore glXCreateGLXPixmapMESA
-
-# Now we can ignore the GLXFBConfig and XVisualInfo data types in the
-# public API on all platforms
-Ignore GLXFBConfig
-Ignore XVisualInfo
-
-# Ignore the SGI hyperpipe extension, which will require more GlueGen
-# work to expose the pipeName fields in the various structs
-Ignore glXQueryHyperpipeNetworkSGIX
-Ignore glXHyperpipeConfigSGIX
-Ignore glXQueryHyperpipeConfigSGIX
-Ignore glXDestroyHyperpipeConfigSGIX
-Ignore glXBindHyperpipeSGIX
-Ignore glXQueryHyperpipeBestAttribSGIX
-Ignore glXHyperpipeAttribSGIX
-Ignore glXQueryHyperpipeAttribSGIX
-Ignore GLXHyperpipeNetworkSGIX
-Ignore GLXHyperpipeConfigSGIX
-Ignore GLXPipeRect
-Ignore GLXPipeRectLimits
-
-# XID shows up in the public API (and shouldn't -- will be removed in
-# the JSR 231/239 APIs) and needs to be treated as a long for now
-Opaque long XID
diff --git a/make/gl-glx-x11.cfg b/make/gl-glx-x11.cfg
deleted file mode 100644
index 359e35c62..000000000
--- a/make/gl-glx-x11.cfg
+++ /dev/null
@@ -1,14 +0,0 @@
-# This .cfg file is used to generate the interface which contains the
-# window system-specific extensions which are exposed (via
-# inheritance) to the GL interface.
-Package net.java.games.jogl
-Style InterfaceOnly
-JavaClass GLX
-Include gl-common-x11.cfg
-
-# Ignore everything that doesn't start with glX or GLX
-IgnoreNot ^(glX|GLX).+
-
-# Pick up ignores that must also be included in other platforms' impl
-# files
-Include gl-glx-common.cfg
diff --git a/make/gl-impl-CustomCCode.c b/make/gl-impl-CustomCCode.c
index f0c7cb45a..2ea5376e7 100644
--- a/make/gl-impl-CustomCCode.c
+++ b/make/gl-impl-CustomCCode.c
@@ -1,10 +1,10 @@
/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.windows.WindowsGLImpl
+ * Java package: net.java.games.jogl.impl.GLImpl
* Java method: long dispatch_glMapBuffer(int target, int access)
* C function: LPVOID glMapBuffer(GLenum target, GLenum access);
*/
JNIEXPORT jlong JNICALL
-Java_net_java_games_jogl_impl_windows_WindowsGLImpl_dispatch_1glMapBuffer(JNIEnv *env, jobject _unused, jint target, jint access, jlong glProcAddress) {
+Java_com_sun_opengl_impl_GLImpl_dispatch_1glMapBuffer(JNIEnv *env, jobject _unused, jint target, jint access, jlong glProcAddress) {
PFNGLMAPBUFFERPROC ptr_glMapBuffer;
LPVOID _res;
ptr_glMapBuffer = (PFNGLMAPBUFFERPROC) (intptr_t) glProcAddress;
@@ -14,12 +14,12 @@ Java_net_java_games_jogl_impl_windows_WindowsGLImpl_dispatch_1glMapBuffer(JNIEnv
}
/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.windows.WindowsGLImpl
+ * Java package: net.java.games.jogl.impl.GLImpl
* Java method: long dispatch_glMapBufferARB(int target, int access)
* C function: LPVOID glMapBufferARB(GLenum target, GLenum access);
*/
JNIEXPORT jlong JNICALL
-Java_net_java_games_jogl_impl_windows_WindowsGLImpl_dispatch_1glMapBufferARB(JNIEnv *env, jobject _unused, jint target, jint access, jlong glProcAddress) {
+Java_com_sun_opengl_impl_GLImpl_dispatch_1glMapBufferARB(JNIEnv *env, jobject _unused, jint target, jint access, jlong glProcAddress) {
PFNGLMAPBUFFERARBPROC ptr_glMapBufferARB;
LPVOID _res;
ptr_glMapBufferARB = (PFNGLMAPBUFFERARBPROC) (intptr_t) glProcAddress;
@@ -27,65 +27,3 @@ Java_net_java_games_jogl_impl_windows_WindowsGLImpl_dispatch_1glMapBufferARB(JNI
_res = (* ptr_glMapBufferARB) ((GLenum) target, (GLenum) access);
return (jlong) (intptr_t) _res;
}
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.x11.X11GLImpl
- * Java method: long dispatch_glMapBuffer(int target, int access)
- * C function: LPVOID glMapBuffer(GLenum target, GLenum access);
- */
-JNIEXPORT jlong JNICALL
-Java_net_java_games_jogl_impl_x11_X11GLImpl_dispatch_1glMapBuffer(JNIEnv *env, jobject _unused, jint target, jint access, jlong glProcAddress) {
- PFNGLMAPBUFFERPROC ptr_glMapBuffer;
- LPVOID _res;
- ptr_glMapBuffer = (PFNGLMAPBUFFERPROC) (intptr_t) glProcAddress;
- assert(ptr_glMapBuffer != NULL);
- _res = (* ptr_glMapBuffer) ((GLenum) target, (GLenum) access);
- return (jlong) (intptr_t) _res;
-}
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.x11.X11GLImpl
- * Java method: long dispatch_glMapBufferARB(int target, int access)
- * C function: LPVOID glMapBufferARB(GLenum target, GLenum access);
- */
-JNIEXPORT jlong JNICALL
-Java_net_java_games_jogl_impl_x11_X11GLImpl_dispatch_1glMapBufferARB(JNIEnv *env, jobject _unused, jint target, jint access, jlong glProcAddress) {
- PFNGLMAPBUFFERARBPROC ptr_glMapBufferARB;
- LPVOID _res;
- ptr_glMapBufferARB = (PFNGLMAPBUFFERARBPROC) (intptr_t) glProcAddress;
- assert(ptr_glMapBufferARB != NULL);
- _res = (* ptr_glMapBufferARB) ((GLenum) target, (GLenum) access);
- return (jlong) (intptr_t) _res;
-}
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.macosx.MacOSXGLImpl
- * Java method: long dispatch_glMapBufferARB(int target, int access)
- * C function: LPVOID glMapBufferARB(GLenum target, GLenum access);
- */
-JNIEXPORT jlong JNICALL
-Java_net_java_games_jogl_impl_macosx_MacOSXGLImpl_dispatch_1glMapBuffer( JNIEnv *env, jobject _unused, jint target, jint access, jlong glProcAddress)
-{
- PFNGLMAPBUFFERPROC ptr_glMapBuffer;
- LPVOID _res;
- ptr_glMapBuffer = (PFNGLMAPBUFFERPROC) (intptr_t) glProcAddress;
- assert(ptr_glMapBuffer != NULL);
- _res = (* ptr_glMapBuffer) ((GLenum) target, (GLenum) access);
- return (jlong) (intptr_t) _res;
-}
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.macosx.MacOSXGLImpl
- * Java method: long dispatch_glMapBuffer(int target, int access)
- * C function: LPVOID glMapBuffer(GLenum target, GLenum access);
- */
-JNIEXPORT jlong JNICALL
-Java_net_java_games_jogl_impl_macosx_MacOSXGLImpl_dispatch_1glMapBufferARB(JNIEnv *env, jobject _unused, jint target, jint access, jlong glProcAddress)
-{
- PFNGLMAPBUFFERARBPROC ptr_glMapBufferARB;
- LPVOID _res;
- ptr_glMapBufferARB = (PFNGLMAPBUFFERARBPROC) (intptr_t) glProcAddress;
- assert(ptr_glMapBufferARB != NULL);
- _res = (* ptr_glMapBufferARB) ((GLenum) target, (GLenum) access);
- return (jlong) (intptr_t) _res;
-}
diff --git a/make/gl-impl-CustomJavaCode.java b/make/gl-impl-CustomJavaCode.java
index a4709fde4..5b4a3fa17 100644
--- a/make/gl-impl-CustomJavaCode.java
+++ b/make/gl-impl-CustomJavaCode.java
@@ -1,3 +1,135 @@
+// Tracks glBegin/glEnd calls to determine whether it is legal to
+// query Vertex Buffer Object state
+private boolean inBeginEndPair;
+
+public GLImpl(GLContextImpl context) {
+ this._context = context;
+}
+
+public boolean isFunctionAvailable(String glFunctionName) {
+ return _context.isFunctionAvailable(glFunctionName);
+}
+
+public boolean isExtensionAvailable(String glExtensionName) {
+ return _context.isExtensionAvailable(glExtensionName);
+}
+
+public Object getExtension(String extensionName) {
+ // At this point we don't expose any extensions using this mechanism
+ return null;
+}
+
+private GLContextImpl _context;
+
+/**
+ * Provides platform-independent access to the wglAllocateMemoryNV /
+ * glXAllocateMemoryNV extension.
+ */
+public java.nio.ByteBuffer glAllocateMemoryNV(int arg0, float arg1, float arg2, float arg3) {
+ return _context.glAllocateMemoryNV(arg0, arg1, arg2, arg3);
+}
+
+public void setSwapInterval(int interval) {
+ _context.setSwapInterval(interval);
+}
+
+public Object getPlatformGLExtensions() {
+ return _context.getPlatformGLExtensions();
+}
+
+private void checkBufferObject(String extension1,
+ String extension2,
+ boolean enabled,
+ int state,
+ String kind) {
+ if (inBeginEndPair) {
+ throw new GLException("May not call this between glBegin and glEnd");
+ }
+ boolean avail = ((extension1 != null && isExtensionAvailable(extension1)) ||
+ (extension2 != null && isExtensionAvailable(extension2)));
+ if (!avail) {
+ if (!enabled)
+ return;
+ throw new GLException("Required extensions not available to call this function");
+ }
+ int[] val = new int[1];
+ glGetIntegerv(state, val, 0);
+ if (enabled) {
+ if (val[0] == 0) {
+ throw new GLException(kind + " must be enabled to call this method");
+ }
+ } else {
+ if (val[0] != 0) {
+ throw new GLException(kind + " must be disabled to call this method");
+ }
+ }
+}
+
+private void checkUnpackPBODisabled() {
+ checkBufferObject("GL_ARB_pixel_buffer_object",
+ "GL_EXT_pixel_buffer_object",
+ false,
+ GL.GL_PIXEL_UNPACK_BUFFER_BINDING_ARB,
+ "unpack pixel_buffer_object");
+}
+
+private void checkUnpackPBOEnabled() {
+ checkBufferObject("GL_ARB_pixel_buffer_object",
+ "GL_EXT_pixel_buffer_object",
+ true,
+ GL.GL_PIXEL_UNPACK_BUFFER_BINDING_ARB,
+ "unpack pixel_buffer_object");
+}
+
+private void checkPackPBODisabled() {
+ checkBufferObject("GL_ARB_pixel_buffer_object",
+ "GL_EXT_pixel_buffer_object",
+ false,
+ GL.GL_PIXEL_PACK_BUFFER_BINDING_ARB,
+ "pack pixel_buffer_object");
+}
+
+private void checkPackPBOEnabled() {
+ checkBufferObject("GL_ARB_pixel_buffer_object",
+ "GL_EXT_pixel_buffer_object",
+ true,
+ GL.GL_PIXEL_PACK_BUFFER_BINDING_ARB,
+ "pack pixel_buffer_object");
+}
+
+
+private void checkArrayVBODisabled() {
+ checkBufferObject("GL_VERSION_1_5",
+ "GL_ARB_vertex_buffer_object",
+ false,
+ GL.GL_ARRAY_BUFFER_BINDING,
+ "array vertex_buffer_object");
+}
+
+private void checkArrayVBOEnabled() {
+ checkBufferObject("GL_VERSION_1_5",
+ "GL_ARB_vertex_buffer_object",
+ true,
+ GL.GL_ARRAY_BUFFER_BINDING,
+ "array vertex_buffer_object");
+}
+
+private void checkElementVBODisabled() {
+ checkBufferObject("GL_VERSION_1_5",
+ "GL_ARB_vertex_buffer_object",
+ false,
+ GL.GL_ELEMENT_ARRAY_BUFFER_BINDING,
+ "element vertex_buffer_object");
+}
+
+private void checkElementVBOEnabled() {
+ checkBufferObject("GL_VERSION_1_5",
+ "GL_ARB_vertex_buffer_object",
+ true,
+ GL.GL_ELEMENT_ARRAY_BUFFER_BINDING,
+ "element vertex_buffer_object");
+}
+
// Attempt to return the same ByteBuffer object from glMapBufferARB if
// the vertex buffer object's base address and size haven't changed
private static class ARBVBOKey {
@@ -32,7 +164,7 @@ public java.nio.ByteBuffer glMapBuffer(int target, int access) {
throw new GLException("Method \"glMapBuffer\" not available");
}
int[] sz = new int[1];
- glGetBufferParameteriv(target, GL_BUFFER_SIZE_ARB, sz);
+ glGetBufferParameteriv(target, GL_BUFFER_SIZE_ARB, sz, 0);
long addr;
addr = dispatch_glMapBuffer(target, access, __addr_);
if (addr == 0 || sz[0] == 0) {
@@ -55,7 +187,7 @@ public java.nio.ByteBuffer glMapBufferARB(int target, int access) {
throw new GLException("Method \"glMapBufferARB\" not available");
}
int[] sz = new int[1];
- glGetBufferParameterivARB(target, GL_BUFFER_SIZE_ARB, sz);
+ glGetBufferParameterivARB(target, GL_BUFFER_SIZE_ARB, sz, 0);
long addr;
addr = dispatch_glMapBufferARB(target, access, __addr_);
if (addr == 0 || sz[0] == 0) {
diff --git a/make/gl-impl-macosx.cfg b/make/gl-impl-macosx.cfg
deleted file mode 100644
index 5a09750dd..000000000
--- a/make/gl-impl-macosx.cfg
+++ /dev/null
@@ -1,81 +0,0 @@
-# This .cfg file is used to generate the class which implements the GL
-# interface on a particular platform.
-Package net.java.games.jogl
-Style ImplOnly
-JavaClass GL
-ImplPackage net.java.games.jogl.impl.macosx
-ImplJavaClass MacOSXGLImpl
-Include gl-common-macosx.cfg
-Include gl-glx-common.cfg
-
-EmitProcAddressTable true
-ProcAddressTableClassName GLProcAddressTable
-ContextVariableName _context
-
-CustomCCode #include <inttypes.h>
-CustomCCode #include <stdlib.h>
-
-CustomCCode /* Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in
-CustomCCode "glext.h" are parsed. */
-CustomCCode #define GL_GLEXT_PROTOTYPES
-
-CustomCCode /* Include the OpenGL headers */
-CustomCCode #include <GL/gl.h>
-
-CustomCCode #include </usr/include/machine/types.h>
-
-CustomCCode /* Provide Windows typedefs */
-CustomCCode typedef void* LPVOID;
-CustomCCode typedef unsigned int* PUINT;
-
-CustomJavaCode MacOSXGLImpl public MacOSXGLImpl(MacOSXGLContext context)
-CustomJavaCode MacOSXGLImpl {
-CustomJavaCode MacOSXGLImpl this._context = context;
-CustomJavaCode MacOSXGLImpl }
-
-CustomJavaCode MacOSXGLImpl /** This constructor should be used manually in order to
-CustomJavaCode MacOSXGLImpl create a GL object that can be used with the Cocoa NSOpenGLView. */
-CustomJavaCode MacOSXGLImpl public MacOSXGLImpl()
-CustomJavaCode MacOSXGLImpl {
-CustomJavaCode MacOSXGLImpl this._context = new MacOSXDummyGLContext(this);
-CustomJavaCode MacOSXGLImpl }
-
-CustomJavaCode MacOSXGLImpl public boolean isFunctionAvailable(String glFunctionName)
-CustomJavaCode MacOSXGLImpl {
-CustomJavaCode MacOSXGLImpl return _context.isFunctionAvailable(glFunctionName);
-CustomJavaCode MacOSXGLImpl }
-
-CustomJavaCode MacOSXGLImpl public boolean isExtensionAvailable(String glExtensionName)
-CustomJavaCode MacOSXGLImpl {
-CustomJavaCode MacOSXGLImpl return _context.isExtensionAvailable(glExtensionName);
-CustomJavaCode MacOSXGLImpl }
-
-CustomJavaCode MacOSXGLImpl /** Forces a recomputation of which extensions are available.
-CustomJavaCode MacOSXGLImpl Should only be called if this MacOSXGLImpl is being used
-CustomJavaCode MacOSXGLImpl in conjunction with an NSOpenGLView instead of a GLCanvas. */
-CustomJavaCode MacOSXGLImpl public void resetGLFunctionAvailability()
-CustomJavaCode MacOSXGLImpl {
-CustomJavaCode MacOSXGLImpl if (!(_context instanceof MacOSXDummyGLContext)) {
-CustomJavaCode MacOSXGLImpl throw new GLException("Should only be called if being used with NSOpenGLView");
-CustomJavaCode MacOSXGLImpl }
-CustomJavaCode MacOSXGLImpl ((MacOSXDummyGLContext) _context).resetGLFunctionAvailability();
-CustomJavaCode MacOSXGLImpl }
-
-CustomJavaCode MacOSXGLImpl private MacOSXGLContext _context;
-
-CustomJavaCode MacOSXGLImpl /**
-CustomJavaCode MacOSXGLImpl * Provides platform-independent access to the wglAllocateMemoryNV /
-CustomJavaCode MacOSXGLImpl * glXAllocateMemoryNV extension.
-CustomJavaCode MacOSXGLImpl */
-CustomJavaCode MacOSXGLImpl public java.nio.ByteBuffer glAllocateMemoryNV(int arg0, float arg1, float arg2, float arg3)
-CustomJavaCode MacOSXGLImpl {
-CustomJavaCode MacOSXGLImpl // FIXME
-CustomJavaCode MacOSXGLImpl throw new GLException("Not yet implemented");
-CustomJavaCode MacOSXGLImpl }
-
-CustomJavaCode MacOSXGLImpl public void setSwapInterval(int interval) { // FIXME: not implemented yet
-CustomJavaCode MacOSXGLImpl _context.setSwapInterval(interval);
-CustomJavaCode MacOSXGLImpl }
-
-IncludeAs CustomJavaCode MacOSXGLImpl gl-impl-CustomJavaCode.java
-IncludeAs CustomCCode gl-impl-CustomCCode.c
diff --git a/make/gl-impl-win32.cfg b/make/gl-impl-win32.cfg
deleted file mode 100644
index 252425659..000000000
--- a/make/gl-impl-win32.cfg
+++ /dev/null
@@ -1,70 +0,0 @@
-# This .cfg file is used to generate the class which implements the GL
-# interface on a particular platform.
-Package net.java.games.jogl
-Style ImplOnly
-JavaClass GL
-ImplPackage net.java.games.jogl.impl.windows
-ImplJavaClass WindowsGLImpl
-Include gl-common-win32.cfg
-Include gl-glx-common.cfg
-
-EmitProcAddressTable true
-ProcAddressTableClassName GLProcAddressTable
-ContextVariableName _context
-
-CustomCCode #define WIN32_LEAN_AND_MEAN
-CustomCCode #include <windows.h>
-CustomCCode #undef WIN32_LEAN_AND_MEAN
-CustomCCode #include <stdlib.h>
-CustomCCode #include <stddef.h>
-CustomCCode #include <malloc.h>
-
-CustomCCode /* Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in
-CustomCCode "glext.h" are parsed. */
-CustomCCode #define GL_GLEXT_PROTOTYPES
-
-CustomCCode /* Define WGL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in
-CustomCCode "wglext.h" are parsed. */
-CustomCCode #define WGL_GLEXT_PROTOTYPES
-
-CustomCCode /* Include the OpenGL headers */
-CustomCCode #include <GL/gl.h>
-CustomCCode #include <GL/wglext.h>
-
-CustomCCode /* This typedef is only needed for VC6 */
-CustomCCode #if _MSC_VER <= 1200
-CustomCCode typedef int intptr_t;
-CustomCCode #endif
-
-CustomJavaCode WindowsGLImpl public WindowsGLImpl(WindowsGLContext context) {
-CustomJavaCode WindowsGLImpl this._context = context;
-CustomJavaCode WindowsGLImpl }
-
-CustomJavaCode WindowsGLImpl public boolean isFunctionAvailable(String glFunctionName)
-CustomJavaCode WindowsGLImpl {
-CustomJavaCode WindowsGLImpl return _context.isFunctionAvailable(glFunctionName);
-CustomJavaCode WindowsGLImpl }
-
-CustomJavaCode WindowsGLImpl public boolean isExtensionAvailable(String glExtensionName)
-CustomJavaCode WindowsGLImpl {
-CustomJavaCode WindowsGLImpl return _context.isExtensionAvailable(glExtensionName);
-CustomJavaCode WindowsGLImpl }
-
-CustomJavaCode WindowsGLImpl private WindowsGLContext _context;
-
-CustomJavaCode WindowsGLImpl /**
-CustomJavaCode WindowsGLImpl * Provides platform-independent access to the wglAllocateMemoryNV /
-CustomJavaCode WindowsGLImpl * glXAllocateMemoryNV extension.
-CustomJavaCode WindowsGLImpl */
-CustomJavaCode WindowsGLImpl public java.nio.ByteBuffer glAllocateMemoryNV(int arg0, float arg1, float arg2, float arg3) {
-CustomJavaCode WindowsGLImpl return wglAllocateMemoryNV(arg0, arg1, arg2, arg3);
-CustomJavaCode WindowsGLImpl }
-
-CustomJavaCode WindowsGLImpl public void setSwapInterval(int interval) {
-CustomJavaCode WindowsGLImpl if (isExtensionAvailable("WGL_EXT_swap_control")) {
-CustomJavaCode WindowsGLImpl wglSwapIntervalEXT(interval);
-CustomJavaCode WindowsGLImpl }
-CustomJavaCode WindowsGLImpl }
-
-IncludeAs CustomJavaCode WindowsGLImpl gl-impl-CustomJavaCode.java
-IncludeAs CustomCCode gl-impl-CustomCCode.c
diff --git a/make/gl-impl-x11.cfg b/make/gl-impl-x11.cfg
deleted file mode 100644
index b60a28787..000000000
--- a/make/gl-impl-x11.cfg
+++ /dev/null
@@ -1,67 +0,0 @@
-# This .cfg file is used to generate the class which implements the GL
-# interface on a particular platform.
-Package net.java.games.jogl
-Style ImplOnly
-JavaClass GL
-ImplPackage net.java.games.jogl.impl.x11
-ImplJavaClass X11GLImpl
-Include gl-common-x11.cfg
-Include gl-glx-common.cfg
-
-EmitProcAddressTable true
-ProcAddressTableClassName GLProcAddressTable
-ContextVariableName _context
-
-CustomCCode #include <inttypes.h>
-CustomCCode #include <stdlib.h>
-CustomCCode #include <X11/Xlib.h>
-
-CustomCCode /* Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in
-CustomCCode "glext.h" are parsed. */
-CustomCCode #define GL_GLEXT_PROTOTYPES
-
-CustomCCode /* Define GLX_GLXEXT_PROTOTYPES so that the OpenGL extension prototypes in
-CustomCCode "glxext.h" are parsed. */
-CustomCCode #define GLX_GLXEXT_PROTOTYPES
-
-CustomCCode /* Include the OpenGL headers */
-CustomCCode #include <GL/gl.h>
-CustomCCode #include <GL/glx.h>
-CustomCCode #include <GL/glxext.h>
-
-CustomCCode /* Provide Windows typedefs */
-CustomCCode typedef void* LPVOID;
-CustomCCode typedef unsigned int* PUINT;
-
-CustomJavaCode X11GLImpl public X11GLImpl(X11GLContext context) {
-CustomJavaCode X11GLImpl this._context = context;
-CustomJavaCode X11GLImpl }
-
-CustomJavaCode X11GLImpl public boolean isFunctionAvailable(String glFunctionName)
-CustomJavaCode X11GLImpl {
-CustomJavaCode X11GLImpl return _context.isFunctionAvailable(glFunctionName);
-CustomJavaCode X11GLImpl }
-
-CustomJavaCode X11GLImpl public boolean isExtensionAvailable(String glExtensionName)
-CustomJavaCode X11GLImpl {
-CustomJavaCode X11GLImpl return _context.isExtensionAvailable(glExtensionName);
-CustomJavaCode X11GLImpl }
-
-CustomJavaCode X11GLImpl private X11GLContext _context;
-
-CustomJavaCode X11GLImpl /**
-CustomJavaCode X11GLImpl * Provides platform-independent access to the wglAllocateMemoryNV /
-CustomJavaCode X11GLImpl * glXAllocateMemoryNV extension.
-CustomJavaCode X11GLImpl */
-CustomJavaCode X11GLImpl public java.nio.ByteBuffer glAllocateMemoryNV(int arg0, float arg1, float arg2, float arg3) {
-CustomJavaCode X11GLImpl return glXAllocateMemoryNV(arg0, arg1, arg2, arg3);
-CustomJavaCode X11GLImpl }
-
-CustomJavaCode X11GLImpl public void setSwapInterval(int interval) {
-CustomJavaCode X11GLImpl if (isExtensionAvailable("GLX_SGI_swap_control")) {
-CustomJavaCode X11GLImpl glXSwapIntervalSGI(interval);
-CustomJavaCode X11GLImpl }
-CustomJavaCode X11GLImpl }
-
-IncludeAs CustomJavaCode X11GLImpl gl-impl-CustomJavaCode.java
-IncludeAs CustomCCode gl-impl-CustomCCode.c
diff --git a/make/gl-macosx.cfg b/make/gl-macosx.cfg
index a22b13477..156f66b77 100644
--- a/make/gl-macosx.cfg
+++ b/make/gl-macosx.cfg
@@ -1,10 +1,30 @@
-# This .cfg file is used to generate the GL interface.
-Package net.java.games.jogl
-Style InterfaceOnly
+# This .cfg file is used to generate the GL interface and implementing class.
+Package javax.media.opengl
+Style InterfaceAndImpl
JavaClass GL
-Extends GL WGL
-Extends GL GLX
-Extends GL CGL
+ImplPackage com.sun.opengl.impl
+ImplJavaClass GLImpl
Include gl-common-macosx.cfg
-EmitProcAddressTable false
+EmitProcAddressTable true
+ProcAddressTableClassName GLProcAddressTable
+ContextVariableName _context
+
+CustomCCode #include <inttypes.h>
+CustomCCode #include <stdlib.h>
+
+CustomCCode /* Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in
+CustomCCode "glext.h" are parsed. */
+CustomCCode #define GL_GLEXT_PROTOTYPES
+
+CustomCCode /* Include the OpenGL headers */
+CustomCCode #include <GL/gl.h>
+
+CustomCCode #include </usr/include/machine/types.h>
+
+CustomCCode /* Provide Windows typedefs */
+CustomCCode typedef void* LPVOID;
+CustomCCode typedef unsigned int* PUINT;
+
+IncludeAs CustomJavaCode GLImpl gl-impl-CustomJavaCode.java
+IncludeAs CustomCCode gl-impl-CustomCCode.c
diff --git a/make/gl-wgl-win32.cfg b/make/gl-wgl-win32.cfg
deleted file mode 100644
index fb5f9556e..000000000
--- a/make/gl-wgl-win32.cfg
+++ /dev/null
@@ -1,10 +0,0 @@
-# This .cfg file is used to generate the interface which contains the
-# window system-specific extensions which are exposed (via
-# inheritance) to the GL interface.
-Package net.java.games.jogl
-Style InterfaceOnly
-JavaClass WGL
-Include gl-common-win32.cfg
-
-# Ignore everything that doesn't start with wgl or WGL
-Ignore ^[^wW].+
diff --git a/make/gl-win32.cfg b/make/gl-win32.cfg
index 83cb3e3bd..950d67320 100644
--- a/make/gl-win32.cfg
+++ b/make/gl-win32.cfg
@@ -1,10 +1,33 @@
-# This .cfg file is used to generate the GL interface.
-Package net.java.games.jogl
-Style InterfaceOnly
+# This .cfg file is used to generate the GL interface and implementing class.
+Package javax.media.opengl
+Style InterfaceAndImpl
JavaClass GL
-Extends GL WGL
-Extends GL GLX
-Extends GL CGL
+ImplPackage com.sun.opengl.impl
+ImplJavaClass GLImpl
Include gl-common-win32.cfg
-EmitProcAddressTable false
+EmitProcAddressTable true
+ProcAddressTableClassName GLProcAddressTable
+ContextVariableName _context
+
+CustomCCode #define WIN32_LEAN_AND_MEAN
+CustomCCode #include <windows.h>
+CustomCCode #undef WIN32_LEAN_AND_MEAN
+CustomCCode #include <stdlib.h>
+CustomCCode #include <stddef.h>
+CustomCCode #include <malloc.h>
+
+CustomCCode /* Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in
+CustomCCode "glext.h" are parsed. */
+CustomCCode #define GL_GLEXT_PROTOTYPES
+
+CustomCCode /* Include the OpenGL headers */
+CustomCCode #include <GL/gl.h>
+
+CustomCCode /* This typedef is only needed for VC6 */
+CustomCCode #if _MSC_VER <= 1200
+CustomCCode typedef int intptr_t;
+CustomCCode #endif
+
+IncludeAs CustomJavaCode GLImpl gl-impl-CustomJavaCode.java
+IncludeAs CustomCCode gl-impl-CustomCCode.c
diff --git a/make/gl-x11.cfg b/make/gl-x11.cfg
index e20deed55..fd793c5b9 100644
--- a/make/gl-x11.cfg
+++ b/make/gl-x11.cfg
@@ -1,11 +1,35 @@
-# This .cfg file is used to generate the class which implements the GL
-# interface on a particular platform.
-Package net.java.games.jogl
-Style InterfaceOnly
+# This .cfg file is used to generate the GL interface and implementing class.
+Package javax.media.opengl
+Style InterfaceAndImpl
JavaClass GL
-Extends GL WGL
-Extends GL GLX
-Extends GL CGL
+ImplPackage com.sun.opengl.impl
+ImplJavaClass GLImpl
Include gl-common-x11.cfg
-EmitProcAddressTable false \ No newline at end of file
+EmitProcAddressTable true
+ProcAddressTableClassName GLProcAddressTable
+ContextVariableName _context
+
+CustomCCode #include <inttypes.h>
+CustomCCode #include <stdlib.h>
+CustomCCode #include <X11/Xlib.h>
+
+CustomCCode /* Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in
+CustomCCode "glext.h" are parsed. */
+CustomCCode #define GL_GLEXT_PROTOTYPES
+
+CustomCCode /* Define GLX_GLXEXT_PROTOTYPES so that the OpenGL extension prototypes in
+CustomCCode "glxext.h" are parsed. */
+CustomCCode #define GLX_GLXEXT_PROTOTYPES
+
+CustomCCode /* Include the OpenGL headers */
+CustomCCode #include <GL/gl.h>
+CustomCCode #include <GL/glx.h>
+CustomCCode #include <GL/glxext.h>
+
+CustomCCode /* Provide Windows typedefs */
+CustomCCode typedef void* LPVOID;
+CustomCCode typedef unsigned int* PUINT;
+
+IncludeAs CustomJavaCode GLImpl gl-impl-CustomJavaCode.java
+IncludeAs CustomCCode gl-impl-CustomCCode.c
diff --git a/make/glu-CustomJavaCode.java b/make/glu-CustomJavaCode.java
new file mode 100644
index 000000000..be919da1e
--- /dev/null
+++ b/make/glu-CustomJavaCode.java
@@ -0,0 +1,1457 @@
+private static boolean useJavaMipmapCode = true;
+
+static {
+ AccessController.doPrivileged(new PrivilegedAction() {
+ public Object run() {
+ String val = System.getProperty("jogl.glu.nojava");
+ if (val != null && !val.toLowerCase().equals("false")) {
+ useJavaMipmapCode = false;
+ }
+ return null;
+ }
+ });
+}
+
+/**
+ * Instantiates a new OpenGL Utility Library object. A GLU object may
+ * be instantiated at any point in the application and is not
+ * inherently tied to any particular OpenGL context; however, the GLU
+ * object may only be used when an OpenGL context is current on the
+ * current thread. Attempts to call most of the methods in the GLU
+ * library when no OpenGL context is current will cause an exception
+ * to be thrown.
+ *
+ * <P>
+ *
+ * The returned GLU object is not guaranteed to be thread-safe and
+ * should only be used from one thread at a time. Multiple GLU objects
+ * may be instantiated to be used from different threads
+ * simultaneously.
+ */
+
+public GLU()
+{
+ this.project = new Project();
+}
+
+//----------------------------------------------------------------------
+// Utility routines
+//
+
+/**
+ * Returns the GL object associated with the OpenGL context current on
+ * the current thread. Throws GLException if no OpenGL context is
+ * current.
+ */
+
+public static GL getCurrentGL() throws GLException {
+ GLContext curContext = GLContext.getCurrent();
+ if (curContext == null) {
+ throw new GLException("No OpenGL context current on this thread");
+ }
+ return curContext.getGL();
+}
+
+public String gluErrorString(int errorCode) {
+ return Error.gluErrorString(errorCode);
+}
+
+/* extName is an extension name.
+ * extString is a string of extensions separated by blank(s). There may or
+ * may not be leading or trailing blank(s) in extString.
+ * This works in cases of extensions being prefixes of another like
+ * GL_EXT_texture and GL_EXT_texture3D.
+ * Returns true if extName is found otherwise it returns false.
+ */
+public boolean gluCheckExtension(java.lang.String extName, java.lang.String extString) {
+ return Registry.gluCheckExtension(extName, extString);
+}
+
+public String gluGetString(int name) {
+ return Registry.gluGetString(name);
+}
+
+/**
+ * Returns true if the specified GLU core- or extension-function can be
+ * successfully used through this GLU instance. By "successfully" we mean
+ * that the function is both <i>callable</i> on the machine running the
+ * program and <i>available</i> on the current display.<P>
+ *
+ * A GLU function is <i>callable</i> if it is a GLU core- or extension-function
+ * that is supported by the underlying GLU implementation. The function is
+ * <i>available</i> if the OpenGL implementation on the display meets the
+ * requirements of the GLU function being called (because GLU functions utilize
+ * OpenGL functions). <P>
+ *
+ * Whether or not a GLU function is <i>callable</i> is determined as follows:
+ * <ul>
+ * <li>If the function is a GLU core function (i.e., not an
+ * extension), <code>gluGetString(GLU_VERSION)</code> is used to determine the
+ * version number of the underlying GLU implementation on the host.
+ * then the function name is cross-referenced with that specification to
+ * see if it is part of that version's specification.
+ *
+ * <li> If the function is a GLU extension, the function name is
+ * cross-referenced with the list returned by
+ * <code>gluGetString(GLU_EXTENSIONS)</code> to see if the function is one of
+ * the extensions that is supported by the underlying GLU implementation.
+ * </ul>
+ *
+ * Whether or not a GLU function is <i>available</i> is determined as follows:
+ * <ul>
+ * <li>If the function is a GLU core function then the function is first
+ * cross-referenced with the GLU specifications to find the minimum GLU
+ * version required to <i>call</i> that GLU function. Then the following table
+ * is consulted to determine the minimum GL version required for that version
+ * of GLU:
+ * <ul>
+ * <li> GLU 1.0 requires OpenGL 1.0
+ * <li> GLU 1.1 requires OpenGL 1.0
+ * <li> GLU 1.2 requires OpenGL 1.1
+ * <li> GLU 1.3 requires OpenGL 1.2
+ * </ul>
+ * Finally, <code>glGetString(GL_VERSION)</code> is used to determine the
+ * highest OpenGL version that both host and display support, and from that it
+ * is possible to determine if the GL facilities required by the GLU function
+ * are <i>available</i> on the display.
+ *
+ * <li> If the function is a GLU extension, the function name is
+ * cross-referenced with the list returned by
+ * <code>gluGetString(GLU_EXTENSIONS)</code> to see if the function is one of
+ * the extensions that is supported by the underlying GLU implementation.
+ * </ul>
+ *
+ * <b>NOTE:</b>The availability of a function may change at runtime in
+ * response to changes in the display environment. For example, when a window
+ * is dragged from one display to another on a multi-display system, or when
+ * the properties of the display device are modified (e.g., changing the color
+ * depth of the display). Any application that is concerned with handling
+ * these situations correctly should confirm availability after a display
+ * change before calling a questionable OpenGL function. To detect a change in
+ * the display device, please see {@link
+ * GLEventListener#displayChanged(GLAutoDrawable,boolean,boolean)}.
+ *
+ * @param gluFunctionName the name of the OpenGL function (e.g., use
+ * "gluNurbsCallbackDataEXT" to check if the <code>
+ * gluNurbsCallbackDataEXT(GLUnurbs, GLvoid)</code> extension is available).
+ */
+public boolean isFunctionAvailable(String gluFunctionName)
+{
+ if (useJavaMipmapCode) {
+ // All GLU functions are available in Java port
+ return true;
+ }
+ return (gluProcAddressTable.getAddressFor(gluFunctionName) != 0);
+}
+
+//----------------------------------------------------------------------
+// Tessellation routines
+//
+
+/*****************************************************************************
+ * <b>gluNewTess</b> creates and returns a new tessellation object. This
+ * object must be referred to when calling tesselation methods. A return
+ * value of null means that there was not enough memeory to allocate the
+ * object.
+ *
+ * @return A new tessellation object.
+ *
+ * @see #gluTessBeginPolygon gluTessBeginPolygon
+ * @see #gluDeleteTess gluDeleteTess
+ * @see #gluTessCallback gluTessCallback
+ ****************************************************************************/
+public GLUtessellator gluNewTess() {
+ return GLUtessellatorImpl.gluNewTess();
+}
+
+/*****************************************************************************
+ * <b>gluDeleteTess</b> destroys the indicated tessellation object (which was
+ * created with {@link #gluNewTess gluNewTess}).
+ *
+ * @param tessellator
+ * Specifies the tessellation object to destroy.
+ *
+ * @see #gluBeginPolygon gluBeginPolygon
+ * @see #gluNewTess gluNewTess
+ * @see #gluTessCallback gluTessCallback
+ ****************************************************************************/
+public void gluDeleteTess(GLUtessellator tessellator) {
+ GLUtessellatorImpl tess = (GLUtessellatorImpl) tessellator;
+ tess.gluDeleteTess();
+}
+
+/*****************************************************************************
+ * <b>gluTessProperty</b> is used to control properites stored in a
+ * tessellation object. These properties affect the way that the polygons are
+ * interpreted and rendered. The legal value for <i>which</i> are as
+ * follows:<P>
+ *
+ * <b>GLU_TESS_WINDING_RULE</b>
+ * <UL>
+ * Determines which parts of the polygon are on the "interior".
+ * <em>value</em> may be set to one of
+ * <BR><b>GLU_TESS_WINDING_ODD</b>,
+ * <BR><b>GLU_TESS_WINDING_NONZERO</b>,
+ * <BR><b>GLU_TESS_WINDING_POSITIVE</b>, or
+ * <BR><b>GLU_TESS_WINDING_NEGATIVE</b>, or
+ * <BR><b>GLU_TESS_WINDING_ABS_GEQ_TWO</b>.<P>
+ *
+ * To understand how the winding rule works, consider that the input
+ * contours partition the plane into regions. The winding rule determines
+ * which of these regions are inside the polygon.<P>
+ *
+ * For a single contour C, the winding number of a point x is simply the
+ * signed number of revolutions we make around x as we travel once around C
+ * (where CCW is positive). When there are several contours, the individual
+ * winding numbers are summed. This procedure associates a signed integer
+ * value with each point x in the plane. Note that the winding number is
+ * the same for all points in a single region.<P>
+ *
+ * The winding rule classifies a region as "inside" if its winding number
+ * belongs to the chosen category (odd, nonzero, positive, negative, or
+ * absolute value of at least two). The previous GLU tessellator (prior to
+ * GLU 1.2) used the "odd" rule. The "nonzero" rule is another common way
+ * to define the interior. The other three rules are useful for polygon CSG
+ * operations.
+ * </UL>
+ * <BR><b>GLU_TESS_BOUNDARY_ONLY</b>
+ * <UL>
+ * Is a boolean value ("value" should be set to GL_TRUE or GL_FALSE). When
+ * set to GL_TRUE, a set of closed contours separating the polygon interior
+ * and exterior are returned instead of a tessellation. Exterior contours
+ * are oriented CCW with respect to the normal; interior contours are
+ * oriented CW. The <b>GLU_TESS_BEGIN</b> and <b>GLU_TESS_BEGIN_DATA</b>
+ * callbacks use the type GL_LINE_LOOP for each contour.
+ * </UL>
+ * <BR><b>GLU_TESS_TOLERANCE</b>
+ * <UL>
+ * Specifies a tolerance for merging features to reduce the size of the
+ * output. For example, two vertices that are very close to each other
+ * might be replaced by a single vertex. The tolerance is multiplied by the
+ * largest coordinate magnitude of any input vertex; this specifies the
+ * maximum distance that any feature can move as the result of a single
+ * merge operation. If a single feature takes part in several merge
+ * operations, the toal distance moved could be larger.<P>
+ *
+ * Feature merging is completely optional; the tolerance is only a hint.
+ * The implementation is free to merge in some cases and not in others, or
+ * to never merge features at all. The initial tolerance is 0.<P>
+ *
+ * The current implementation merges vertices only if they are exactly
+ * coincident, regardless of the current tolerance. A vertex is spliced
+ * into an edge only if the implementation is unable to distinguish which
+ * side of the edge the vertex lies on. Two edges are merged only when both
+ * endpoints are identical.
+ * </UL>
+ *
+ * @param tessellator
+ * Specifies the tessellation object created with
+ * {@link #gluNewTess gluNewTess}
+ * @param which
+ * Specifies the property to be set. Valid values are
+ * <b>GLU_TESS_WINDING_RULE</b>, <b>GLU_TESS_BOUNDARDY_ONLY</b>,
+ * <b>GLU_TESS_TOLERANCE</b>.
+ * @param value
+ * Specifices the value of the indicated property.
+ *
+ * @see #gluGetTessProperty gluGetTessProperty
+ * @see #gluNewTess gluNewTess
+ ****************************************************************************/
+public void gluTessProperty(GLUtessellator tessellator, int which, double value) {
+ GLUtessellatorImpl tess = (GLUtessellatorImpl) tessellator;
+ tess.gluTessProperty(which, value);
+}
+
+/*****************************************************************************
+ * <b>gluGetTessProperty</b> retrieves properties stored in a tessellation
+ * object. These properties affect the way that tessellation objects are
+ * interpreted and rendered. See the
+ * {@link #gluTessProperty gluTessProperty} reference
+ * page for information about the properties and what they do.
+ *
+ * @param tessellator
+ * Specifies the tessellation object (created with
+ * {@link #gluNewTess gluNewTess}).
+ * @param which
+ * Specifies the property whose value is to be fetched. Valid values
+ * are <b>GLU_TESS_WINDING_RULE</b>, <b>GLU_TESS_BOUNDARY_ONLY</b>,
+ * and <b>GLU_TESS_TOLERANCES</b>.
+ * @param value
+ * Specifices an array into which the value of the named property is
+ * written.
+ *
+ * @see #gluNewTess gluNewTess
+ * @see #gluTessProperty gluTessProperty
+ ****************************************************************************/
+public void gluGetTessProperty(GLUtessellator tessellator, int which, double[] value, int value_offset) {
+ GLUtessellatorImpl tess = (GLUtessellatorImpl) tessellator;
+ tess.gluGetTessProperty(which, value, value_offset);
+}
+
+/*****************************************************************************
+ * <b>gluTessNormal</b> describes a normal for a polygon that the program is
+ * defining. All input data will be projected onto a plane perpendicular to
+ * the one of the three coordinate axes before tessellation and all output
+ * triangles will be oriented CCW with repsect to the normal (CW orientation
+ * can be obtained by reversing the sign of the supplied normal). For
+ * example, if you know that all polygons lie in the x-y plane, call
+ * <b>gluTessNormal</b>(tess, 0.0, 0.0, 0.0) before rendering any polygons.<P>
+ *
+ * If the supplied normal is (0.0, 0.0, 0.0)(the initial value), the normal
+ * is determined as follows. The direction of the normal, up to its sign, is
+ * found by fitting a plane to the vertices, without regard to how the
+ * vertices are connected. It is expected that the input data lies
+ * approximately in the plane; otherwise, projection perpendicular to one of
+ * the three coordinate axes may substantially change the geometry. The sign
+ * of the normal is chosen so that the sum of the signed areas of all input
+ * contours is nonnegative (where a CCW contour has positive area).<P>
+ *
+ * The supplied normal persists until it is changed by another call to
+ * <b>gluTessNormal</b>.
+ *
+ * @param tessellator
+ * Specifies the tessellation object (created by
+ * {@link #gluNewTess gluNewTess}).
+ * @param x
+ * Specifies the first component of the normal.
+ * @param y
+ * Specifies the second component of the normal.
+ * @param z
+ * Specifies the third component of the normal.
+ *
+ * @see #gluTessBeginPolygon gluTessBeginPolygon
+ * @see #gluTessEndPolygon gluTessEndPolygon
+ ****************************************************************************/
+public void gluTessNormal(GLUtessellator tessellator, double x, double y, double z) {
+ GLUtessellatorImpl tess = (GLUtessellatorImpl) tessellator;
+ tess.gluTessNormal(x, y, z);
+}
+
+/*****************************************************************************
+ * <b>gluTessCallback</b> is used to indicate a callback to be used by a
+ * tessellation object. If the specified callback is already defined, then it
+ * is replaced. If <i>aCallback</i> is null, then the existing callback
+ * becomes undefined.<P>
+ *
+ * These callbacks are used by the tessellation object to describe how a
+ * polygon specified by the user is broken into triangles. Note that there are
+ * two versions of each callback: one with user-specified polygon data and one
+ * without. If both versions of a particular callback are specified, then the
+ * callback with user-specified polygon data will be used. Note that the
+ * polygonData parameter used by some of the methods is a copy of the
+ * reference that was specified when
+ * {@link #gluTessBeginPolygon gluTessBeginPolygon}
+ * was called. The legal callbacks are as follows:<P>
+ *
+ * <b>GLU_TESS_BEGIN</b>
+ * <UL>
+ * The begin callback is invoked like {@link javax.media.opengl.GL#glBegin
+ * glBegin} to indicate the start of a (triangle) primitive. The method
+ * takes a single argument of type int. If the
+ * <b>GLU_TESS_BOUNDARY_ONLY</b> property is set to <b>GL_FALSE</b>, then
+ * the argument is set to either <b>GL_TRIANGLE_FAN</b>,
+ * <b>GL_TRIANGLE_STRIP</b>, or <b>GL_TRIANGLES</b>. If the
+ * <b>GLU_TESS_BOUNDARY_ONLY</b> property is set to <b>GL_TRUE</b>, then the
+ * argument will be set to <b>GL_LINE_LOOP</b>. The method prototype for
+ * this callback is:
+ * </UL>
+ *
+ * <PRE>
+ * void begin(int type);</PRE><P>
+ *
+ * <b>GLU_TESS_BEGIN_DATA</b>
+ * <UL>
+ * The same as the <b>GLU_TESS_BEGIN</b> callback except
+ * that it takes an additional reference argument. This reference is
+ * identical to the opaque reference provided when
+ * {@link #gluTessBeginPolygon gluTessBeginPolygon}
+ * was called. The method prototype for this callback is:
+ * </UL>
+ *
+ * <PRE>
+ * void beginData(int type, Object polygonData);</PRE>
+ *
+ * <b>GLU_TESS_EDGE_FLAG</b>
+ * <UL>
+ * The edge flag callback is similar to
+ * {@link javax.media.opengl.GL#glEdgeFlag glEdgeFlag}. The method takes
+ * a single boolean boundaryEdge that indicates which edges lie on the
+ * polygon boundary. If the boundaryEdge is <b>GL_TRUE</b>, then each vertex
+ * that follows begins an edge that lies on the polygon boundary, that is,
+ * an edge that separates an interior region from an exterior one. If the
+ * boundaryEdge is <b>GL_FALSE</b>, then each vertex that follows begins an
+ * edge that lies in the polygon interior. The edge flag callback (if
+ * defined) is invoked before the first vertex callback.<P>
+ *
+ * Since triangle fans and triangle strips do not support edge flags, the
+ * begin callback is not called with <b>GL_TRIANGLE_FAN</b> or
+ * <b>GL_TRIANGLE_STRIP</b> if a non-null edge flag callback is provided.
+ * (If the callback is initialized to null, there is no impact on
+ * performance). Instead, the fans and strips are converted to independent
+ * triangles. The method prototype for this callback is:
+ * </UL>
+ *
+ * <PRE>
+ * void edgeFlag(boolean boundaryEdge);</PRE>
+ *
+ * <b>GLU_TESS_EDGE_FLAG_DATA</b>
+ * <UL>
+ * The same as the <b>GLU_TESS_EDGE_FLAG</b> callback except that it takes
+ * an additional reference argument. This reference is identical to the
+ * opaque reference provided when
+ * {@link #gluTessBeginPolygon gluTessBeginPolygon}
+ * was called. The method prototype for this callback is:
+ * </UL>
+ *
+ * <PRE>
+ * void edgeFlagData(boolean boundaryEdge, Object polygonData);</PRE>
+ *
+ * <b>GLU_TESS_VERTEX</b>
+ * <UL>
+ * The vertex callback is invoked between the begin and end callbacks. It is
+ * similar to {@link javax.media.opengl.GL#glVertex3f glVertex3f}, and it
+ * defines the vertices of the triangles created by the tessellation
+ * process. The method takes a reference as its only argument. This
+ * reference is identical to the opaque reference provided by the user when
+ * the vertex was described (see
+ * {@link #gluTessVertex gluTessVertex}). The method
+ * prototype for this callback is:
+ * </UL>
+ *
+ * <PRE>
+ * void vertex(Object vertexData);</PRE>
+ *
+ * <b>GLU_TESS_VERTEX_DATA</b>
+ * <UL>
+ * The same as the <b>GLU_TESS_VERTEX</b> callback except that it takes an
+ * additional reference argument. This reference is identical to the opaque
+ * reference provided when
+ * {@link #gluTessBeginPolygon gluTessBeginPolygon}
+ * was called. The method prototype for this callback is:
+ * </UL>
+ *
+ * <PRE>
+ * void vertexData(Object vertexData, Object polygonData);</PRE>
+ *
+ * <b>GLU_TESS_END</b>
+ * <UL>
+ * The end callback serves the same purpose as
+ * {@link javax.media.opengl.GL#glEnd glEnd}. It indicates the end of a
+ * primitive and it takes no arguments. The method prototype for this
+ * callback is:
+ * </UL>
+ *
+ * <PRE>
+ * void end();</PRE>
+ *
+ * <b>GLU_TESS_END_DATA</b>
+ * <UL>
+ * The same as the <b>GLU_TESS_END</b> callback except that it takes an
+ * additional reference argument. This reference is identical to the opaque
+ * reference provided when
+ * {@link #gluTessBeginPolygon gluTessBeginPolygon}
+ * was called. The method prototype for this callback is:
+ * </UL>
+ *
+ * <PRE>
+ * void endData(Object polygonData);</PRE>
+ *
+ * <b>GLU_TESS_COMBINE</b>
+ * <UL>
+ * The combine callback is called to create a new vertex when the
+ * tessellation detects an intersection, or wishes to merge features. The
+ * method takes four arguments: an array of three elements each of type
+ * double, an array of four references, an array of four elements each of
+ * type float, and a reference to a reference. The prototype is:
+ * </UL>
+ *
+ * <PRE>
+ * void combine(double[] coords, Object[] data,
+ * float[] weight, Object[] outData);</PRE>
+ *
+ * <UL>
+ * The vertex is defined as a linear combination of up to four existing
+ * vertices, stored in <i>data</i>. The coefficients of the linear
+ * combination are given by <i>weight</i>; these weights always add up to 1.
+ * All vertex pointers are valid even when some of the weights are 0.
+ * <i>coords</i> gives the location of the new vertex.<P>
+ *
+ * The user must allocate another vertex, interpolate parameters using
+ * <i>data</i> and <i>weight</i>, and return the new vertex pointer
+ * in <i>outData</i>. This handle is supplied during rendering callbacks.
+ * The user is responsible for freeing the memory some time after
+ * {@link #gluTessEndPolygon gluTessEndPolygon} is
+ * called.<P>
+ *
+ * For example, if the polygon lies in an arbitrary plane in 3-space, and a
+ * color is associated with each vertex, the <b>GLU_TESS_COMBINE</b>
+ * callback might look like this:
+ * </UL>
+ * <PRE>
+ * void myCombine(double[] coords, Object[] data,
+ * float[] weight, Object[] outData)
+ * {
+ * MyVertex newVertex = new MyVertex();
+ *
+ * newVertex.x = coords[0];
+ * newVertex.y = coords[1];
+ * newVertex.z = coords[2];
+ * newVertex.r = weight[0]*data[0].r +
+ * weight[1]*data[1].r +
+ * weight[2]*data[2].r +
+ * weight[3]*data[3].r;
+ * newVertex.g = weight[0]*data[0].g +
+ * weight[1]*data[1].g +
+ * weight[2]*data[2].g +
+ * weight[3]*data[3].g;
+ * newVertex.b = weight[0]*data[0].b +
+ * weight[1]*data[1].b +
+ * weight[2]*data[2].b +
+ * weight[3]*data[3].b;
+ * newVertex.a = weight[0]*data[0].a +
+ * weight[1]*data[1].a +
+ * weight[2]*data[2].a +
+ * weight[3]*data[3].a;
+ * outData = newVertex;
+ * }</PRE>
+ *
+ * <UL>
+ * If the tessellation detects an intersection, then the
+ * <b>GLU_TESS_COMBINE</b> or <b>GLU_TESS_COMBINE_DATA</b> callback (see
+ * below) must be defined, and it must write a non-null reference into
+ * <i>outData</i>. Otherwise the <b>GLU_TESS_NEED_COMBINE_CALLBACK</b> error
+ * occurs, and no output is generated.
+ * </UL>
+ *
+ * <b>GLU_TESS_COMBINE_DATA</b>
+ * <UL>
+ * The same as the <b>GLU_TESS_COMBINE</b> callback except that it takes an
+ * additional reference argument. This reference is identical to the opaque
+ * reference provided when
+ * {@link #gluTessBeginPolygon gluTessBeginPolygon}
+ * was called. The method prototype for this callback is:
+ * </UL>
+ *
+ * <PRE>
+ * void combineData(double[] coords, Object[] data,
+ float[] weight, Object[] outData,
+ Object polygonData);</PRE>
+ *
+ * <b>GLU_TESS_ERROR</b>
+ * <UL>
+ * The error callback is called when an error is encountered. The one
+ * argument is of type int; it indicates the specific error that occurred
+ * and will be set to one of <b>GLU_TESS_MISSING_BEGIN_POLYGON</b>,
+ * <b>GLU_TESS_MISSING_END_POLYGON</b>,
+ * <b>GLU_TESS_MISSING_BEGIN_CONTOUR</b>,
+ * <b>GLU_TESS_MISSING_END_CONTOUR</b>, <b>GLU_TESS_COORD_TOO_LARGE</b>,
+ * <b>GLU_TESS_NEED_COMBINE_CALLBACK</b> or <b>GLU_OUT_OF_MEMORY</b>.
+ * Character strings describing these errors can be retrieved with the
+ * {@link #gluErrorString gluErrorString} call. The
+ * method prototype for this callback is:
+ * </UL>
+ *
+ * <PRE>
+ * void error(int errnum);</PRE>
+ *
+ * <UL>
+ * The GLU library will recover from the first four errors by inserting the
+ * missing call(s). <b>GLU_TESS_COORD_TOO_LARGE</b> indicates that some
+ * vertex coordinate exceeded the predefined constant
+ * <b>GLU_TESS_MAX_COORD</b> in absolute value, and that the value has been
+ * clamped. (Coordinate values must be small enough so that two can be
+ * multiplied together without overflow.)
+ * <b>GLU_TESS_NEED_COMBINE_CALLBACK</b> indicates that the tessellation
+ * detected an intersection between two edges in the input data, and the
+ * <b>GLU_TESS_COMBINE</b> or <b>GLU_TESS_COMBINE_DATA</b> callback was not
+ * provided. No output is generated. <b>GLU_OUT_OF_MEMORY</b> indicates that
+ * there is not enough memory so no output is generated.
+ * </UL>
+ *
+ * <b>GLU_TESS_ERROR_DATA</b>
+ * <UL>
+ * The same as the GLU_TESS_ERROR callback except that it takes an
+ * additional reference argument. This reference is identical to the opaque
+ * reference provided when
+ * {@link #gluTessBeginPolygon gluTessBeginPolygon}
+ * was called. The method prototype for this callback is:
+ * </UL>
+ *
+ * <PRE>
+ * void errorData(int errnum, Object polygonData);</PRE>
+ *
+ * @param tessellator
+ * Specifies the tessellation object (created with
+ * {@link #gluNewTess gluNewTess}).
+ * @param which
+ * Specifies the callback being defined. The following values are
+ * valid: <b>GLU_TESS_BEGIN</b>, <b>GLU_TESS_BEGIN_DATA</b>,
+ * <b>GLU_TESS_EDGE_FLAG</b>, <b>GLU_TESS_EDGE_FLAG_DATA</b>,
+ * <b>GLU_TESS_VERTEX</b>, <b>GLU_TESS_VERTEX_DATA</b>,
+ * <b>GLU_TESS_END</b>, <b>GLU_TESS_END_DATA</b>,
+ * <b>GLU_TESS_COMBINE</b>, <b>GLU_TESS_COMBINE_DATA</b>,
+ * <b>GLU_TESS_ERROR</b>, and <b>GLU_TESS_ERROR_DATA</b>.
+ * @param aCallback
+ * Specifies the callback object to be called.
+ *
+ * @see javax.media.opengl.GL#glBegin glBegin
+ * @see javax.media.opengl.GL#glEdgeFlag glEdgeFlag
+ * @see javax.media.opengl.GL#glVertex3f glVertex3f
+ * @see #gluNewTess gluNewTess
+ * @see #gluErrorString gluErrorString
+ * @see #gluTessVertex gluTessVertex
+ * @see #gluTessBeginPolygon gluTessBeginPolygon
+ * @see #gluTessBeginContour gluTessBeginContour
+ * @see #gluTessProperty gluTessProperty
+ * @see #gluTessNormal gluTessNormal
+ ****************************************************************************/
+public void gluTessCallback(GLUtessellator tessellator, int which, GLUtessellatorCallback aCallback) {
+ GLUtessellatorImpl tess = (GLUtessellatorImpl) tessellator;
+ tess.gluTessCallback(which, aCallback);
+}
+
+/*****************************************************************************
+ * <b>gluTessVertex</b> describes a vertex on a polygon that the program
+ * defines. Successive <b>gluTessVertex</b> calls describe a closed contour.
+ * For example, to describe a quadrilateral <b>gluTessVertex</b> should be
+ * called four times. <b>gluTessVertex</b> can only be called between
+ * {@link #gluTessBeginContour gluTessBeginContour} and
+ * {@link #gluTessBeginContour gluTessEndContour}.<P>
+ *
+ * <b>data</b> normally references to a structure containing the vertex
+ * location, as well as other per-vertex attributes such as color and normal.
+ * This reference is passed back to the user through the
+ * <b>GLU_TESS_VERTEX</b> or <b>GLU_TESS_VERTEX_DATA</b> callback after
+ * tessellation (see the {@link #gluTessCallback
+ * gluTessCallback} reference page).
+ *
+ * @param tessellator
+ * Specifies the tessellation object (created with
+ * {@link #gluNewTess gluNewTess}).
+ * @param coords
+ * Specifies the coordinates of the vertex.
+ * @param data
+ * Specifies an opaque reference passed back to the program with the
+ * vertex callback (as specified by
+ * {@link #gluTessCallback gluTessCallback}).
+ *
+ * @see #gluTessBeginPolygon gluTessBeginPolygon
+ * @see #gluNewTess gluNewTess
+ * @see #gluTessBeginContour gluTessBeginContour
+ * @see #gluTessCallback gluTessCallback
+ * @see #gluTessProperty gluTessProperty
+ * @see #gluTessNormal gluTessNormal
+ * @see #gluTessEndPolygon gluTessEndPolygon
+ ****************************************************************************/
+public void gluTessVertex(GLUtessellator tessellator, double[] coords, int coords_offset, Object data) {
+ GLUtessellatorImpl tess = (GLUtessellatorImpl) tessellator;
+ tess.gluTessVertex(coords, coords_offset, data);
+}
+
+/*****************************************************************************
+ * <b>gluTessBeginPolygon</b> and
+ * {@link #gluTessEndPolygon gluTessEndPolygon} delimit
+ * the definition of a convex, concave or self-intersecting polygon. Within
+ * each <b>gluTessBeginPolygon</b>/
+ * {@link #gluTessEndPolygon gluTessEndPolygon} pair,
+ * there must be one or more calls to
+ * {@link #gluTessBeginContour gluTessBeginContour}/
+ * {@link #gluTessEndContour gluTessEndContour}. Within
+ * each contour, there are zero or more calls to
+ * {@link #gluTessVertex gluTessVertex}. The vertices
+ * specify a closed contour (the last vertex of each contour is automatically
+ * linked to the first). See the {@link #gluTessVertex
+ * gluTessVertex}, {@link #gluTessBeginContour
+ * gluTessBeginContour}, and {@link #gluTessEndContour
+ * gluTessEndContour} reference pages for more details.<P>
+ *
+ * <b>data</b> is a reference to a user-defined data structure. If the
+ * appropriate callback(s) are specified (see
+ * {@link #gluTessCallback gluTessCallback}), then this
+ * reference is returned to the callback method(s). Thus, it is a convenient
+ * way to store per-polygon information.<P>
+ *
+ * Once {@link #gluTessEndPolygon gluTessEndPolygon} is
+ * called, the polygon is tessellated, and the resulting triangles are
+ * described through callbacks. See
+ * {@link #gluTessCallback gluTessCallback} for
+ * descriptions of the callback methods.
+ *
+ * @param tessellator
+ * Specifies the tessellation object (created with
+ * {@link #gluNewTess gluNewTess}).
+ * @param data
+ * Specifies a reference to user polygon data.
+ *
+ * @see #gluNewTess gluNewTess
+ * @see #gluTessBeginContour gluTessBeginContour
+ * @see #gluTessVertex gluTessVertex
+ * @see #gluTessCallback gluTessCallback
+ * @see #gluTessProperty gluTessProperty
+ * @see #gluTessNormal gluTessNormal
+ * @see #gluTessEndPolygon gluTessEndPolygon
+ ****************************************************************************/
+public void gluTessBeginPolygon(GLUtessellator tessellator, Object data) {
+ GLUtessellatorImpl tess = (GLUtessellatorImpl) tessellator;
+ tess.gluTessBeginPolygon(data);
+}
+
+/*****************************************************************************
+ * <b>gluTessBeginContour</b> and
+ * {@link #gluTessEndContour gluTessEndContour} delimit
+ * the definition of a polygon contour. Within each
+ * <b>gluTessBeginContour</b>/
+ * {@link #gluTessEndContour gluTessEndContour} pair,
+ * there can be zero or more calls to
+ * {@link #gluTessVertex gluTessVertex}. The vertices
+ * specify a closed contour (the last vertex of each contour is automatically
+ * linked to the first). See the {@link #gluTessVertex
+ * gluTessVertex} reference page for more details. <b>gluTessBeginContour</b>
+ * can only be called between
+ * {@link #gluTessBeginPolygon gluTessBeginPolygon} and
+ * {@link #gluTessEndPolygon gluTessEndPolygon}.
+ *
+ * @param tessellator
+ * Specifies the tessellation object (created with
+ * {@link #gluNewTess gluNewTess}).
+ *
+ * @see #gluNewTess gluNewTess
+ * @see #gluTessBeginPolygon gluTessBeginPolygon
+ * @see #gluTessVertex gluTessVertex
+ * @see #gluTessCallback gluTessCallback
+ * @see #gluTessProperty gluTessProperty
+ * @see #gluTessNormal gluTessNormal
+ * @see #gluTessEndPolygon gluTessEndPolygon
+ ****************************************************************************/
+public void gluTessBeginContour(GLUtessellator tessellator) {
+ GLUtessellatorImpl tess = (GLUtessellatorImpl) tessellator;
+ tess.gluTessBeginContour();
+}
+
+/*****************************************************************************
+ * <b>gluTessEndContour</b> and
+ * {@link #gluTessBeginContour gluTessBeginContour}
+ * delimit the definition of a polygon contour. Within each
+ * {@link #gluTessBeginContour gluTessBeginContour}/
+ * <b>gluTessEndContour</b> pair, there can be zero or more calls to
+ * {@link #gluTessVertex gluTessVertex}. The vertices
+ * specify a closed contour (the last vertex of each contour is automatically
+ * linked to the first). See the {@link #gluTessVertex
+ * gluTessVertex} reference page for more details.
+ * {@link #gluTessBeginContour gluTessBeginContour} can
+ * only be called between {@link #gluTessBeginPolygon
+ * gluTessBeginPolygon} and
+ * {@link #gluTessEndPolygon gluTessEndPolygon}.
+ *
+ * @param tessellator
+ * Specifies the tessellation object (created with
+ * {@link #gluNewTess gluNewTess}).
+ *
+ * @see #gluNewTess gluNewTess
+ * @see #gluTessBeginPolygon gluTessBeginPolygon
+ * @see #gluTessVertex gluTessVertex
+ * @see #gluTessCallback gluTessCallback
+ * @see #gluTessProperty gluTessProperty
+ * @see #gluTessNormal gluTessNormal
+ * @see #gluTessEndPolygon gluTessEndPolygon
+ ****************************************************************************/
+public void gluTessEndContour(GLUtessellator tessellator) {
+ GLUtessellatorImpl tess = (GLUtessellatorImpl) tessellator;
+ tess.gluTessEndContour();
+}
+
+/*****************************************************************************
+ * <b>gluTessEndPolygon</b> and
+ * {@link #gluTessBeginPolygon gluTessBeginPolygon}
+ * delimit the definition of a convex, concave or self-intersecting polygon.
+ * Within each {@link #gluTessBeginPolygon
+ * gluTessBeginPolygon}/<b>gluTessEndPolygon</b> pair, there must be one or
+ * more calls to {@link #gluTessBeginContour
+ * gluTessBeginContour}/{@link #gluTessEndContour
+ * gluTessEndContour}. Within each contour, there are zero or more calls to
+ * {@link #gluTessVertex gluTessVertex}. The vertices
+ * specify a closed contour (the last vertex of each contour is automatically
+ * linked to the first). See the {@link #gluTessVertex
+ * gluTessVertex}, {@link #gluTessBeginContour
+ * gluTessBeginContour} and {@link #gluTessEndContour
+ * gluTessEndContour} reference pages for more details.<P>
+ *
+ * Once <b>gluTessEndPolygon</b> is called, the polygon is tessellated, and
+ * the resulting triangles are described through callbacks. See
+ * {@link #gluTessCallback gluTessCallback} for
+ * descriptions of the callback functions.
+ *
+ * @param tessellator
+ * Specifies the tessellation object (created with
+ * {@link #gluNewTess gluNewTess}).
+ *
+ * @see #gluNewTess gluNewTess
+ * @see #gluTessBeginContour gluTessBeginContour
+ * @see #gluTessVertex gluTessVertex
+ * @see #gluTessCallback gluTessCallback
+ * @see #gluTessProperty gluTessProperty
+ * @see #gluTessNormal gluTessNormal
+ * @see #gluTessBeginPolygon gluTessBeginPolygon
+ ****************************************************************************/
+public void gluTessEndPolygon(GLUtessellator tessellator) {
+ GLUtessellatorImpl tess = (GLUtessellatorImpl) tessellator;
+ tess.gluTessEndPolygon();
+}
+
+/*****************************************************************************
+
+ * <b>gluBeginPolygon</b> and {@link #gluEndPolygon gluEndPolygon}
+ * delimit the definition of a nonconvex polygon. To define such a
+ * polygon, first call <b>gluBeginPolygon</b>. Then define the
+ * contours of the polygon by calling {@link #gluTessVertex
+ * gluTessVertex} for each vertex and {@link #gluNextContour
+ * gluNextContour} to start each new contour. Finally, call {@link
+ * #gluEndPolygon gluEndPolygon} to signal the end of the
+ * definition. See the {@link #gluTessVertex gluTessVertex} and {@link
+ * #gluNextContour gluNextContour} reference pages for more
+ * details.<P>
+
+ *
+ * Once {@link #gluEndPolygon gluEndPolygon} is called,
+ * the polygon is tessellated, and the resulting triangles are described
+ * through callbacks. See {@link #gluTessCallback
+ * gluTessCallback} for descriptions of the callback methods.
+ *
+ * @param tessellator
+ * Specifies the tessellation object (created with
+ * {@link #gluNewTess gluNewTess}).
+ *
+ * @see #gluNewTess gluNewTess
+ * @see #gluNextContour gluNextContour
+ * @see #gluTessCallback gluTessCallback
+ * @see #gluTessVertex gluTessVertex
+ * @see #gluTessBeginPolygon gluTessBeginPolygon
+ * @see #gluTessBeginContour gluTessBeginContour
+ ****************************************************************************/
+public void gluBeginPolygon(GLUtessellator tessellator) {
+ GLUtessellatorImpl tess = (GLUtessellatorImpl) tessellator;
+ tess.gluBeginPolygon();
+}
+
+/*****************************************************************************
+ * <b>gluNextContour</b> is used to describe polygons with multiple
+ * contours. After you describe the first contour through a series of
+ * {@link #gluTessVertex gluTessVertex} calls, a
+ * <b>gluNextContour</b> call indicates that the previous contour is complete
+ * and that the next contour is about to begin. Perform another series of
+ * {@link #gluTessVertex gluTessVertex} calls to
+ * describe the new contour. Repeat this process until all contours have been
+ * described.<P>
+ *
+ * The type parameter defines what type of contour follows. The following
+ * values are valid. <P>
+ *
+ * <b>GLU_EXTERIOR</b>
+ * <UL>
+ * An exterior contour defines an exterior boundary of the polygon.
+ * </UL>
+ * <b>GLU_INTERIOR</b>
+ * <UL>
+ * An interior contour defines an interior boundary of the polygon (such as
+ * a hole).
+ * </UL>
+ * <b>GLU_UNKNOWN</b>
+ * <UL>
+ * An unknown contour is analyzed by the library to determine whether it is
+ * interior or exterior.
+ * </UL>
+ * <b>GLU_CCW, GLU_CW</b>
+ * <UL>
+ * The first <b>GLU_CCW</b> or <b>GLU_CW</b> contour defined is considered
+ * to be exterior. All other contours are considered to be exterior if they
+ * are oriented in the same direction (clockwise or counterclockwise) as the
+ * first contour, and interior if they are not. If one contour is of type
+ * <b>GLU_CCW</b> or <b>GLU_CW</b>, then all contours must be of the same
+ * type (if they are not, then all <b>GLU_CCW</b> and <b>GLU_CW</b> contours
+ * will be changed to <b>GLU_UNKNOWN</b>). Note that there is no
+ * real difference between the <b>GLU_CCW</b> and <b>GLU_CW</b> contour
+ * types.
+ * </UL><P>
+ *
+ * To define the type of the first contour, you can call <b>gluNextContour</b>
+ * before describing the first contour. If you do not call
+ * <b>gluNextContour</b> before the first contour, the first contour is marked
+ * <b>GLU_EXTERIOR</b>.<P>
+ *
+ * <UL>
+ * <b>Note:</b> The <b>gluNextContour</b> function is obsolete and is
+ * provided for backward compatibility only. The <b>gluNextContour</b>
+ * function is mapped to {@link #gluTessEndContour
+ * gluTessEndContour} followed by
+ * {@link #gluTessBeginContour gluTessBeginContour}.
+ * </UL>
+ *
+ * @param tessellator
+ * Specifies the tessellation object (created with
+ * {@link #gluNewTess gluNewTess}).
+ * @param type
+ * The type of the contour being defined.
+ *
+ * @see #gluNewTess gluNewTess
+ * @see #gluTessBeginContour gluTessBeginContour
+ * @see #gluTessBeginPolygon gluTessBeginPolygon
+ * @see #gluTessCallback gluTessCallback
+ * @see #gluTessEndContour gluTessEndContour
+ * @see #gluTessVertex gluTessVertex
+ ****************************************************************************/
+public void gluNextContour(GLUtessellator tessellator, int type) {
+ GLUtessellatorImpl tess = (GLUtessellatorImpl) tessellator;
+ tess.gluNextContour(type);
+}
+
+/*****************************************************************************
+ * <b>gluEndPolygon</b> and {@link #gluBeginPolygon
+ * gluBeginPolygon} delimit the definition of a nonconvex polygon. To define
+ * such a polygon, first call {@link #gluBeginPolygon
+ * gluBeginPolygon}. Then define the contours of the polygon by calling
+ * {@link #gluTessVertex gluTessVertex} for each vertex
+ * and {@link #gluNextContour gluNextContour} to start
+ * each new contour. Finally, call <b>gluEndPolygon</b> to signal the end of
+ * the definition. See the {@link #gluTessVertex
+ * gluTessVertex} and {@link #gluNextContour
+ * gluNextContour} reference pages for more details.<P>
+ *
+ * Once <b>gluEndPolygon</b> is called, the polygon is tessellated, and the
+ * resulting triangles are described through callbacks. See
+ * {@link #gluTessCallback gluTessCallback} for
+ * descriptions of the callback methods.
+ *
+ * @param tessellator
+ * Specifies the tessellation object (created with
+ * {@link #gluNewTess gluNewTess}).
+ *
+ * @see #gluNewTess gluNewTess
+ * @see #gluNextContour gluNextContour
+ * @see #gluTessCallback gluTessCallback
+ * @see #gluTessVertex gluTessVertex
+ * @see #gluTessBeginPolygon gluTessBeginPolygon
+ * @see #gluTessBeginContour gluTessBeginContour
+ ****************************************************************************/
+public void gluEndPolygon(GLUtessellator tessellator) {
+ GLUtessellatorImpl tess = (GLUtessellatorImpl) tessellator;
+ tess.gluEndPolygon();
+}
+
+//----------------------------------------------------------------------
+// Quadric functionality
+//
+
+/** Interface to C language function: <br> <code> void gluCylinder(GLUquadric * quad, GLdouble base, GLdouble top, GLdouble height, GLint slices, GLint stacks); </code> */
+public void gluCylinder(GLUquadric quad, double base, double top, double height, int slices, int stacks) {
+ ((GLUquadricImpl) quad).drawCylinder(getCurrentGL(), (float) base, (float) top, (float) height, slices, stacks);
+}
+
+/** Interface to C language function: <br> <code> void gluDeleteQuadric(GLUquadric * quad); </code> */
+public void gluDeleteQuadric(GLUquadric quad) {
+}
+
+/** Interface to C language function: <br> <code> void gluDisk(GLUquadric * quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops); </code> */
+public void gluDisk(GLUquadric quad, double inner, double outer, int slices, int loops) {
+ ((GLUquadricImpl) quad).drawDisk(getCurrentGL(), (float) inner, (float) outer, slices, loops);
+}
+
+/** Interface to C language function: <br> <code> GLUquadric * gluNewQuadric(void); </code> */
+public GLUquadric gluNewQuadric() {
+ return new GLUquadricImpl();
+}
+
+/** Interface to C language function: <br> <code> void gluPartialDisk(GLUquadric * quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops, GLdouble start, GLdouble sweep); </code> */
+public void gluPartialDisk(GLUquadric quad, double inner, double outer, int slices, int loops, double start, double sweep) {
+ ((GLUquadricImpl) quad).drawPartialDisk(getCurrentGL(), (float) inner, (float) outer, slices, loops, (float) start, (float) sweep);
+}
+
+/** Interface to C language function: <br> <code> void gluQuadricDrawStyle(GLUquadric * quad, GLenum draw); </code> */
+public void gluQuadricDrawStyle(GLUquadric quad, int draw) {
+ ((GLUquadricImpl) quad).setDrawStyle(draw);
+}
+
+/** Interface to C language function: <br> <code> void gluQuadricNormals(GLUquadric * quad, GLenum normal); </code> */
+public void gluQuadricNormals(GLUquadric quad, int normal) {
+ ((GLUquadricImpl) quad).setNormals(normal);
+}
+
+/** Interface to C language function: <br> <code> void gluQuadricOrientation(GLUquadric * quad, GLenum orientation); </code> */
+public void gluQuadricOrientation(GLUquadric quad, int orientation) {
+ ((GLUquadricImpl) quad).setOrientation(orientation);
+}
+
+/** Interface to C language function: <br> <code> void gluQuadricTexture(GLUquadric * quad, GLboolean texture); </code> */
+public void gluQuadricTexture(GLUquadric quad, boolean texture) {
+ ((GLUquadricImpl) quad).setTextureFlag(texture);
+}
+
+/** Interface to C language function: <br> <code> void gluSphere(GLUquadric * quad, GLdouble radius, GLint slices, GLint stacks); </code> */
+public void gluSphere(GLUquadric quad, double radius, int slices, int stacks) {
+ ((GLUquadricImpl) quad).drawSphere(getCurrentGL(), (float) radius, slices, stacks);
+}
+
+//----------------------------------------------------------------------
+// Projection routines
+//
+
+private Project project;
+
+public void gluOrtho2D(double left, double right, double bottom, double top) {
+ project.gluOrtho2D(getCurrentGL(), left, right, bottom, top);
+}
+
+public void gluPerspective(double fovy, double aspect, double zNear, double zFar) {
+ project.gluPerspective(getCurrentGL(), fovy, aspect, zNear, 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(), 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> */
+public boolean gluProject(double objX, double objY, double objZ, double[] model, int model_offset, double[] proj, int proj_offset, int[] view, int view_offset, double[] winX, int winX_offset, double[] winY, int winY_offset, double[] winZ, int winZ_offset) {
+ double[] tmp = new double[3];
+ boolean res = project.gluProject(objX, objY, objZ, model, model_offset, proj, proj_offset, view, view_offset, tmp, 0);
+ winX[winX_offset] = tmp[0];
+ winY[winY_offset] = tmp[1];
+ winZ[winZ_offset] = tmp[2];
+ return res;
+}
+
+/**
+ * Convenience routine for gluProject that accepts the outgoing window
+ * coordinates as a single array.
+ */
+public boolean gluProject(double objX, double objY, double objZ, double[] model, int model_offset, double[] proj, int proj_offset, int[] view, int view_offset, double[] winPos, int winPos_offset) {
+ return project.gluProject(objX, objY, objZ, model, model_offset, proj, proj_offset, view, view_offset, winPos, winPos_offset);
+}
+
+/** Interface to C language function: <br> <code> GLint gluUnProject(GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble * objX, GLdouble * objY, GLdouble * objZ); </code> */
+public boolean gluUnProject(double winX, double winY, double winZ, double[] model, int model_offset, double[] proj, int proj_offset, int[] view, int view_offset, double[] objX, int objX_offset, double[] objY, int objY_offset, double[] objZ, int objZ_offset) {
+ double[] tmp = new double[3];
+ boolean res = project.gluUnProject(winX, winY, winZ, model, model_offset, proj, proj_offset, view, view_offset, tmp, 0);
+ objX[objX_offset] = tmp[0];
+ objY[objY_offset] = tmp[1];
+ objZ[objZ_offset] = tmp[2];
+ return res;
+}
+
+/**
+ * Convenience routine for gluUnProject that accepts the outgoing
+ * object coordinates (a 3-vector) as a single array.
+ */
+public boolean gluUnProject(double winX, double winY, double winZ, double[] model, int model_offset, double[] proj, int proj_offset, int[] view, int view_offset, double[] objPos, int objPos_offset) {
+ return project.gluUnProject(winX, winY, winZ, model, model_offset, proj, proj_offset, view, view_offset, objPos, objPos_offset);
+}
+
+/** Interface to C language function: <br> <code> GLint gluUnProject4(GLdouble winX, GLdouble winY, GLdouble winZ, GLdouble clipW, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble nearVal, GLdouble farVal, GLdouble * objX, GLdouble * objY, GLdouble * objZ, GLdouble * objW); </code> */
+public boolean gluUnProject4(double winX, double winY, double winZ, double clipW, double[] model, int model_offset, double[] proj, int proj_offset, int[] view, int view_offset, double nearVal, double farVal, double[] objX, int objX_offset, double[] objY, int objY_offset, double[] objZ, int objZ_offset, double[] objW, int objW_offset) {
+ double[] tmp = new double[4];
+ boolean res = project.gluUnProject4(winX, winY, winZ, clipW, model, model_offset, proj, proj_offset,
+ view, view_offset, nearVal, farVal, tmp, 0);
+ objX[objX_offset] = tmp[0];
+ objY[objY_offset] = tmp[1];
+ objZ[objZ_offset] = tmp[2];
+ objW[objW_offset] = tmp[3];
+ return res;
+}
+
+/**
+ * Convenience routine for gluUnProject4 that accepts the outgoing
+ * object coordinates (a 4-vector) as a single array.
+ */
+public boolean gluUnProject4(double winX, double winY, double winZ, double clipW, double[] model, int model_offset, double[] proj, int proj_offset, int[] view, int view_offset, double nearVal, double farVal, double[] objPos, int objPos_offset) {
+ return project.gluUnProject4(winX, winY, winZ, clipW, model, model_offset, proj, proj_offset, view, view_offset, nearVal, farVal, objPos, objPos_offset);
+}
+
+public void gluPickMatrix(double x, double y, double delX, double delY, int[] viewport, int viewport_offset) {
+ project.gluPickMatrix(getCurrentGL(), x, y, delX, delY, viewport, viewport_offset);
+}
+
+public void gluPickMatrix(double x, double y, double delX, double delY, IntBuffer viewport) {
+ project.gluPickMatrix(getCurrentGL(), x, y, delX, delY, viewport);
+}
+
+//----------------------------------------------------------------------
+// Mipmap and image scaling functionality
+
+
+// Boolean
+public static final int GLU_FALSE = 0;
+public static final int GLU_TRUE = 1;
+
+// String Name
+public static final int GLU_VERSION = 100800;
+public static final int GLU_EXTENSIONS = 100801;
+
+// Extensions
+public static final String versionString = "1.3";
+public static final String extensionString = "GLU_EXT_nurbs_tessellator " +
+ "GLU_EXT_object_space_tess ";
+
+// ErrorCode
+public static final int GLU_INVALID_ENUM = 100900;
+public static final int GLU_INVALID_VALUE = 100901;
+public static final int GLU_OUT_OF_MEMORY = 100902;
+public static final int GLU_INVALID_OPERATION = 100904;
+
+// NurbsDisplay
+// GLU_FILL
+public static final int GLU_OUTLINE_POLYGON = 100240;
+public static final int GLU_OUTLINE_PATCH = 100241;
+
+// NurbsCallback
+public static final int GLU_NURBS_ERROR = 100103;
+public static final int GLU_ERROR = 100103;
+public static final int GLU_NURBS_BEGIN = 100164;
+public static final int GLU_NURBS_BEGIN_EXT = 100164;
+public static final int GLU_NURBS_VERTEX = 100165;
+public static final int GLU_NURBS_VERTEX_EXT = 100165;
+public static final int GLU_NURBS_NORMAL = 100166;
+public static final int GLU_NURBS_NORMAL_EXT = 100166;
+public static final int GLU_NURBS_COLOR = 100167;
+public static final int GLU_NURBS_COLOR_EXT = 100167;
+public static final int GLU_NURBS_TEXTURE_COORD = 100168;
+public static final int GLU_NURBS_TEX_COORD_EXT = 100168;
+public static final int GLU_NURBS_END = 100169;
+public static final int GLU_NURBS_END_EXT = 100169;
+public static final int GLU_NURBS_BEGIN_DATA = 100170;
+public static final int GLU_NURBS_BEGIN_DATA_EXT = 100170;
+public static final int GLU_NURBS_VERTEX_DATA = 100171;
+public static final int GLU_NURBS_VERTEX_DATA_EXT = 100171;
+public static final int GLU_NURBS_NORMAL_DATA = 100172;
+public static final int GLU_NURBS_NORMAL_DATA_EXT = 100172;
+public static final int GLU_NURBS_COLOR_DATA = 100173;
+public static final int GLU_NURBS_COLOR_DATA_EXT = 100173;
+public static final int GLU_NURBS_TEXTURE_COORD_DATA = 100174;
+public static final int GLU_NURBS_TEX_COORD_DATA_EXT = 100174;
+public static final int GLU_NURBS_END_DATA = 100175;
+public static final int GLU_NURBS_END_DATA_EXT = 100175;
+
+// NurbsError
+public static final int GLU_NURBS_ERROR1 = 100251;
+public static final int GLU_NURBS_ERROR2 = 100252;
+public static final int GLU_NURBS_ERROR3 = 100253;
+public static final int GLU_NURBS_ERROR4 = 100254;
+public static final int GLU_NURBS_ERROR5 = 100255;
+public static final int GLU_NURBS_ERROR6 = 100256;
+public static final int GLU_NURBS_ERROR7 = 100257;
+public static final int GLU_NURBS_ERROR8 = 100258;
+public static final int GLU_NURBS_ERROR9 = 100259;
+public static final int GLU_NURBS_ERROR10 = 100260;
+public static final int GLU_NURBS_ERROR11 = 100261;
+public static final int GLU_NURBS_ERROR12 = 100262;
+public static final int GLU_NURBS_ERROR13 = 100263;
+public static final int GLU_NURBS_ERROR14 = 100264;
+public static final int GLU_NURBS_ERROR15 = 100265;
+public static final int GLU_NURBS_ERROR16 = 100266;
+public static final int GLU_NURBS_ERROR17 = 100267;
+public static final int GLU_NURBS_ERROR18 = 100268;
+public static final int GLU_NURBS_ERROR19 = 100269;
+public static final int GLU_NURBS_ERROR20 = 100270;
+public static final int GLU_NURBS_ERROR21 = 100271;
+public static final int GLU_NURBS_ERROR22 = 100272;
+public static final int GLU_NURBS_ERROR23 = 100273;
+public static final int GLU_NURBS_ERROR24 = 100274;
+public static final int GLU_NURBS_ERROR25 = 100275;
+public static final int GLU_NURBS_ERROR26 = 100276;
+public static final int GLU_NURBS_ERROR27 = 100277;
+public static final int GLU_NURBS_ERROR28 = 100278;
+public static final int GLU_NURBS_ERROR29 = 100279;
+public static final int GLU_NURBS_ERROR30 = 100280;
+public static final int GLU_NURBS_ERROR31 = 100281;
+public static final int GLU_NURBS_ERROR32 = 100282;
+public static final int GLU_NURBS_ERROR33 = 100283;
+public static final int GLU_NURBS_ERROR34 = 100284;
+public static final int GLU_NURBS_ERROR35 = 100285;
+public static final int GLU_NURBS_ERROR36 = 100286;
+public static final int GLU_NURBS_ERROR37 = 100287;
+
+// NurbsProperty
+public static final int GLU_AUTO_LOAD_MATRIX = 100200;
+public static final int GLU_CULLING = 100201;
+public static final int GLU_SAMPLING_TOLERANCE = 100203;
+public static final int GLU_DISPLAY_MODE = 100204;
+public static final int GLU_PARAMETRIC_TOLERANCE = 100202;
+public static final int GLU_SAMPLING_METHOD = 100205;
+public static final int GLU_U_STEP = 100206;
+public static final int GLU_V_STEP = 100207;
+public static final int GLU_NURBS_MODE = 100160;
+public static final int GLU_NURBS_MODE_EXT = 100160;
+public static final int GLU_NURBS_TESSELLATOR = 100161;
+public static final int GLU_NURBS_TESSELLATOR_EXT = 100161;
+public static final int GLU_NURBS_RENDERER = 100162;
+public static final int GLU_NURBS_RENDERER_EXT = 100162;
+
+// NurbsSampling
+public static final int GLU_OBJECT_PARAMETRIC_ERROR = 100208;
+public static final int GLU_OBJECT_PARAMETRIC_ERROR_EXT = 100208;
+public static final int GLU_OBJECT_PATH_LENGTH = 100209;
+public static final int GLU_OBJECT_PATH_LENGTH_EXT = 100209;
+public static final int GLU_PATH_LENGTH = 100215;
+public static final int GLU_PARAMETRIC_ERROR = 100216;
+public static final int GLU_DOMAIN_DISTANCE = 100217;
+
+// NurbsTrim
+public static final int GLU_MAP1_TRIM_2 = 100210;
+public static final int GLU_MAP1_TRIM_3 = 100211;
+
+// QuadricDrawStyle
+public static final int GLU_POINT = 100010;
+public static final int GLU_LINE = 100011;
+public static final int GLU_FILL = 100012;
+public static final int GLU_SILHOUETTE = 100013;
+
+// QuadricCallback
+// GLU_ERROR
+
+// QuadricNormal
+public static final int GLU_SMOOTH = 100000;
+public static final int GLU_FLAT = 100001;
+public static final int GLU_NONE = 100002;
+
+// QuadricOrientation
+public static final int GLU_OUTSIDE = 100020;
+public static final int GLU_INSIDE = 100021;
+
+// TessCallback
+public static final int GLU_TESS_BEGIN = 100100;
+public static final int GLU_BEGIN = 100100;
+public static final int GLU_TESS_VERTEX = 100101;
+public static final int GLU_VERTEX = 100101;
+public static final int GLU_TESS_END = 100102;
+public static final int GLU_END = 100102;
+public static final int GLU_TESS_ERROR = 100103;
+public static final int GLU_TESS_EDGE_FLAG = 100104;
+public static final int GLU_EDGE_FLAG = 100104;
+public static final int GLU_TESS_COMBINE = 100105;
+public static final int GLU_TESS_BEGIN_DATA = 100106;
+public static final int GLU_TESS_VERTEX_DATA = 100107;
+public static final int GLU_TESS_END_DATA = 100108;
+public static final int GLU_TESS_ERROR_DATA = 100109;
+public static final int GLU_TESS_EDGE_FLAG_DATA = 100110;
+public static final int GLU_TESS_COMBINE_DATA = 100111;
+
+// TessContour
+public static final int GLU_CW = 100120;
+public static final int GLU_CCW = 100121;
+public static final int GLU_INTERIOR = 100122;
+public static final int GLU_EXTERIOR = 100123;
+public static final int GLU_UNKNOWN = 100124;
+
+// TessProperty
+public static final int GLU_TESS_WINDING_RULE = 100140;
+public static final int GLU_TESS_BOUNDARY_ONLY = 100141;
+public static final int GLU_TESS_TOLERANCE = 100142;
+
+// TessError
+public static final int GLU_TESS_ERROR1 = 100151;
+public static final int GLU_TESS_ERROR2 = 100152;
+public static final int GLU_TESS_ERROR3 = 100153;
+public static final int GLU_TESS_ERROR4 = 100154;
+public static final int GLU_TESS_ERROR5 = 100155;
+public static final int GLU_TESS_ERROR6 = 100156;
+public static final int GLU_TESS_ERROR7 = 100157;
+public static final int GLU_TESS_ERROR8 = 100158;
+public static final int GLU_TESS_MISSING_BEGIN_POLYGON = 100151;
+public static final int GLU_TESS_MISSING_BEGIN_CONTOUR = 100152;
+public static final int GLU_TESS_MISSING_END_POLYGON = 100153;
+public static final int GLU_TESS_MISSING_END_CONTOUR = 100154;
+public static final int GLU_TESS_COORD_TOO_LARGE = 100155;
+public static final int GLU_TESS_NEED_COMBINE_CALLBACK = 100156;
+
+// TessWinding
+public static final int GLU_TESS_WINDING_ODD = 100130;
+public static final int GLU_TESS_WINDING_NONZERO = 100131;
+public static final int GLU_TESS_WINDING_POSITIVE = 100132;
+public static final int GLU_TESS_WINDING_NEGATIVE = 100133;
+public static final int GLU_TESS_WINDING_ABS_GEQ_TWO = 100134;
+public static final double GLU_TESS_MAX_COORD = 1.0e150;
+
+private ByteBuffer copyToByteBuffer(Buffer buf) {
+ if (buf instanceof ByteBuffer) {
+ if (buf.position() == 0) {
+ return (ByteBuffer) buf;
+ }
+ return BufferUtils.copyByteBuffer((ByteBuffer) buf);
+ } else if (buf instanceof ShortBuffer) {
+ return BufferUtils.copyShortBufferAsByteBuffer((ShortBuffer) buf);
+ } else if (buf instanceof IntBuffer) {
+ return BufferUtils.copyIntBufferAsByteBuffer((IntBuffer) buf);
+ } else if (buf instanceof FloatBuffer) {
+ return BufferUtils.copyFloatBufferAsByteBuffer((FloatBuffer) buf);
+ } else {
+ throw new IllegalArgumentException("Unsupported buffer type (must be one of byte, short, int, or float)");
+ }
+}
+
+private int gluScaleImageJava( int format, int widthin, int heightin,
+ int typein, Buffer datain, int widthout, int heightout,
+ int typeout, Buffer dataout ) {
+ ByteBuffer in = null;
+ ByteBuffer out = null;
+ in = copyToByteBuffer(datain);
+ if( dataout instanceof ByteBuffer ) {
+ out = (ByteBuffer)dataout;
+ } else if( dataout instanceof ShortBuffer ) {
+ out = BufferUtils.newByteBuffer(dataout.remaining() * BufferUtils.SIZEOF_SHORT);
+ } else if ( dataout instanceof IntBuffer ) {
+ out = BufferUtils.newByteBuffer(dataout.remaining() * BufferUtils.SIZEOF_INT);
+ } else if ( dataout instanceof FloatBuffer ) {
+ out = BufferUtils.newByteBuffer(dataout.remaining() * BufferUtils.SIZEOF_FLOAT);
+ } else {
+ throw new IllegalArgumentException("Unsupported destination buffer type (must be byte, short, int, or float)");
+ }
+ int errno = Mipmap.gluScaleImage( getCurrentGL(), format, widthin, heightin, typein, in,
+ widthout, heightout, typeout, out );
+ if( errno == 0 ) {
+ out.rewind();
+ if( dataout instanceof ShortBuffer ) {
+ ((ShortBuffer) dataout).put(out.asShortBuffer());
+ } else if( dataout instanceof IntBuffer ) {
+ ((IntBuffer) dataout).put(out.asIntBuffer());
+ } else if( dataout instanceof FloatBuffer ) {
+ ((FloatBuffer) dataout).put(out.asFloatBuffer());
+ } else {
+ throw new RuntimeException("Should not reach here");
+ }
+ }
+ return( errno );
+}
+
+
+private int gluBuild1DMipmapLevelsJava( int target, int internalFormat, int width,
+ int format, int type, int userLevel, int baseLevel, int maxLevel,
+ Buffer data ) {
+ ByteBuffer buffer = copyToByteBuffer(data);
+ return( Mipmap.gluBuild1DMipmapLevels( getCurrentGL(), target, internalFormat, width,
+ format, type, userLevel, baseLevel, maxLevel, buffer ) );
+}
+
+
+private int gluBuild1DMipmapsJava( int target, int internalFormat, int width,
+ int format, int type, Buffer data ) {
+ ByteBuffer buffer = copyToByteBuffer(data);
+ return( Mipmap.gluBuild1DMipmaps( getCurrentGL(), target, internalFormat, width, format,
+ type, buffer ) );
+}
+
+
+private int gluBuild2DMipmapLevelsJava( int target, int internalFormat, int width,
+ int height, int format, int type, int userLevel, int baseLevel,
+ int maxLevel, Buffer data ) {
+ // While the code below handles other data types, it doesn't handle non-ByteBuffers
+ data = copyToByteBuffer(data);
+ return( Mipmap.gluBuild2DMipmapLevels( getCurrentGL(), target, internalFormat, width,
+ height, format, type, userLevel, baseLevel, maxLevel, data ) );
+}
+
+private int gluBuild2DMipmapsJava( int target, int internalFormat, int width,
+ int height, int format, int type, Buffer data ) {
+ // While the code below handles other data types, it doesn't handle non-ByteBuffers
+ data = copyToByteBuffer(data);
+ return( Mipmap.gluBuild2DMipmaps( getCurrentGL(), target, internalFormat, width, height,
+ format, type, data) );
+}
+
+private int gluBuild3DMipmapLevelsJava( int target, int internalFormat, int width,
+ int height, int depth, int format, int type, int userLevel, int baseLevel,
+ int maxLevel, Buffer data) {
+ ByteBuffer buffer = copyToByteBuffer(data);
+ return( Mipmap.gluBuild3DMipmapLevels( getCurrentGL(), target, internalFormat, width,
+ height, depth, format, type, userLevel, baseLevel, maxLevel, buffer) );
+}
+
+private int gluBuild3DMipmapsJava( int target, int internalFormat, int width,
+ int height, int depth, int format, int type, Buffer data ) {
+ ByteBuffer buffer = copyToByteBuffer(data);
+ return( Mipmap.gluBuild3DMipmaps( getCurrentGL(), target, internalFormat, width, height,
+ depth, format, type, buffer ) );
+}
+
+
+//----------------------------------------------------------------------
+// Wrappers for mipmap and image scaling entry points which dispatch either
+// to the Java or C versions.
+//
+
+/** Interface to C language function: <br> <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
+public int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, java.nio.Buffer data) {
+ if (useJavaMipmapCode) {
+ return gluBuild1DMipmapLevelsJava(target, internalFormat, width, format, type, level, base, max, data);
+ } else {
+ return gluBuild1DMipmapLevelsC(target, internalFormat, width, format, type, level, base, max, data);
+ }
+}
+
+/** Interface to C language function: <br> <code> GLint gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void * data); </code> */
+public int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, java.nio.Buffer data) {
+ if (useJavaMipmapCode) {
+ return gluBuild1DMipmapsJava(target, internalFormat, width, format, type, data);
+ } else {
+ return gluBuild1DMipmapsC(target, internalFormat, width, format, type, data);
+ }
+}
+
+/** Interface to C language function: <br> <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
+public int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, java.nio.Buffer data) {
+ if (useJavaMipmapCode) {
+ return gluBuild2DMipmapLevelsJava(target, internalFormat, width, height, format, type, level, base, max, data);
+ } else {
+ return gluBuild2DMipmapLevelsC(target, internalFormat, width, height, format, type, level, base, max, data);
+ }
+}
+
+
+/** Interface to C language function: <br> <code> GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * data); </code> */
+public int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, java.nio.Buffer data) {
+ if (useJavaMipmapCode) {
+ return gluBuild2DMipmapsJava(target, internalFormat, width, height, format, type, data);
+ } else {
+ return gluBuild2DMipmapsC(target, internalFormat, width, height, format, type, data);
+ }
+}
+
+
+/** Interface to C language function: <br> <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
+public int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, java.nio.Buffer data) {
+ if (useJavaMipmapCode) {
+ return gluBuild3DMipmapLevelsJava(target, internalFormat, width, height, depth, format, type, level, base, max, data);
+ } else {
+ return gluBuild3DMipmapLevelsC(target, internalFormat, width, height, depth, format, type, level, base, max, data);
+ }
+}
+
+/** Interface to C language function: <br> <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data); </code> */
+public int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, java.nio.Buffer data) {
+ if (useJavaMipmapCode) {
+ return gluBuild3DMipmapsJava(target, internalFormat, width, height, depth, format, type, data);
+ } else {
+ return gluBuild3DMipmapsC(target, internalFormat, width, height, depth, format, type, data);
+ }
+}
+
+
+/** Interface to C language function: <br> <code> GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void * dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid * dataOut); </code> */
+public int gluScaleImage(int format, int wIn, int hIn, int typeIn, java.nio.Buffer dataIn, int wOut, int hOut, int typeOut, java.nio.Buffer dataOut) {
+ if (useJavaMipmapCode) {
+ return gluScaleImageJava(format, wIn, hIn, typeIn, dataIn, wOut, hOut, typeOut, dataOut);
+ } else {
+ return gluScaleImageC(format, wIn, hIn, typeIn, dataIn, wOut, hOut, typeOut, dataOut);
+ }
+}
+
+//----------------------------------------------------------------------
+// GLUProcAddressTable handling
+//
+
+private static GLUProcAddressTable gluProcAddressTable;
+
+private static GLUProcAddressTable getGLUProcAddressTable() {
+ if (gluProcAddressTable == null) {
+ GLUProcAddressTable tmp = new GLUProcAddressTable();
+ GLDrawableFactoryImpl.getFactoryImpl().resetProcAddressTable(tmp);
+ gluProcAddressTable = tmp;
+ }
+ return gluProcAddressTable;
+}
diff --git a/make/glu-common.cfg b/make/glu-common.cfg
index 917a95a62..e0a5b150a 100644
--- a/make/glu-common.cfg
+++ b/make/glu-common.cfg
@@ -1,19 +1,39 @@
# This .cfg file provides common options used among all GLU glue code
# generated for Jogl on all platforms.
-Package net.java.games.jogl
-ImplPackage net.java.games.jogl.impl
-JavaClass GLU
-ImplJavaClass GLUImpl
+Style ImplOnly
+ImplPackage javax.media.opengl.glu
+ImplJavaClass GLU
JavaOutputDir ../build/gensrc/classes
NativeOutputDir ../build/gensrc/native/jogl
HierarchicalNativeOutput false
+EmitProcAddressTable true
+ProcAddressTablePackage com.sun.opengl.impl
+ProcAddressTableClassName GLUProcAddressTable
+GetProcAddressTableExpr getGLUProcAddressTable()
+
#
# Imports needed by all glue code
#
Import java.nio.*
-Import net.java.games.jogl.*
-Import net.java.games.jogl.impl.*
+Import javax.media.opengl.*
+Import javax.media.opengl.glu.*
+Import com.sun.opengl.impl.*
+
+# GLU needs access to the GLUtesselatorImpl class for GLUtesselator
+# and to the Mipmap class for scaling and mipmap generation
+Import com.sun.opengl.impl.tessellator.GLUtessellatorImpl
+Import com.sun.opengl.impl.error.Error
+Import com.sun.opengl.impl.mipmap.Mipmap
+Import com.sun.opengl.impl.registry.Registry
+Import com.sun.opengl.utils.*
+Import java.security.*
+
+# Custom Java code for GLU class
+IncludeAs CustomJavaCode GLU glu-CustomJavaCode.java
+
+CustomCCode /* Include the OpenGL GLU header */
+CustomCCode #include <GL/glu.h>
# Raise GLException instead of RuntimeException in glue code
RuntimeExceptionType GLException
@@ -26,25 +46,6 @@ Opaque boolean GLboolean
Opaque boolean BOOL
#
-# Some functions that return native byte pointers or accept them as
-# arguments should have them auto-converted to Java Strings
-#
-ReturnsString gluGetString
-ReturnsString gluErrorString
-ArgumentIsString gluCheckExtension 0 1
-
-#
-# Some routines should only use the Java New IO package
-#
-#NIOOnly gluScaleImage
-#NIOOnly gluBuild1DMipmaps
-#NIOOnly gluBuild2DMipmaps
-#NIOOnly gluBuild3DMipmaps
-#NIOOnly gluBuild1DMipmapLevels
-#NIOOnly gluBuild2DMipmapLevels
-#NIOOnly gluBuild3DMipmapLevels
-
-#
# Don't output #defines of GLU version identifier strings as constants,
# because we don't need them java-side.
#
@@ -67,24 +68,38 @@ Ignore GLU_EXT_.+
# Javadoc for the GLU class
ClassJavadoc GLU /**
-ClassJavadoc GLU * Provides access to the OpenGL utility library routines.
-ClassJavadoc GLU * See {@link GL} for more information.
+ClassJavadoc GLU * Provides access to the OpenGL Utility Library (GLU). This library
+ClassJavadoc GLU * provides standard methods for setting up view volumes, building
+ClassJavadoc GLU * mipmaps and performing other common operations.
+ClassJavadoc GLU *
+ClassJavadoc GLU * <P>
+ClassJavadoc GLU *
+ClassJavadoc GLU * Thanks to the contributions of many individuals, this class is a
+ClassJavadoc GLU * pure Java port of SGI's original C sources. All of the projection,
+ClassJavadoc GLU * mipmap, scaling, and tessellation routines that are exposed are
+ClassJavadoc GLU * compatible with the GLU 1.3 specification. The GLU NURBS routines
+ClassJavadoc GLU * are not currently exposed.
ClassJavadoc GLU */
-# Javadoc for the GLUnurbs class
-ClassJavadoc GLUnurbs /**
-ClassJavadoc GLUnurbs * Wrapper for a GLU NURBS object.
-ClassJavadoc GLUnurbs */
+#
+# We ignore most of the function declarations in glu.h because we
+# provide a pure Java implementation of most of GLU. Currently the
+# only reason we generate glue code for this class is to provide a
+# fallback path to the C code for the mipmap routines in case of bugs
+# with the Java port (although it has been pretty thoroughly debugged
+# at this point).
+#
-# Javadoc for the GLUquadric class
-ClassJavadoc GLUquadric /**
-ClassJavadoc GLUquadric * Wrapper for a GLU quadric object.
-ClassJavadoc GLUquadric */
+#
+# ------------------------
+# Utility routines
+# ------------------------
+#
-# Javadoc for the GLUtesselator class
-ClassJavadoc GLUtesselator /**
-ClassJavadoc GLUtesselator * Wrapper for a GLU tesselator object.
-ClassJavadoc GLUtesselator */
+# These are implemented by pure Java
+Ignore gluCheckExtension
+Ignore gluErrorString
+Ignore gluGetString
#
# ------------------------
@@ -113,6 +128,7 @@ Ignore gluNurbsCurve
Ignore gluNurbsSurface
Ignore GLU_NURB.+
Ignore GLU_.*PARAMETRIC.+
+Ignore GLUnurbs
#
# ------------------------
@@ -154,16 +170,16 @@ Ignore gluQuadricCallback.*
# Manually implement the GLU quadric functionality to mostly conform
# to the C APIs
Ignore GLUquadric
-ManuallyImplement gluCylinder
-ManuallyImplement gluDeleteQuadric
-ManuallyImplement gluDisk
-ManuallyImplement gluNewQuadric
-ManuallyImplement gluPartialDisk
-ManuallyImplement gluQuadricDrawStyle
-ManuallyImplement gluQuadricNormals
-ManuallyImplement gluQuadricOrientation
-ManuallyImplement gluQuadricTexture
-ManuallyImplement gluSphere
+Ignore gluCylinder
+Ignore gluDeleteQuadric
+Ignore gluDisk
+Ignore gluNewQuadric
+Ignore gluPartialDisk
+Ignore gluQuadricDrawStyle
+Ignore gluQuadricNormals
+Ignore gluQuadricOrientation
+Ignore gluQuadricTexture
+Ignore gluSphere
# Ignore a few of the projection/unprojection APIs altogether because
# their signatures aren't specified correctly in the header file
@@ -172,35 +188,60 @@ Ignore gluUnProject
Ignore gluUnProject4
# Manually implement the rest of the projection / unprojection APIs
-ManuallyImplement gluOrtho2D
-ManuallyImplement gluPerspective
-ManuallyImplement gluLookAt
-ManuallyImplement gluPickMatrix
+Ignore gluOrtho2D
+Ignore gluPerspective
+Ignore gluLookAt
+Ignore gluPickMatrix
+
+
+
+
+
+#
+# Some functions that return native byte pointers or accept them as
+# arguments should have them auto-converted to Java Strings
+#
+# ReturnsString gluGetString
+# ReturnsString gluErrorString
+# ArgumentIsString gluCheckExtension 0 1
+
+#
+# Some routines should only use the Java New IO package
+#
+#NIOOnly gluScaleImage
+#NIOOnly gluBuild1DMipmaps
+#NIOOnly gluBuild2DMipmaps
+#NIOOnly gluBuild3DMipmaps
+#NIOOnly gluBuild1DMipmapLevels
+#NIOOnly gluBuild2DMipmapLevels
+#NIOOnly gluBuild3DMipmapLevels
#
# ------------------------
-# Mipmaps
+# Mipmaps
# ------------------------
#
-# Ignore the mipmap routines and use GKW's Java port instead.
-# Currently the Java and native code have fallback paths to the
-# C code, but this will be removed in a future release.
-
-Ignore gluBuild1DMipmapLevels
-Ignore gluBuild1DMipmaps
-Ignore gluBuild2DMipmapLevels
-Ignore gluBuild2DMipmaps
-Ignore gluBuild3DMipmapLevels
-Ignore gluBuild3DMipmaps
-Ignore gluScaleImage
-
-# Must force proc address generation for these routines, though, since
-# we still fall back on the C implementations
-
-ForceProcAddressGen gluBuild1DMipmapLevels
-ForceProcAddressGen gluBuild1DMipmaps
-ForceProcAddressGen gluBuild2DMipmapLevels
-ForceProcAddressGen gluBuild2DMipmaps
-ForceProcAddressGen gluBuild3DMipmapLevels
-ForceProcAddressGen gluBuild3DMipmaps
-ForceProcAddressGen gluScaleImage
+# Ignore the C versions of the mipmap code in the public interface and
+# use GKW's Java port instead. The bindings to the C entry points are
+# still being left in for now, but only for debugging purposes and the
+# intent is to remove them in a future release.
+
+# Emit these entry points as private
+
+AccessControl gluBuild1DMipmapLevels PRIVATE
+AccessControl gluBuild1DMipmaps PRIVATE
+AccessControl gluBuild2DMipmapLevels PRIVATE
+AccessControl gluBuild2DMipmaps PRIVATE
+AccessControl gluBuild3DMipmapLevels PRIVATE
+AccessControl gluBuild3DMipmaps PRIVATE
+AccessControl gluScaleImage PRIVATE
+
+# Rename these methods in the implementing class
+
+RenameJavaMethod gluBuild1DMipmapLevels gluBuild1DMipmapLevelsC
+RenameJavaMethod gluBuild1DMipmaps gluBuild1DMipmapsC
+RenameJavaMethod gluBuild2DMipmapLevels gluBuild2DMipmapLevelsC
+RenameJavaMethod gluBuild2DMipmaps gluBuild2DMipmapsC
+RenameJavaMethod gluBuild3DMipmapLevels gluBuild3DMipmapLevelsC
+RenameJavaMethod gluBuild3DMipmaps gluBuild3DMipmapsC
+RenameJavaMethod gluScaleImage gluScaleImageC
diff --git a/make/glu-impl-common-CustomCCode.c b/make/glu-impl-common-CustomCCode.c
deleted file mode 100644
index 5a3f645c5..000000000
--- a/make/glu-impl-common-CustomCCode.c
+++ /dev/null
@@ -1,833 +0,0 @@
-/* Include the OpenGL GLU header */
-#include <GL/glu.h>
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, byte[] data)
- * C function: GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild1DMipmapLevels__IIIIIIII_3BJ(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint format, jint type, jint level, jint base, jint max, jbyteArray data, jlong glProcAddress) {
- PFNGLUBUILD1DMIPMAPLEVELSPROC ptr_gluBuild1DMipmapLevels;
- void * _ptr8 = NULL;
- GLint _res;
- ptr_gluBuild1DMipmapLevels = (PFNGLUBUILD1DMIPMAPLEVELSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild1DMipmapLevels != NULL);
- if (data != NULL) {
- _ptr8 = (void *) (*env)->GetPrimitiveArrayCritical(env, data, NULL);
- }
- _res = (* ptr_gluBuild1DMipmapLevels) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLenum) format, (GLenum) type, (GLint) level, (GLint) base, (GLint) max, (void *) _ptr8);
- if (data != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, data, _ptr8, JNI_ABORT);
- }
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, short[] data)
- * C function: GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild1DMipmapLevels__IIIIIIII_3SJ(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint format, jint type, jint level, jint base, jint max, jshortArray data, jlong glProcAddress) {
- PFNGLUBUILD1DMIPMAPLEVELSPROC ptr_gluBuild1DMipmapLevels;
- void * _ptr8 = NULL;
- GLint _res;
- ptr_gluBuild1DMipmapLevels = (PFNGLUBUILD1DMIPMAPLEVELSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild1DMipmapLevels != NULL);
- if (data != NULL) {
- _ptr8 = (void *) (*env)->GetPrimitiveArrayCritical(env, data, NULL);
- }
- _res = (* ptr_gluBuild1DMipmapLevels) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLenum) format, (GLenum) type, (GLint) level, (GLint) base, (GLint) max, (void *) _ptr8);
- if (data != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, data, _ptr8, JNI_ABORT);
- }
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, int[] data)
- * C function: GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild1DMipmapLevels__IIIIIIII_3IJ(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint format, jint type, jint level, jint base, jint max, jintArray data, jlong glProcAddress) {
- PFNGLUBUILD1DMIPMAPLEVELSPROC ptr_gluBuild1DMipmapLevels;
- void * _ptr8 = NULL;
- GLint _res;
- ptr_gluBuild1DMipmapLevels = (PFNGLUBUILD1DMIPMAPLEVELSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild1DMipmapLevels != NULL);
- if (data != NULL) {
- _ptr8 = (void *) (*env)->GetPrimitiveArrayCritical(env, data, NULL);
- }
- _res = (* ptr_gluBuild1DMipmapLevels) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLenum) format, (GLenum) type, (GLint) level, (GLint) base, (GLint) max, (void *) _ptr8);
- if (data != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, data, _ptr8, JNI_ABORT);
- }
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, float[] data)
- * C function: GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild1DMipmapLevels__IIIIIIII_3FJ(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint format, jint type, jint level, jint base, jint max, jfloatArray data, jlong glProcAddress) {
- PFNGLUBUILD1DMIPMAPLEVELSPROC ptr_gluBuild1DMipmapLevels;
- void * _ptr8 = NULL;
- GLint _res;
- ptr_gluBuild1DMipmapLevels = (PFNGLUBUILD1DMIPMAPLEVELSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild1DMipmapLevels != NULL);
- if (data != NULL) {
- _ptr8 = (void *) (*env)->GetPrimitiveArrayCritical(env, data, NULL);
- }
- _res = (* ptr_gluBuild1DMipmapLevels) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLenum) format, (GLenum) type, (GLint) level, (GLint) base, (GLint) max, (void *) _ptr8);
- if (data != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, data, _ptr8, JNI_ABORT);
- }
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, java.nio.ByteBuffer data)
- * C function: GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild1DMipmapLevels__IIIIIIIILjava_nio_Buffer_2J(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint format, jint type, jint level, jint base, jint max, jobject data, jlong glProcAddress) {
- PFNGLUBUILD1DMIPMAPLEVELSPROC ptr_gluBuild1DMipmapLevels;
- void * _ptr8 = NULL;
- GLint _res;
- if (data != NULL) {
- _ptr8 = (void *) (*env)->GetDirectBufferAddress(env, data);
- } else {
- _ptr8 = NULL;
- }
- ptr_gluBuild1DMipmapLevels = (PFNGLUBUILD1DMIPMAPLEVELSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild1DMipmapLevels != NULL);
- _res = (* ptr_gluBuild1DMipmapLevels) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLenum) format, (GLenum) type, (GLint) level, (GLint) base, (GLint) max, (void *) _ptr8);
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, byte[] data)
- * C function: GLint gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild1DMipmaps__IIIII_3BJ(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint format, jint type, jbyteArray data, jlong glProcAddress) {
- PFNGLUBUILD1DMIPMAPSPROC ptr_gluBuild1DMipmaps;
- void * _ptr5 = NULL;
- GLint _res;
- ptr_gluBuild1DMipmaps = (PFNGLUBUILD1DMIPMAPSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild1DMipmaps != NULL);
- if (data != NULL) {
- _ptr5 = (void *) (*env)->GetPrimitiveArrayCritical(env, data, NULL);
- }
- _res = (* ptr_gluBuild1DMipmaps) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLenum) format, (GLenum) type, (void *) _ptr5);
- if (data != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, data, _ptr5, JNI_ABORT);
- }
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, short[] data)
- * C function: GLint gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild1DMipmaps__IIIII_3SJ(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint format, jint type, jshortArray data, jlong glProcAddress) {
- PFNGLUBUILD1DMIPMAPSPROC ptr_gluBuild1DMipmaps;
- void * _ptr5 = NULL;
- GLint _res;
- ptr_gluBuild1DMipmaps = (PFNGLUBUILD1DMIPMAPSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild1DMipmaps != NULL);
- if (data != NULL) {
- _ptr5 = (void *) (*env)->GetPrimitiveArrayCritical(env, data, NULL);
- }
- _res = (* ptr_gluBuild1DMipmaps) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLenum) format, (GLenum) type, (void *) _ptr5);
- if (data != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, data, _ptr5, JNI_ABORT);
- }
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, int[] data)
- * C function: GLint gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild1DMipmaps__IIIII_3IJ(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint format, jint type, jintArray data, jlong glProcAddress) {
- PFNGLUBUILD1DMIPMAPSPROC ptr_gluBuild1DMipmaps;
- void * _ptr5 = NULL;
- GLint _res;
- ptr_gluBuild1DMipmaps = (PFNGLUBUILD1DMIPMAPSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild1DMipmaps != NULL);
- if (data != NULL) {
- _ptr5 = (void *) (*env)->GetPrimitiveArrayCritical(env, data, NULL);
- }
- _res = (* ptr_gluBuild1DMipmaps) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLenum) format, (GLenum) type, (void *) _ptr5);
- if (data != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, data, _ptr5, JNI_ABORT);
- }
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, float[] data)
- * C function: GLint gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild1DMipmaps__IIIII_3FJ(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint format, jint type, jfloatArray data, jlong glProcAddress) {
- PFNGLUBUILD1DMIPMAPSPROC ptr_gluBuild1DMipmaps;
- void * _ptr5 = NULL;
- GLint _res;
- ptr_gluBuild1DMipmaps = (PFNGLUBUILD1DMIPMAPSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild1DMipmaps != NULL);
- if (data != NULL) {
- _ptr5 = (void *) (*env)->GetPrimitiveArrayCritical(env, data, NULL);
- }
- _res = (* ptr_gluBuild1DMipmaps) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLenum) format, (GLenum) type, (void *) _ptr5);
- if (data != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, data, _ptr5, JNI_ABORT);
- }
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, java.nio.ByteBuffer data)
- * C function: GLint gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild1DMipmaps__IIIIILjava_nio_Buffer_2J(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint format, jint type, jobject data, jlong glProcAddress) {
- PFNGLUBUILD1DMIPMAPSPROC ptr_gluBuild1DMipmaps;
- void * _ptr5 = NULL;
- GLint _res;
- if (data != NULL) {
- _ptr5 = (void *) (*env)->GetDirectBufferAddress(env, data);
- } else {
- _ptr5 = NULL;
- }
- ptr_gluBuild1DMipmaps = (PFNGLUBUILD1DMIPMAPSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild1DMipmaps != NULL);
- _res = (* ptr_gluBuild1DMipmaps) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLenum) format, (GLenum) type, (void *) _ptr5);
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, byte[] data)
- * C function: GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild2DMipmapLevels__IIIIIIIII_3BJ(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint height, jint format, jint type, jint level, jint base, jint max, jbyteArray data, jlong glProcAddress) {
- PFNGLUBUILD2DMIPMAPLEVELSPROC ptr_gluBuild2DMipmapLevels;
- void * _ptr9 = NULL;
- GLint _res;
- ptr_gluBuild2DMipmapLevels = (PFNGLUBUILD2DMIPMAPLEVELSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild2DMipmapLevels != NULL);
- if (data != NULL) {
- _ptr9 = (void *) (*env)->GetPrimitiveArrayCritical(env, data, NULL);
- }
- _res = (* ptr_gluBuild2DMipmapLevels) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLsizei) height, (GLenum) format, (GLenum) type, (GLint) level, (GLint) base, (GLint) max, (void *) _ptr9);
- if (data != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, data, _ptr9, JNI_ABORT);
- }
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, short[] data)
- * C function: GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild2DMipmapLevels__IIIIIIIII_3SJ(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint height, jint format, jint type, jint level, jint base, jint max, jshortArray data, jlong glProcAddress) {
- PFNGLUBUILD2DMIPMAPLEVELSPROC ptr_gluBuild2DMipmapLevels;
- void * _ptr9 = NULL;
- GLint _res;
- ptr_gluBuild2DMipmapLevels = (PFNGLUBUILD2DMIPMAPLEVELSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild2DMipmapLevels != NULL);
- if (data != NULL) {
- _ptr9 = (void *) (*env)->GetPrimitiveArrayCritical(env, data, NULL);
- }
- _res = (* ptr_gluBuild2DMipmapLevels) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLsizei) height, (GLenum) format, (GLenum) type, (GLint) level, (GLint) base, (GLint) max, (void *) _ptr9);
- if (data != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, data, _ptr9, JNI_ABORT);
- }
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, int[] data)
- * C function: GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild2DMipmapLevels__IIIIIIIII_3IJ(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint height, jint format, jint type, jint level, jint base, jint max, jintArray data, jlong glProcAddress) {
- PFNGLUBUILD2DMIPMAPLEVELSPROC ptr_gluBuild2DMipmapLevels;
- void * _ptr9 = NULL;
- GLint _res;
- ptr_gluBuild2DMipmapLevels = (PFNGLUBUILD2DMIPMAPLEVELSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild2DMipmapLevels != NULL);
- if (data != NULL) {
- _ptr9 = (void *) (*env)->GetPrimitiveArrayCritical(env, data, NULL);
- }
- _res = (* ptr_gluBuild2DMipmapLevels) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLsizei) height, (GLenum) format, (GLenum) type, (GLint) level, (GLint) base, (GLint) max, (void *) _ptr9);
- if (data != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, data, _ptr9, JNI_ABORT);
- }
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, float[] data)
- * C function: GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild2DMipmapLevels__IIIIIIIII_3FJ(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint height, jint format, jint type, jint level, jint base, jint max, jfloatArray data, jlong glProcAddress) {
- PFNGLUBUILD2DMIPMAPLEVELSPROC ptr_gluBuild2DMipmapLevels;
- void * _ptr9 = NULL;
- GLint _res;
- ptr_gluBuild2DMipmapLevels = (PFNGLUBUILD2DMIPMAPLEVELSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild2DMipmapLevels != NULL);
- if (data != NULL) {
- _ptr9 = (void *) (*env)->GetPrimitiveArrayCritical(env, data, NULL);
- }
- _res = (* ptr_gluBuild2DMipmapLevels) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLsizei) height, (GLenum) format, (GLenum) type, (GLint) level, (GLint) base, (GLint) max, (void *) _ptr9);
- if (data != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, data, _ptr9, JNI_ABORT);
- }
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, java.nio.ByteBuffer data)
- * C function: GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild2DMipmapLevels__IIIIIIIIILjava_nio_Buffer_2J(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint height, jint format, jint type, jint level, jint base, jint max, jobject data, jlong glProcAddress) {
- PFNGLUBUILD2DMIPMAPLEVELSPROC ptr_gluBuild2DMipmapLevels;
- void * _ptr9 = NULL;
- GLint _res;
- if (data != NULL) {
- _ptr9 = (void *) (*env)->GetDirectBufferAddress(env, data);
- } else {
- _ptr9 = NULL;
- }
- ptr_gluBuild2DMipmapLevels = (PFNGLUBUILD2DMIPMAPLEVELSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild2DMipmapLevels != NULL);
- _res = (* ptr_gluBuild2DMipmapLevels) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLsizei) height, (GLenum) format, (GLenum) type, (GLint) level, (GLint) base, (GLint) max, (void *) _ptr9);
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, byte[] data)
- * C function: GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild2DMipmaps__IIIIII_3BJ(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint height, jint format, jint type, jbyteArray data, jlong glProcAddress) {
- PFNGLUBUILD2DMIPMAPSPROC ptr_gluBuild2DMipmaps;
- void * _ptr6 = NULL;
- GLint _res;
- ptr_gluBuild2DMipmaps = (PFNGLUBUILD2DMIPMAPSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild2DMipmaps != NULL);
- if (data != NULL) {
- _ptr6 = (void *) (*env)->GetPrimitiveArrayCritical(env, data, NULL);
- }
- _res = (* ptr_gluBuild2DMipmaps) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLsizei) height, (GLenum) format, (GLenum) type, (void *) _ptr6);
- if (data != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, data, _ptr6, JNI_ABORT);
- }
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, short[] data)
- * C function: GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild2DMipmaps__IIIIII_3SJ(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint height, jint format, jint type, jshortArray data, jlong glProcAddress) {
- PFNGLUBUILD2DMIPMAPSPROC ptr_gluBuild2DMipmaps;
- void * _ptr6 = NULL;
- GLint _res;
- ptr_gluBuild2DMipmaps = (PFNGLUBUILD2DMIPMAPSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild2DMipmaps != NULL);
- if (data != NULL) {
- _ptr6 = (void *) (*env)->GetPrimitiveArrayCritical(env, data, NULL);
- }
- _res = (* ptr_gluBuild2DMipmaps) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLsizei) height, (GLenum) format, (GLenum) type, (void *) _ptr6);
- if (data != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, data, _ptr6, JNI_ABORT);
- }
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, int[] data)
- * C function: GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild2DMipmaps__IIIIII_3IJ(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint height, jint format, jint type, jintArray data, jlong glProcAddress) {
- PFNGLUBUILD2DMIPMAPSPROC ptr_gluBuild2DMipmaps;
- void * _ptr6 = NULL;
- GLint _res;
- ptr_gluBuild2DMipmaps = (PFNGLUBUILD2DMIPMAPSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild2DMipmaps != NULL);
- if (data != NULL) {
- _ptr6 = (void *) (*env)->GetPrimitiveArrayCritical(env, data, NULL);
- }
- _res = (* ptr_gluBuild2DMipmaps) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLsizei) height, (GLenum) format, (GLenum) type, (void *) _ptr6);
- if (data != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, data, _ptr6, JNI_ABORT);
- }
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, float[] data)
- * C function: GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild2DMipmaps__IIIIII_3FJ(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint height, jint format, jint type, jfloatArray data, jlong glProcAddress) {
- PFNGLUBUILD2DMIPMAPSPROC ptr_gluBuild2DMipmaps;
- void * _ptr6 = NULL;
- GLint _res;
- ptr_gluBuild2DMipmaps = (PFNGLUBUILD2DMIPMAPSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild2DMipmaps != NULL);
- if (data != NULL) {
- _ptr6 = (void *) (*env)->GetPrimitiveArrayCritical(env, data, NULL);
- }
- _res = (* ptr_gluBuild2DMipmaps) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLsizei) height, (GLenum) format, (GLenum) type, (void *) _ptr6);
- if (data != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, data, _ptr6, JNI_ABORT);
- }
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, java.nio.ByteBuffer data)
- * C function: GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild2DMipmaps__IIIIIILjava_nio_Buffer_2J(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint height, jint format, jint type, jobject data, jlong glProcAddress) {
- PFNGLUBUILD2DMIPMAPSPROC ptr_gluBuild2DMipmaps;
- void * _ptr6 = NULL;
- GLint _res;
- if (data != NULL) {
- _ptr6 = (void *) (*env)->GetDirectBufferAddress(env, data);
- } else {
- _ptr6 = NULL;
- }
- ptr_gluBuild2DMipmaps = (PFNGLUBUILD2DMIPMAPSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild2DMipmaps != NULL);
- _res = (* ptr_gluBuild2DMipmaps) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLsizei) height, (GLenum) format, (GLenum) type, (void *) _ptr6);
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, byte[] data)
- * C function: GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild3DMipmapLevels__IIIIIIIIII_3BJ(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint height, jint depth, jint format, jint type, jint level, jint base, jint max, jbyteArray data, jlong glProcAddress) {
- PFNGLUBUILD3DMIPMAPLEVELSPROC ptr_gluBuild3DMipmapLevels;
- void * _ptr10 = NULL;
- GLint _res;
- ptr_gluBuild3DMipmapLevels = (PFNGLUBUILD3DMIPMAPLEVELSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild3DMipmapLevels != NULL);
- if (data != NULL) {
- _ptr10 = (void *) (*env)->GetPrimitiveArrayCritical(env, data, NULL);
- }
- _res = (* ptr_gluBuild3DMipmapLevels) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLsizei) height, (GLsizei) depth, (GLenum) format, (GLenum) type, (GLint) level, (GLint) base, (GLint) max, (void *) _ptr10);
- if (data != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, data, _ptr10, JNI_ABORT);
- }
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, short[] data)
- * C function: GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild3DMipmapLevels__IIIIIIIIII_3SJ(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint height, jint depth, jint format, jint type, jint level, jint base, jint max, jshortArray data, jlong glProcAddress) {
- PFNGLUBUILD3DMIPMAPLEVELSPROC ptr_gluBuild3DMipmapLevels;
- void * _ptr10 = NULL;
- GLint _res;
- ptr_gluBuild3DMipmapLevels = (PFNGLUBUILD3DMIPMAPLEVELSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild3DMipmapLevels != NULL);
- if (data != NULL) {
- _ptr10 = (void *) (*env)->GetPrimitiveArrayCritical(env, data, NULL);
- }
- _res = (* ptr_gluBuild3DMipmapLevels) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLsizei) height, (GLsizei) depth, (GLenum) format, (GLenum) type, (GLint) level, (GLint) base, (GLint) max, (void *) _ptr10);
- if (data != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, data, _ptr10, JNI_ABORT);
- }
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, int[] data)
- * C function: GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild3DMipmapLevels__IIIIIIIIII_3IJ(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint height, jint depth, jint format, jint type, jint level, jint base, jint max, jintArray data, jlong glProcAddress) {
- PFNGLUBUILD3DMIPMAPLEVELSPROC ptr_gluBuild3DMipmapLevels;
- void * _ptr10 = NULL;
- GLint _res;
- ptr_gluBuild3DMipmapLevels = (PFNGLUBUILD3DMIPMAPLEVELSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild3DMipmapLevels != NULL);
- if (data != NULL) {
- _ptr10 = (void *) (*env)->GetPrimitiveArrayCritical(env, data, NULL);
- }
- _res = (* ptr_gluBuild3DMipmapLevels) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLsizei) height, (GLsizei) depth, (GLenum) format, (GLenum) type, (GLint) level, (GLint) base, (GLint) max, (void *) _ptr10);
- if (data != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, data, _ptr10, JNI_ABORT);
- }
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, float[] data)
- * C function: GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild3DMipmapLevels__IIIIIIIIII_3FJ(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint height, jint depth, jint format, jint type, jint level, jint base, jint max, jfloatArray data, jlong glProcAddress) {
- PFNGLUBUILD3DMIPMAPLEVELSPROC ptr_gluBuild3DMipmapLevels;
- void * _ptr10 = NULL;
- GLint _res;
- ptr_gluBuild3DMipmapLevels = (PFNGLUBUILD3DMIPMAPLEVELSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild3DMipmapLevels != NULL);
- if (data != NULL) {
- _ptr10 = (void *) (*env)->GetPrimitiveArrayCritical(env, data, NULL);
- }
- _res = (* ptr_gluBuild3DMipmapLevels) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLsizei) height, (GLsizei) depth, (GLenum) format, (GLenum) type, (GLint) level, (GLint) base, (GLint) max, (void *) _ptr10);
- if (data != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, data, _ptr10, JNI_ABORT);
- }
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, java.nio.ByteBuffer data)
- * C function: GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild3DMipmapLevels__IIIIIIIIIILjava_nio_Buffer_2J(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint height, jint depth, jint format, jint type, jint level, jint base, jint max, jobject data, jlong glProcAddress) {
- PFNGLUBUILD3DMIPMAPLEVELSPROC ptr_gluBuild3DMipmapLevels;
- void * _ptr10 = NULL;
- GLint _res;
- if (data != NULL) {
- _ptr10 = (void *) (*env)->GetDirectBufferAddress(env, data);
- } else {
- _ptr10 = NULL;
- }
- ptr_gluBuild3DMipmapLevels = (PFNGLUBUILD3DMIPMAPLEVELSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild3DMipmapLevels != NULL);
- _res = (* ptr_gluBuild3DMipmapLevels) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLsizei) height, (GLsizei) depth, (GLenum) format, (GLenum) type, (GLint) level, (GLint) base, (GLint) max, (void *) _ptr10);
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, byte[] data)
- * C function: GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild3DMipmaps__IIIIIII_3BJ(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint height, jint depth, jint format, jint type, jbyteArray data, jlong glProcAddress) {
- PFNGLUBUILD3DMIPMAPSPROC ptr_gluBuild3DMipmaps;
- void * _ptr7 = NULL;
- GLint _res;
- ptr_gluBuild3DMipmaps = (PFNGLUBUILD3DMIPMAPSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild3DMipmaps != NULL);
- if (data != NULL) {
- _ptr7 = (void *) (*env)->GetPrimitiveArrayCritical(env, data, NULL);
- }
- _res = (* ptr_gluBuild3DMipmaps) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLsizei) height, (GLsizei) depth, (GLenum) format, (GLenum) type, (void *) _ptr7);
- if (data != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, data, _ptr7, JNI_ABORT);
- }
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, short[] data)
- * C function: GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild3DMipmaps__IIIIIII_3SJ(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint height, jint depth, jint format, jint type, jshortArray data, jlong glProcAddress) {
- PFNGLUBUILD3DMIPMAPSPROC ptr_gluBuild3DMipmaps;
- void * _ptr7 = NULL;
- GLint _res;
- ptr_gluBuild3DMipmaps = (PFNGLUBUILD3DMIPMAPSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild3DMipmaps != NULL);
- if (data != NULL) {
- _ptr7 = (void *) (*env)->GetPrimitiveArrayCritical(env, data, NULL);
- }
- _res = (* ptr_gluBuild3DMipmaps) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLsizei) height, (GLsizei) depth, (GLenum) format, (GLenum) type, (void *) _ptr7);
- if (data != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, data, _ptr7, JNI_ABORT);
- }
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, int[] data)
- * C function: GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild3DMipmaps__IIIIIII_3IJ(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint height, jint depth, jint format, jint type, jintArray data, jlong glProcAddress) {
- PFNGLUBUILD3DMIPMAPSPROC ptr_gluBuild3DMipmaps;
- void * _ptr7 = NULL;
- GLint _res;
- ptr_gluBuild3DMipmaps = (PFNGLUBUILD3DMIPMAPSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild3DMipmaps != NULL);
- if (data != NULL) {
- _ptr7 = (void *) (*env)->GetPrimitiveArrayCritical(env, data, NULL);
- }
- _res = (* ptr_gluBuild3DMipmaps) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLsizei) height, (GLsizei) depth, (GLenum) format, (GLenum) type, (void *) _ptr7);
- if (data != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, data, _ptr7, JNI_ABORT);
- }
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, float[] data)
- * C function: GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild3DMipmaps__IIIIIII_3FJ(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint height, jint depth, jint format, jint type, jfloatArray data, jlong glProcAddress) {
- PFNGLUBUILD3DMIPMAPSPROC ptr_gluBuild3DMipmaps;
- void * _ptr7 = NULL;
- GLint _res;
- ptr_gluBuild3DMipmaps = (PFNGLUBUILD3DMIPMAPSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild3DMipmaps != NULL);
- if (data != NULL) {
- _ptr7 = (void *) (*env)->GetPrimitiveArrayCritical(env, data, NULL);
- }
- _res = (* ptr_gluBuild3DMipmaps) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLsizei) height, (GLsizei) depth, (GLenum) format, (GLenum) type, (void *) _ptr7);
- if (data != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, data, _ptr7, JNI_ABORT);
- }
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, java.nio.ByteBuffer data)
- * C function: GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluBuild3DMipmaps__IIIIIIILjava_nio_Buffer_2J(JNIEnv *env, jobject _unused, jint target, jint internalFormat, jint width, jint height, jint depth, jint format, jint type, jobject data, jlong glProcAddress) {
- PFNGLUBUILD3DMIPMAPSPROC ptr_gluBuild3DMipmaps;
- void * _ptr7 = NULL;
- GLint _res;
- if (data != NULL) {
- _ptr7 = (void *) (*env)->GetDirectBufferAddress(env, data);
- } else {
- _ptr7 = NULL;
- }
- ptr_gluBuild3DMipmaps = (PFNGLUBUILD3DMIPMAPSPROC) (intptr_t) glProcAddress;
- assert(ptr_gluBuild3DMipmaps != NULL);
- _res = (* ptr_gluBuild3DMipmaps) ((GLenum) target, (GLint) internalFormat, (GLsizei) width, (GLsizei) height, (GLsizei) depth, (GLenum) format, (GLenum) type, (void *) _ptr7);
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluScaleImage(int format, int wIn, int hIn, int typeIn, byte[] dataIn, int wOut, int hOut, int typeOut, byte[] dataOut)
- * C function: GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void * dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid * dataOut);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluScaleImage__IIII_3BIII_3BJ(JNIEnv *env, jobject _unused, jint format, jint wIn, jint hIn, jint typeIn, jbyteArray dataIn, jint wOut, jint hOut, jint typeOut, jbyteArray dataOut, jlong glProcAddress) {
- PFNGLUSCALEIMAGEPROC ptr_gluScaleImage;
- void * _ptr4 = NULL;
- GLvoid * _ptr8 = NULL;
- GLint _res;
- ptr_gluScaleImage = (PFNGLUSCALEIMAGEPROC) (intptr_t) glProcAddress;
- assert(ptr_gluScaleImage != NULL);
- if (dataIn != NULL) {
- _ptr4 = (void *) (*env)->GetPrimitiveArrayCritical(env, dataIn, NULL);
- }
- if (dataOut != NULL) {
- _ptr8 = (GLvoid *) (*env)->GetPrimitiveArrayCritical(env, dataOut, NULL);
- }
- _res = (* ptr_gluScaleImage) ((GLenum) format, (GLsizei) wIn, (GLsizei) hIn, (GLenum) typeIn, (void *) _ptr4, (GLsizei) wOut, (GLsizei) hOut, (GLenum) typeOut, (GLvoid *) _ptr8);
- if (dataIn != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, dataIn, _ptr4, JNI_ABORT);
- }
- if (dataOut != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, dataOut, _ptr8, JNI_ABORT);
- }
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluScaleImage(int format, int wIn, int hIn, int typeIn, short[] dataIn, int wOut, int hOut, int typeOut, short[] dataOut)
- * C function: GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void * dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid * dataOut);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluScaleImage__IIII_3SIII_3SJ(JNIEnv *env, jobject _unused, jint format, jint wIn, jint hIn, jint typeIn, jshortArray dataIn, jint wOut, jint hOut, jint typeOut, jshortArray dataOut, jlong glProcAddress) {
- PFNGLUSCALEIMAGEPROC ptr_gluScaleImage;
- void * _ptr4 = NULL;
- GLvoid * _ptr8 = NULL;
- GLint _res;
- ptr_gluScaleImage = (PFNGLUSCALEIMAGEPROC) (intptr_t) glProcAddress;
- assert(ptr_gluScaleImage != NULL);
- if (dataIn != NULL) {
- _ptr4 = (void *) (*env)->GetPrimitiveArrayCritical(env, dataIn, NULL);
- }
- if (dataOut != NULL) {
- _ptr8 = (GLvoid *) (*env)->GetPrimitiveArrayCritical(env, dataOut, NULL);
- }
- _res = (* ptr_gluScaleImage) ((GLenum) format, (GLsizei) wIn, (GLsizei) hIn, (GLenum) typeIn, (void *) _ptr4, (GLsizei) wOut, (GLsizei) hOut, (GLenum) typeOut, (GLvoid *) _ptr8);
- if (dataIn != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, dataIn, _ptr4, JNI_ABORT);
- }
- if (dataOut != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, dataOut, _ptr8, JNI_ABORT);
- }
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluScaleImage(int format, int wIn, int hIn, int typeIn, int[] dataIn, int wOut, int hOut, int typeOut, int[] dataOut)
- * C function: GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void * dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid * dataOut);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluScaleImage__IIII_3IIII_3IJ(JNIEnv *env, jobject _unused, jint format, jint wIn, jint hIn, jint typeIn, jintArray dataIn, jint wOut, jint hOut, jint typeOut, jintArray dataOut, jlong glProcAddress) {
- PFNGLUSCALEIMAGEPROC ptr_gluScaleImage;
- void * _ptr4 = NULL;
- GLvoid * _ptr8 = NULL;
- GLint _res;
- ptr_gluScaleImage = (PFNGLUSCALEIMAGEPROC) (intptr_t) glProcAddress;
- assert(ptr_gluScaleImage != NULL);
- if (dataIn != NULL) {
- _ptr4 = (void *) (*env)->GetPrimitiveArrayCritical(env, dataIn, NULL);
- }
- if (dataOut != NULL) {
- _ptr8 = (GLvoid *) (*env)->GetPrimitiveArrayCritical(env, dataOut, NULL);
- }
- _res = (* ptr_gluScaleImage) ((GLenum) format, (GLsizei) wIn, (GLsizei) hIn, (GLenum) typeIn, (void *) _ptr4, (GLsizei) wOut, (GLsizei) hOut, (GLenum) typeOut, (GLvoid *) _ptr8);
- if (dataIn != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, dataIn, _ptr4, JNI_ABORT);
- }
- if (dataOut != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, dataOut, _ptr8, JNI_ABORT);
- }
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluScaleImage(int format, int wIn, int hIn, int typeIn, float[] dataIn, int wOut, int hOut, int typeOut, float[] dataOut)
- * C function: GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void * dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid * dataOut);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluScaleImage__IIII_3FIII_3FJ(JNIEnv *env, jobject _unused, jint format, jint wIn, jint hIn, jint typeIn, jfloatArray dataIn, jint wOut, jint hOut, jint typeOut, jfloatArray dataOut, jlong glProcAddress) {
- PFNGLUSCALEIMAGEPROC ptr_gluScaleImage;
- void * _ptr4 = NULL;
- GLvoid * _ptr8 = NULL;
- GLint _res;
- ptr_gluScaleImage = (PFNGLUSCALEIMAGEPROC) (intptr_t) glProcAddress;
- assert(ptr_gluScaleImage != NULL);
- if (dataIn != NULL) {
- _ptr4 = (void *) (*env)->GetPrimitiveArrayCritical(env, dataIn, NULL);
- }
- if (dataOut != NULL) {
- _ptr8 = (GLvoid *) (*env)->GetPrimitiveArrayCritical(env, dataOut, NULL);
- }
- _res = (* ptr_gluScaleImage) ((GLenum) format, (GLsizei) wIn, (GLsizei) hIn, (GLenum) typeIn, (void *) _ptr4, (GLsizei) wOut, (GLsizei) hOut, (GLenum) typeOut, (GLvoid *) _ptr8);
- if (dataIn != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, dataIn, _ptr4, JNI_ABORT);
- }
- if (dataOut != NULL) {
- (*env)->ReleasePrimitiveArrayCritical(env, dataOut, _ptr8, JNI_ABORT);
- }
- return _res;
-}
-
-
-/* Java->C glue code:
- * Java package: net.java.games.jogl.impl.GLUImpl
- * Java method: int dispatch_gluScaleImage(int format, int wIn, int hIn, int typeIn, java.nio.ByteBuffer dataIn, int wOut, int hOut, int typeOut, java.nio.ByteBuffer dataOut)
- * C function: GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void * dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid * dataOut);
- */
-JNIEXPORT jint JNICALL
-Java_net_java_games_jogl_impl_GLUImpl_dispatch_1gluScaleImage__IIIILjava_nio_Buffer_2IIILjava_nio_Buffer_2J(JNIEnv *env, jobject _unused, jint format, jint wIn, jint hIn, jint typeIn, jobject dataIn, jint wOut, jint hOut, jint typeOut, jobject dataOut, jlong glProcAddress) {
- PFNGLUSCALEIMAGEPROC ptr_gluScaleImage;
- void * _ptr4 = NULL;
- GLvoid * _ptr8 = NULL;
- GLint _res;
- if (dataIn != NULL) {
- _ptr4 = (void *) (*env)->GetDirectBufferAddress(env, dataIn);
- } else {
- _ptr4 = NULL;
- }
- if (dataOut != NULL) {
- _ptr8 = (GLvoid *) (*env)->GetDirectBufferAddress(env, dataOut);
- } else {
- _ptr8 = NULL;
- }
- ptr_gluScaleImage = (PFNGLUSCALEIMAGEPROC) (intptr_t) glProcAddress;
- assert(ptr_gluScaleImage != NULL);
- _res = (* ptr_gluScaleImage) ((GLenum) format, (GLsizei) wIn, (GLsizei) hIn, (GLenum) typeIn, (void *) _ptr4, (GLsizei) wOut, (GLsizei) hOut, (GLenum) typeOut, (GLvoid *) _ptr8);
- return _res;
-}
diff --git a/make/glu-impl-common-CustomJavaCode.java b/make/glu-impl-common-CustomJavaCode.java
deleted file mode 100644
index 0706aa390..000000000
--- a/make/glu-impl-common-CustomJavaCode.java
+++ /dev/null
@@ -1,1426 +0,0 @@
-private static boolean useJavaMipmapCode = true;
-
-static {
- AccessController.doPrivileged(new PrivilegedAction() {
- public Object run() {
- String val = System.getProperty("jogl.glu.nojava");
- if (val != null && !val.toLowerCase().equals("false")) {
- useJavaMipmapCode = false;
- }
- return null;
- }
- });
-}
-
-/** Indicates whether the given GLU routine is available to be called. */
-public boolean isFunctionAvailable(String gluFunctionName)
-{
- return (gluProcAddressTable.getAddressFor(gluFunctionName) != 0);
-}
-
-private GLUProcAddressTable gluProcAddressTable;
-private GL gl;
-
-public GLUImpl(GLUProcAddressTable gluProcAddressTable)
-{
- this.gluProcAddressTable = gluProcAddressTable;
- this.project = new Project();
-}
-
-// Used for pure-Java port of GLU
-public void setGL(GL gl) {
- this.gl = gl;
-}
-
-//----------------------------------------------------------------------
-// Tesselator functionality
-//
-
-public GLUtesselator gluNewTess() {
- return GLUtesselatorImpl.gluNewTess();
-}
-
-public void gluDeleteTess(GLUtesselator tesselator) {
- GLUtesselatorImpl tess = (GLUtesselatorImpl) tesselator;
- tess.gluDeleteTess();
-}
-
-public void gluTessProperty(GLUtesselator tesselator, int which, double value) {
- GLUtesselatorImpl tess = (GLUtesselatorImpl) tesselator;
- tess.gluTessProperty(which, value);
-}
-
-public void gluGetTessProperty(GLUtesselator tesselator, int which, double[] value) {
- GLUtesselatorImpl tess = (GLUtesselatorImpl) tesselator;
- tess.gluGetTessProperty(which, value);
-}
-
-public void gluTessNormal(GLUtesselator tesselator, double x, double y, double z) {
- GLUtesselatorImpl tess = (GLUtesselatorImpl) tesselator;
- tess.gluTessNormal(x, y, z);
-}
-
-public void gluTessCallback(GLUtesselator tesselator, int which, GLUtesselatorCallback aCallback) {
- GLUtesselatorImpl tess = (GLUtesselatorImpl) tesselator;
- tess.gluTessCallback(which, aCallback);
-}
-
-public void gluTessVertex(GLUtesselator tesselator, double[] coords, Object data) {
- GLUtesselatorImpl tess = (GLUtesselatorImpl) tesselator;
- tess.gluTessVertex(coords, data);
-}
-
-public void gluTessBeginPolygon(GLUtesselator tesselator, Object data) {
- GLUtesselatorImpl tess = (GLUtesselatorImpl) tesselator;
- tess.gluTessBeginPolygon(data);
-}
-
-public void gluTessBeginContour(GLUtesselator tesselator) {
- GLUtesselatorImpl tess = (GLUtesselatorImpl) tesselator;
- tess.gluTessBeginContour();
-}
-
-public void gluTessEndContour(GLUtesselator tesselator) {
- GLUtesselatorImpl tess = (GLUtesselatorImpl) tesselator;
- tess.gluTessEndContour();
-}
-
-public void gluTessEndPolygon(GLUtesselator tesselator) {
- GLUtesselatorImpl tess = (GLUtesselatorImpl) tesselator;
- tess.gluTessEndPolygon();
-}
-
-public void gluBeginPolygon(GLUtesselator tesselator) {
- GLUtesselatorImpl tess = (GLUtesselatorImpl) tesselator;
- tess.gluBeginPolygon();
-}
-
-public void gluNextContour(GLUtesselator tesselator, int type) {
- GLUtesselatorImpl tess = (GLUtesselatorImpl) tesselator;
- tess.gluNextContour(type);
-}
-
-public void gluEndPolygon(GLUtesselator tesselator) {
- GLUtesselatorImpl tess = (GLUtesselatorImpl) tesselator;
- tess.gluEndPolygon();
-}
-
-//----------------------------------------------------------------------
-// Quadric functionality
-//
-
-/** Interface to C language function: <br> <code> void gluCylinder(GLUquadric * quad, GLdouble base, GLdouble top, GLdouble height, GLint slices, GLint stacks); </code> */
-public void gluCylinder(GLUquadric quad, double base, double top, double height, int slices, int stacks) {
- ((GLUquadricImpl) quad).drawCylinder(gl, (float) base, (float) top, (float) height, slices, stacks);
-}
-
-/** Interface to C language function: <br> <code> void gluDeleteQuadric(GLUquadric * quad); </code> */
-public void gluDeleteQuadric(GLUquadric quad) {
-}
-
-/** Interface to C language function: <br> <code> void gluDisk(GLUquadric * quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops); </code> */
-public void gluDisk(GLUquadric quad, double inner, double outer, int slices, int loops) {
- ((GLUquadricImpl) quad).drawDisk(gl, (float) inner, (float) outer, slices, loops);
-}
-
-/** Interface to C language function: <br> <code> GLUquadric * gluNewQuadric(void); </code> */
-public GLUquadric gluNewQuadric() {
- return new GLUquadricImpl();
-}
-
-/** Interface to C language function: <br> <code> void gluPartialDisk(GLUquadric * quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops, GLdouble start, GLdouble sweep); </code> */
-public void gluPartialDisk(GLUquadric quad, double inner, double outer, int slices, int loops, double start, double sweep) {
- ((GLUquadricImpl) quad).drawPartialDisk(gl, (float) inner, (float) outer, slices, loops, (float) start, (float) sweep);
-}
-
-/** Interface to C language function: <br> <code> void gluQuadricDrawStyle(GLUquadric * quad, GLenum draw); </code> */
-public void gluQuadricDrawStyle(GLUquadric quad, int draw) {
- ((GLUquadricImpl) quad).setDrawStyle(draw);
-}
-
-/** Interface to C language function: <br> <code> void gluQuadricNormals(GLUquadric * quad, GLenum normal); </code> */
-public void gluQuadricNormals(GLUquadric quad, int normal) {
- ((GLUquadricImpl) quad).setNormals(normal);
-}
-
-/** Interface to C language function: <br> <code> void gluQuadricOrientation(GLUquadric * quad, GLenum orientation); </code> */
-public void gluQuadricOrientation(GLUquadric quad, int orientation) {
- ((GLUquadricImpl) quad).setOrientation(orientation);
-}
-
-/** Interface to C language function: <br> <code> void gluQuadricTexture(GLUquadric * quad, GLboolean texture); </code> */
-public void gluQuadricTexture(GLUquadric quad, boolean texture) {
- ((GLUquadricImpl) quad).setTextureFlag(texture);
-}
-
-/** Interface to C language function: <br> <code> void gluSphere(GLUquadric * quad, GLdouble radius, GLint slices, GLint stacks); </code> */
-public void gluSphere(GLUquadric quad, double radius, int slices, int stacks) {
- ((GLUquadricImpl) quad).drawSphere(gl, (float) radius, slices, stacks);
-}
-
-//----------------------------------------------------------------------
-// Projection functionality
-//
-
-private Project project;
-
-public void gluOrtho2D(double left, double right, double bottom, double top) {
- project.gluOrtho2D(gl, left, right, bottom, top);
-}
-
-public void gluPerspective(double fovy, double aspect, double zNear, double zFar) {
- project.gluPerspective(gl, fovy, aspect, zNear, zFar);
-}
-
-public void gluLookAt(double eyeX, double eyeY, double eyeZ, double centerX, double centerY, double centerZ, double upX, double upY, double upZ) {
- project.gluLookAt(gl, eyeX, eyeY, eyeZ, centerX, centerY, centerZ, upX, upY, upZ);
-}
-
-public boolean gluProject(double objX, double objY, double objZ, double[] model, double[] proj, int[] view, double[] winX, double[] winY, double[] winZ) {
- double[] tmp = new double[3];
- boolean res = project.gluProject(objX, objY, objZ, model, proj, view, tmp);
- winX[0] = tmp[0];
- winY[0] = tmp[1];
- winZ[0] = tmp[2];
- return res;
-}
-
-public boolean gluProject(double objX, double objY, double objZ, double[] model, double[] proj, int[] view, double[] winPos) {
- return project.gluProject(objX, objY, objZ, model, proj, view, winPos);
-}
-
-public boolean gluUnProject(double winX, double winY, double winZ, double[] model, double[] proj, int[] view, double[] objX, double[] objY, double[] objZ) {
- double[] tmp = new double[3];
- boolean res = project.gluUnProject(winX, winY, winZ, model, proj, view, tmp);
- objX[0] = tmp[0];
- objY[0] = tmp[1];
- objZ[0] = tmp[2];
- return res;
-}
-
-public boolean gluUnProject(double winX, double winY, double winZ, double[] model, double[] proj, int[] view, double[] objPos) {
- return project.gluUnProject(winX, winY, winZ, model, proj, view, objPos);
-}
-
-public boolean gluUnProject4(double winX, double winY, double winZ, double clipW, double[] model, double[] proj, int[] view, double nearVal, double farVal, double[] objX, double[] objY, double[] objZ, double[] objW) {
- double[] tmp = new double[4];
- boolean res = project.gluUnProject4(winX, winY, winZ, clipW, model, proj, view, nearVal, farVal, tmp);
- objX[0] = tmp[0];
- objY[0] = tmp[1];
- objZ[0] = tmp[2];
- objW[0] = tmp[3];
- return res;
-}
-
-public boolean gluUnProject4(double winX, double winY, double winZ, double clipW, double[] model, double[] proj, int[] view, double nearVal, double farVal, double[] objPos) {
- return project.gluUnProject4(winX, winY, winZ, clipW, model, proj, view, nearVal, farVal, objPos);
-}
-
-public void gluPickMatrix(double x, double y, double delX, double delY, int[] viewport) {
- project.gluPickMatrix(gl, x, y, delX, delY, viewport);
-}
-
-//----------------------------------------------------------------------
-// Mipmap and image scaling functionality
-
-
-// Boolean
-public static final int GLU_FALSE = 0;
-public static final int GLU_TRUE = 1;
-
-// String Name
-public static final int GLU_VERSION = 100800;
-public static final int GLU_EXTENSIONS = 100801;
-
-// Extensions
-public static final String versionString = "1.3";
-public static final String extensionString = "GLU_EXT_nurbs_tessellator " +
- "GLU_EXT_object_space_tess ";
-
-// ErrorCode
-public static final int GLU_INVALID_ENUM = 100900;
-public static final int GLU_INVALID_VALUE = 100901;
-public static final int GLU_OUT_OF_MEMORY = 100902;
-public static final int GLU_INVALID_OPERATION = 100904;
-
-// NurbsDisplay
-// GLU_FILL
-public static final int GLU_OUTLINE_POLYGON = 100240;
-public static final int GLU_OUTLINE_PATCH = 100241;
-
-// NurbsCallback
-public static final int GLU_NURBS_ERROR = 100103;
-public static final int GLU_ERROR = 100103;
-public static final int GLU_NURBS_BEGIN = 100164;
-public static final int GLU_NURBS_BEGIN_EXT = 100164;
-public static final int GLU_NURBS_VERTEX = 100165;
-public static final int GLU_NURBS_VERTEX_EXT = 100165;
-public static final int GLU_NURBS_NORMAL = 100166;
-public static final int GLU_NURBS_NORMAL_EXT = 100166;
-public static final int GLU_NURBS_COLOR = 100167;
-public static final int GLU_NURBS_COLOR_EXT = 100167;
-public static final int GLU_NURBS_TEXTURE_COORD = 100168;
-public static final int GLU_NURBS_TEX_COORD_EXT = 100168;
-public static final int GLU_NURBS_END = 100169;
-public static final int GLU_NURBS_END_EXT = 100169;
-public static final int GLU_NURBS_BEGIN_DATA = 100170;
-public static final int GLU_NURBS_BEGIN_DATA_EXT = 100170;
-public static final int GLU_NURBS_VERTEX_DATA = 100171;
-public static final int GLU_NURBS_VERTEX_DATA_EXT = 100171;
-public static final int GLU_NURBS_NORMAL_DATA = 100172;
-public static final int GLU_NURBS_NORMAL_DATA_EXT = 100172;
-public static final int GLU_NURBS_COLOR_DATA = 100173;
-public static final int GLU_NURBS_COLOR_DATA_EXT = 100173;
-public static final int GLU_NURBS_TEXTURE_COORD_DATA = 100174;
-public static final int GLU_NURBS_TEX_COORD_DATA_EXT = 100174;
-public static final int GLU_NURBS_END_DATA = 100175;
-public static final int GLU_NURBS_END_DATA_EXT = 100175;
-
-// NurbsError
-public static final int GLU_NURBS_ERROR1 = 100251;
-public static final int GLU_NURBS_ERROR2 = 100252;
-public static final int GLU_NURBS_ERROR3 = 100253;
-public static final int GLU_NURBS_ERROR4 = 100254;
-public static final int GLU_NURBS_ERROR5 = 100255;
-public static final int GLU_NURBS_ERROR6 = 100256;
-public static final int GLU_NURBS_ERROR7 = 100257;
-public static final int GLU_NURBS_ERROR8 = 100258;
-public static final int GLU_NURBS_ERROR9 = 100259;
-public static final int GLU_NURBS_ERROR10 = 100260;
-public static final int GLU_NURBS_ERROR11 = 100261;
-public static final int GLU_NURBS_ERROR12 = 100262;
-public static final int GLU_NURBS_ERROR13 = 100263;
-public static final int GLU_NURBS_ERROR14 = 100264;
-public static final int GLU_NURBS_ERROR15 = 100265;
-public static final int GLU_NURBS_ERROR16 = 100266;
-public static final int GLU_NURBS_ERROR17 = 100267;
-public static final int GLU_NURBS_ERROR18 = 100268;
-public static final int GLU_NURBS_ERROR19 = 100269;
-public static final int GLU_NURBS_ERROR20 = 100270;
-public static final int GLU_NURBS_ERROR21 = 100271;
-public static final int GLU_NURBS_ERROR22 = 100272;
-public static final int GLU_NURBS_ERROR23 = 100273;
-public static final int GLU_NURBS_ERROR24 = 100274;
-public static final int GLU_NURBS_ERROR25 = 100275;
-public static final int GLU_NURBS_ERROR26 = 100276;
-public static final int GLU_NURBS_ERROR27 = 100277;
-public static final int GLU_NURBS_ERROR28 = 100278;
-public static final int GLU_NURBS_ERROR29 = 100279;
-public static final int GLU_NURBS_ERROR30 = 100280;
-public static final int GLU_NURBS_ERROR31 = 100281;
-public static final int GLU_NURBS_ERROR32 = 100282;
-public static final int GLU_NURBS_ERROR33 = 100283;
-public static final int GLU_NURBS_ERROR34 = 100284;
-public static final int GLU_NURBS_ERROR35 = 100285;
-public static final int GLU_NURBS_ERROR36 = 100286;
-public static final int GLU_NURBS_ERROR37 = 100287;
-
-// NurbsProperty
-public static final int GLU_AUTO_LOAD_MATRIX = 100200;
-public static final int GLU_CULLING = 100201;
-public static final int GLU_SAMPLING_TOLERANCE = 100203;
-public static final int GLU_DISPLAY_MODE = 100204;
-public static final int GLU_PARAMETRIC_TOLERANCE = 100202;
-public static final int GLU_SAMPLING_METHOD = 100205;
-public static final int GLU_U_STEP = 100206;
-public static final int GLU_V_STEP = 100207;
-public static final int GLU_NURBS_MODE = 100160;
-public static final int GLU_NURBS_MODE_EXT = 100160;
-public static final int GLU_NURBS_TESSELLATOR = 100161;
-public static final int GLU_NURBS_TESSELLATOR_EXT = 100161;
-public static final int GLU_NURBS_RENDERER = 100162;
-public static final int GLU_NURBS_RENDERER_EXT = 100162;
-
-// NurbsSampling
-public static final int GLU_OBJECT_PARAMETRIC_ERROR = 100208;
-public static final int GLU_OBJECT_PARAMETRIC_ERROR_EXT = 100208;
-public static final int GLU_OBJECT_PATH_LENGTH = 100209;
-public static final int GLU_OBJECT_PATH_LENGTH_EXT = 100209;
-public static final int GLU_PATH_LENGTH = 100215;
-public static final int GLU_PARAMETRIC_ERROR = 100216;
-public static final int GLU_DOMAIN_DISTANCE = 100217;
-
-// NurbsTrim
-public static final int GLU_MAP1_TRIM_2 = 100210;
-public static final int GLU_MAP1_TRIM_3 = 100211;
-
-// QuadricDrawStyle
-public static final int GLU_POINT = 100010;
-public static final int GLU_LINE = 100011;
-public static final int GLU_FILL = 100012;
-public static final int GLU_SILHOUETTE = 100013;
-
-// QuadricCallback
-// GLU_ERROR
-
-// QuadricNormal
-public static final int GLU_SMOOTH = 100000;
-public static final int GLU_FLAT = 100001;
-public static final int GLU_NONE = 100002;
-
-// QuadricOrientation
-public static final int GLU_OUTSIDE = 100020;
-public static final int GLU_INSIDE = 100021;
-
-// TessCallback
-public static final int GLU_TESS_BEGIN = 100100;
-public static final int GLU_BEGIN = 100100;
-public static final int GLU_TESS_VERTEX = 100101;
-public static final int GLU_VERTEX = 100101;
-public static final int GLU_TESS_END = 100102;
-public static final int GLU_END = 100102;
-public static final int GLU_TESS_ERROR = 100103;
-public static final int GLU_TESS_EDGE_FLAG = 100104;
-public static final int GLU_EDGE_FLAG = 100104;
-public static final int GLU_TESS_COMBINE = 100105;
-public static final int GLU_TESS_BEGIN_DATA = 100106;
-public static final int GLU_TESS_VERTEX_DATA = 100107;
-public static final int GLU_TESS_END_DATA = 100108;
-public static final int GLU_TESS_ERROR_DATA = 100109;
-public static final int GLU_TESS_EDGE_FLAG_DATA = 100110;
-public static final int GLU_TESS_COMBINE_DATA = 100111;
-
-// TessContour
-public static final int GLU_CW = 100120;
-public static final int GLU_CCW = 100121;
-public static final int GLU_INTERIOR = 100122;
-public static final int GLU_EXTERIOR = 100123;
-public static final int GLU_UNKNOWN = 100124;
-
-// TessProperty
-public static final int GLU_TESS_WINDING_RULE = 100140;
-public static final int GLU_TESS_BOUNDRY_ONLY = 100141;
-public static final int GLU_TESS_TOLERANCE = 100142;
-
-// TessError
-public static final int GLU_TESS_ERROR1 = 100151;
-public static final int GLU_TESS_ERROR2 = 100152;
-public static final int GLU_TESS_ERROR3 = 100153;
-public static final int GLU_TESS_ERROR4 = 100154;
-public static final int GLU_TESS_ERROR5 = 100155;
-public static final int GLU_TESS_ERROR6 = 100156;
-public static final int GLU_TESS_ERROR7 = 100157;
-public static final int GLU_TESS_ERROR8 = 100158;
-public static final int GLU_TESS_MISSING_BEGIN_POLYGON = 100151;
-public static final int GLU_TESS_MISSING_BEGIN_CONTOUR = 100152;
-public static final int GLU_TESS_MISSING_END_POLYGON = 100153;
-public static final int GLU_TESS_MISSING_END_CONTOUR = 100154;
-public static final int GLU_TESS_COORD_TOO_LARGE = 100155;
-public static final int GLU_TESS_NEED_COMBINE_CALLBACK = 100156;
-
-// TessWinding
-public static final int GLU_TESS_WINDING_ODD = 100130;
-public static final int GLU_TESS_WINDING_NONZERO = 100131;
-public static final int GLU_TESS_WINDING_POSITIVE = 100132;
-public static final int GLU_TESS_WINDING_NEGATIVE = 100133;
-public static final int GLU_TESS_WINDING_ABS_GEQ_TWO = 100134;
-
-public int gluScaleImageJava( int format, int widthin, int heightin,
- int typein, Object datain, int widthout, int heightout,
- int typeout, Object dataout ) {
- ByteBuffer in = null;
- ByteBuffer out = null;
- if( datain instanceof ByteBuffer ) {
- in = (ByteBuffer)datain;
- } else if( datain instanceof byte[] ) {
- in = ByteBuffer.allocateDirect( ((byte[])datain).length ).order( ByteOrder.nativeOrder() );
- in.put((byte[]) datain).rewind();
- } else if( datain instanceof short[] ) {
- in = ByteBuffer.allocateDirect( ((byte[])datain).length * 2 ).order( ByteOrder.nativeOrder() );
- in.asShortBuffer().put((short[]) datain).rewind();
- } else if( datain instanceof int[] ) {
- in = ByteBuffer.allocateDirect( ((byte[])datain).length * 4 ).order( ByteOrder.nativeOrder() );
- in.asIntBuffer().put((int[]) datain).rewind();
- } else if( datain instanceof float[] ) {
- in = ByteBuffer.allocateDirect( ((byte[])datain).length * 4 ).order( ByteOrder.nativeOrder() );
- in.asFloatBuffer().put((float[]) datain).rewind();
- } else {
- throw new IllegalArgumentException( "Input data must be a primitive array or a ByteBuffer" );
- }
- if( dataout instanceof ByteBuffer ) {
- out = (ByteBuffer)dataout;
- } else if( dataout instanceof byte[] ) {
- out = ByteBuffer.wrap( ((byte[])dataout) );
- } else if( dataout instanceof short[] ) {
- out = ByteBuffer.allocate( ((short[])dataout).length * 2 );
- } else if( dataout instanceof int[] ) {
- out = ByteBuffer.allocate( ((int[])dataout).length * 4 );
- } else if( dataout instanceof float[] ) {
- out = ByteBuffer.allocate( ((float[])dataout).length * 4 );
- } else {
- throw new IllegalArgumentException( "Output data must be a primitive array or a ByteBuffer" );
- }
- int errno = Mipmap.gluScaleImage( gl, format, widthin, heightin, typein, in,
- widthout, heightout, typeout, out );
- if( errno == 0 ) {
- if( dataout instanceof short[] ) {
- out.asShortBuffer().get( (short[])dataout );
- } else if( dataout instanceof int[] ) {
- out.asIntBuffer().get( (int[])dataout );
- } else if( dataout instanceof float[] ) {
- out.asFloatBuffer().get( (float[])dataout );
- }
- }
- return( errno );
-}
-
-public int gluBuild1DMipmapLevelsJava( int target, int internalFormat, int width,
- int format, int type, int userLevel, int baseLevel, int maxLevel,
- Object data ) {
- ByteBuffer buffer = null;
- if( data instanceof ByteBuffer ) {
- buffer = (ByteBuffer)data;
- } else if( data instanceof byte[] ) {
- buffer = ByteBuffer.allocateDirect( ((byte[])data).length ).order( ByteOrder.nativeOrder() );
- buffer.put( (byte[])data );
- } else if( data instanceof short[] ) {
- buffer = ByteBuffer.allocateDirect( ((short[])data).length * 2 ).order( ByteOrder.nativeOrder() );
- buffer.asShortBuffer().put( (short[])data );
- } else if( data instanceof int[] ) {
- buffer = ByteBuffer.allocateDirect( ((int[])data).length * 4 ).order( ByteOrder.nativeOrder() );
- buffer.asIntBuffer().put( (int[])data );
- } else if( data instanceof float[] ) {
- buffer = ByteBuffer.allocateDirect( ((float[])data).length * 4 ).order( ByteOrder.nativeOrder() );
- buffer.asFloatBuffer().put( (float[])data );
- } else {
- throw new IllegalArgumentException( "Input data must be a primitive array or a ByteBuffer" );
- }
- return( Mipmap.gluBuild1DMipmapLevels( gl, target, internalFormat, width,
- format, type, userLevel, baseLevel, maxLevel, buffer ) );
-}
-
-public int gluBuild1DMipmapsJava( int target, int internalFormat, int width,
- int format, int type, Object data ) {
- ByteBuffer buffer = null;
- if( data instanceof ByteBuffer ) {
- buffer = (ByteBuffer)data;
- } else if( data instanceof byte[] ) {
- buffer = ByteBuffer.allocateDirect( ((byte[])data).length ).order( ByteOrder.nativeOrder() );
- buffer.put( (byte[])data );
- } else if( data instanceof short[] ) {
- buffer = ByteBuffer.allocateDirect( ((short[])data).length * 2 ).order( ByteOrder.nativeOrder() );
- buffer.asShortBuffer().put( (short[])data );
- } else if( data instanceof int[] ) {
- buffer = ByteBuffer.allocateDirect( ((int[])data).length * 4 ).order( ByteOrder.nativeOrder() );
- buffer.asIntBuffer().put( (int[])data );
- } else if( data instanceof float[] ) {
- buffer = ByteBuffer.allocateDirect( ((float[])data).length * 4 ).order( ByteOrder.nativeOrder() );
- buffer.asFloatBuffer().put( (float[])data );
- } else {
- throw new IllegalArgumentException( "Input data must be a primitive array or a ByteBuffer" );
- }
- return( Mipmap.gluBuild1DMipmaps( gl, target, internalFormat, width, format,
- type, buffer ) );
-}
-
-public int gluBuild2DMipmapLevelsJava( int target, int internalFormat, int width,
- int height, int format, int type, int userLevel, int baseLevel,
- int maxLevel, Object data ) {
- return( Mipmap.gluBuild2DMipmapLevels( gl, target, internalFormat, width,
- height, format, type, userLevel, baseLevel, maxLevel, data ) );
-}
-
-public int gluBuild2DMipmapsJava( int target, int internalFormat, int width,
- int height, int format, int type, Object data ) {
- return( Mipmap.gluBuild2DMipmaps( gl, target, internalFormat, width, height,
- format, type, data ) );
-}
-
-public int gluBuild3DMipmapLevelsJava( int target, int internalFormat, int width,
- int height, int depth, int format, int type, int userLevel, int baseLevel,
- int maxLevel, Object data ) {
- ByteBuffer buffer = null;
- if( data instanceof ByteBuffer ) {
- buffer = (ByteBuffer)data;
- } else if( data instanceof byte[] ) {
- buffer = ByteBuffer.allocateDirect( ((byte[])data).length ).order( ByteOrder.nativeOrder() );
- buffer.put( (byte[])data );
- } else if( data instanceof short[] ) {
- buffer = ByteBuffer.allocateDirect( ((short[])data).length * 2 ).order( ByteOrder.nativeOrder() );
- buffer.asShortBuffer().put( (short[])data );
- } else if( data instanceof int[] ) {
- buffer = ByteBuffer.allocateDirect( ((int[])data).length * 4 ).order( ByteOrder.nativeOrder() );
- buffer.asIntBuffer().put( (int[])data );
- } else if( data instanceof float[] ) {
- buffer = ByteBuffer.allocateDirect( ((float[])data).length * 4 ).order( ByteOrder.nativeOrder() );
- buffer.asFloatBuffer().put( (float[])data );
- } else {
- throw new IllegalArgumentException( "Input data must be a primitive array or a ByteBuffer" );
- }
- return( Mipmap.gluBuild3DMipmapLevels( gl, target, internalFormat, width,
- height, depth, format, type, userLevel, baseLevel, maxLevel, buffer ) );
-}
-
-public int gluBuild3DMipmapsJava( int target, int internalFormat, int width,
- int height, int depth, int format, int type, Object data ) {
- ByteBuffer buffer = null;
- if( data instanceof ByteBuffer ) {
- buffer = (ByteBuffer)data;
- } else if( data instanceof byte[] ) {
- buffer = ByteBuffer.allocateDirect( ((byte[])data).length ).order( ByteOrder.nativeOrder() );
- buffer.put( (byte[])data );
- } else if( data instanceof short[] ) {
- buffer = ByteBuffer.allocateDirect( ((short[])data).length * 2 ).order( ByteOrder.nativeOrder() );
- buffer.asShortBuffer().put( (short[])data );
- } else if( data instanceof int[] ) {
- buffer = ByteBuffer.allocateDirect( ((int[])data).length * 4 ).order( ByteOrder.nativeOrder() );
- buffer.asIntBuffer().put( (int[])data );
- } else if( data instanceof float[] ) {
- buffer = ByteBuffer.allocateDirect( ((float[])data).length * 4 ).order( ByteOrder.nativeOrder() );
- buffer.asFloatBuffer().put( (float[])data );
- } else {
- throw new IllegalArgumentException( "Input data must be a primitive array or a ByteBuffer" );
- }
- return( Mipmap.gluBuild3DMipmaps( gl, target, internalFormat, width, height,
- depth, format, type, buffer ) );
-}
-
-
-//----------------------------------------------------------------------
-// Wrappers for mipmap and image scaling entry points which dispatch either
-// to the Java or C versions.
-//
-
-
-/** Interface to C language function: <br> <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, byte[] data) {
- if (useJavaMipmapCode) {
- return gluBuild1DMipmapLevelsJava(target, internalFormat, width, format, type, level, base, max, data);
- } else {
- return gluBuild1DMipmapLevelsC(target, internalFormat, width, format, type, level, base, max, data);
- }
-}
-
-/** Interface to C language function: <br> <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, short[] data) {
- if (useJavaMipmapCode) {
- return gluBuild1DMipmapLevelsJava(target, internalFormat, width, format, type, level, base, max, data);
- } else {
- return gluBuild1DMipmapLevelsC(target, internalFormat, width, format, type, level, base, max, data);
- }
-}
-
-/** Interface to C language function: <br> <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, int[] data) {
- if (useJavaMipmapCode) {
- return gluBuild1DMipmapLevelsJava(target, internalFormat, width, format, type, level, base, max, data);
- } else {
- return gluBuild1DMipmapLevelsC(target, internalFormat, width, format, type, level, base, max, data);
- }
-}
-
-/** Interface to C language function: <br> <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, float[] data) {
- if (useJavaMipmapCode) {
- return gluBuild1DMipmapLevelsJava(target, internalFormat, width, format, type, level, base, max, data);
- } else {
- return gluBuild1DMipmapLevelsC(target, internalFormat, width, format, type, level, base, max, data);
- }
-}
-
-/** Interface to C language function: <br> <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, java.nio.Buffer data) {
- if (useJavaMipmapCode) {
- return gluBuild1DMipmapLevelsJava(target, internalFormat, width, format, type, level, base, max, data);
- } else {
- return gluBuild1DMipmapLevelsC(target, internalFormat, width, format, type, level, base, max, data);
- }
-}
-
-/** Interface to C language function: <br> <code> GLint gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void * data); </code> */
-public int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, byte[] data) {
- if (useJavaMipmapCode) {
- return gluBuild1DMipmapsJava(target, internalFormat, width, format, type, data);
- } else {
- return gluBuild1DMipmapsC(target, internalFormat, width, format, type, data);
- }
-}
-
-/** Interface to C language function: <br> <code> GLint gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void * data); </code> */
-public int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, short[] data) {
- if (useJavaMipmapCode) {
- return gluBuild1DMipmapsJava(target, internalFormat, width, format, type, data);
- } else {
- return gluBuild1DMipmapsC(target, internalFormat, width, format, type, data);
- }
-}
-
-
-/** Interface to C language function: <br> <code> GLint gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void * data); </code> */
-public int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, int[] data) {
- if (useJavaMipmapCode) {
- return gluBuild1DMipmapsJava(target, internalFormat, width, format, type, data);
- } else {
- return gluBuild1DMipmapsC(target, internalFormat, width, format, type, data);
- }
-}
-
-
-/** Interface to C language function: <br> <code> GLint gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void * data); </code> */
-public int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, float[] data) {
- if (useJavaMipmapCode) {
- return gluBuild1DMipmapsJava(target, internalFormat, width, format, type, data);
- } else {
- return gluBuild1DMipmapsC(target, internalFormat, width, format, type, data);
- }
-}
-
-
-/** Interface to C language function: <br> <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, byte[] data) {
- if (useJavaMipmapCode) {
- return gluBuild2DMipmapLevelsJava(target, internalFormat, width, height, format, type, level, base, max, data);
- } else {
- return gluBuild2DMipmapLevelsC(target, internalFormat, width, height, format, type, level, base, max, data);
- }
-}
-
-/** Interface to C language function: <br> <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, short[] data) {
- if (useJavaMipmapCode) {
- return gluBuild2DMipmapLevelsJava(target, internalFormat, width, height, format, type, level, base, max, data);
- } else {
- return gluBuild2DMipmapLevelsC(target, internalFormat, width, height, format, type, level, base, max, data);
- }
-}
-
-
-/** Interface to C language function: <br> <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, int[] data) {
- if (useJavaMipmapCode) {
- return gluBuild2DMipmapLevelsJava(target, internalFormat, width, height, format, type, level, base, max, data);
- } else {
- return gluBuild2DMipmapLevelsC(target, internalFormat, width, height, format, type, level, base, max, data);
- }
-}
-
-
-/** Interface to C language function: <br> <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, float[] data) {
- if (useJavaMipmapCode) {
- return gluBuild2DMipmapLevelsJava(target, internalFormat, width, height, format, type, level, base, max, data);
- } else {
- return gluBuild2DMipmapLevelsC(target, internalFormat, width, height, format, type, level, base, max, data);
- }
-}
-
-
-/** Interface to C language function: <br> <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, java.nio.Buffer data) {
- if (useJavaMipmapCode) {
- return gluBuild2DMipmapLevelsJava(target, internalFormat, width, height, format, type, level, base, max, data);
- } else {
- return gluBuild2DMipmapLevelsC(target, internalFormat, width, height, format, type, level, base, max, data);
- }
-}
-
-
-/** Interface to C language function: <br> <code> GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * data); </code> */
-public int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, byte[] data) {
- if (useJavaMipmapCode) {
- return gluBuild2DMipmapsJava(target, internalFormat, width, height, format, type, data);
- } else {
- return gluBuild2DMipmapsC(target, internalFormat, width, height, format, type, data);
- }
-}
-
-
-/** Interface to C language function: <br> <code> GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * data); </code> */
-public int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, short[] data) {
- if (useJavaMipmapCode) {
- return gluBuild2DMipmapsJava(target, internalFormat, width, height, format, type, data);
- } else {
- return gluBuild2DMipmapsC(target, internalFormat, width, height, format, type, data);
- }
-}
-
-
-/** Interface to C language function: <br> <code> GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * data); </code> */
-public int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, int[] data) {
- if (useJavaMipmapCode) {
- return gluBuild2DMipmapsJava(target, internalFormat, width, height, format, type, data);
- } else {
- return gluBuild2DMipmapsC(target, internalFormat, width, height, format, type, data);
- }
-}
-
-
-/** Interface to C language function: <br> <code> GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * data); </code> */
-public int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, float[] data) {
- if (useJavaMipmapCode) {
- return gluBuild2DMipmapsJava(target, internalFormat, width, height, format, type, data);
- } else {
- return gluBuild2DMipmapsC(target, internalFormat, width, height, format, type, data);
- }
-}
-
-
-/** Interface to C language function: <br> <code> GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * data); </code> */
-public int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, java.nio.Buffer data) {
- if (useJavaMipmapCode) {
- return gluBuild2DMipmapsJava(target, internalFormat, width, height, format, type, data);
- } else {
- return gluBuild2DMipmapsC(target, internalFormat, width, height, format, type, data);
- }
-}
-
-
-/** Interface to C language function: <br> <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, byte[] data) {
- if (useJavaMipmapCode) {
- return gluBuild3DMipmapLevelsJava(target, internalFormat, width, height, depth, format, type, level, base, max, data);
- } else {
- return gluBuild3DMipmapLevelsC(target, internalFormat, width, height, depth, format, type, level, base, max, data);
- }
-}
-
-
-/** Interface to C language function: <br> <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, short[] data) {
- if (useJavaMipmapCode) {
- return gluBuild3DMipmapLevelsJava(target, internalFormat, width, height, depth, format, type, level, base, max, data);
- } else {
- return gluBuild3DMipmapLevelsC(target, internalFormat, width, height, depth, format, type, level, base, max, data);
- }
-}
-
-
-/** Interface to C language function: <br> <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, int[] data) {
- if (useJavaMipmapCode) {
- return gluBuild3DMipmapLevelsJava(target, internalFormat, width, height, depth, format, type, level, base, max, data);
- } else {
- return gluBuild3DMipmapLevelsC(target, internalFormat, width, height, depth, format, type, level, base, max, data);
- }
-}
-
-
-/** Interface to C language function: <br> <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, float[] data) {
- if (useJavaMipmapCode) {
- return gluBuild3DMipmapLevelsJava(target, internalFormat, width, height, depth, format, type, level, base, max, data);
- } else {
- return gluBuild3DMipmapLevelsC(target, internalFormat, width, height, depth, format, type, level, base, max, data);
- }
-}
-
-
-/** Interface to C language function: <br> <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, java.nio.Buffer data) {
- if (useJavaMipmapCode) {
- return gluBuild3DMipmapLevelsJava(target, internalFormat, width, height, depth, format, type, level, base, max, data);
- } else {
- return gluBuild3DMipmapLevelsC(target, internalFormat, width, height, depth, format, type, level, base, max, data);
- }
-}
-
-
-/** Interface to C language function: <br> <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data); </code> */
-public int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, byte[] data) {
- if (useJavaMipmapCode) {
- return gluBuild3DMipmapsJava(target, internalFormat, width, height, depth, format, type, data);
- } else {
- return gluBuild3DMipmapsC(target, internalFormat, width, height, depth, format, type, data);
- }
-}
-
-
-/** Interface to C language function: <br> <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data); </code> */
-public int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, short[] data) {
- if (useJavaMipmapCode) {
- return gluBuild3DMipmapsJava(target, internalFormat, width, height, depth, format, type, data);
- } else {
- return gluBuild3DMipmapsC(target, internalFormat, width, height, depth, format, type, data);
- }
-}
-
-
-/** Interface to C language function: <br> <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data); </code> */
-public int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, int[] data) {
- if (useJavaMipmapCode) {
- return gluBuild3DMipmapsJava(target, internalFormat, width, height, depth, format, type, data);
- } else {
- return gluBuild3DMipmapsC(target, internalFormat, width, height, depth, format, type, data);
- }
-}
-
-
-/** Interface to C language function: <br> <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data); </code> */
-public int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, float[] data) {
- if (useJavaMipmapCode) {
- return gluBuild3DMipmapsJava(target, internalFormat, width, height, depth, format, type, data);
- } else {
- return gluBuild3DMipmapsC(target, internalFormat, width, height, depth, format, type, data);
- }
-}
-
-
-/** Interface to C language function: <br> <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data); </code> */
-public int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, java.nio.Buffer data) {
- if (useJavaMipmapCode) {
- return gluBuild3DMipmapsJava(target, internalFormat, width, height, depth, format, type, data);
- } else {
- return gluBuild3DMipmapsC(target, internalFormat, width, height, depth, format, type, data);
- }
-}
-
-
-/** Interface to C language function: <br> <code> GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void * dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid * dataOut); </code> */
-public int gluScaleImage(int format, int wIn, int hIn, int typeIn, byte[] dataIn, int wOut, int hOut, int typeOut, byte[] dataOut) {
- if (useJavaMipmapCode) {
- return gluScaleImageJava(format, wIn, hIn, typeIn, dataIn, wOut, hOut, typeOut, dataOut);
- } else {
- return gluScaleImageC(format, wIn, hIn, typeIn, dataIn, wOut, hOut, typeOut, dataOut);
- }
-}
-
-
-/** Interface to C language function: <br> <code> GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void * dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid * dataOut); </code> */
-public int gluScaleImage(int format, int wIn, int hIn, int typeIn, short[] dataIn, int wOut, int hOut, int typeOut, short[] dataOut) {
- if (useJavaMipmapCode) {
- return gluScaleImageJava(format, wIn, hIn, typeIn, dataIn, wOut, hOut, typeOut, dataOut);
- } else {
- return gluScaleImageC(format, wIn, hIn, typeIn, dataIn, wOut, hOut, typeOut, dataOut);
- }
-}
-
-
-/** Interface to C language function: <br> <code> GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void * dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid * dataOut); </code> */
-public int gluScaleImage(int format, int wIn, int hIn, int typeIn, int[] dataIn, int wOut, int hOut, int typeOut, int[] dataOut) {
- if (useJavaMipmapCode) {
- return gluScaleImageJava(format, wIn, hIn, typeIn, dataIn, wOut, hOut, typeOut, dataOut);
- } else {
- return gluScaleImageC(format, wIn, hIn, typeIn, dataIn, wOut, hOut, typeOut, dataOut);
- }
-}
-
-
-/** Interface to C language function: <br> <code> GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void * dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid * dataOut); </code> */
-public int gluScaleImage(int format, int wIn, int hIn, int typeIn, float[] dataIn, int wOut, int hOut, int typeOut, float[] dataOut) {
- if (useJavaMipmapCode) {
- return gluScaleImageJava(format, wIn, hIn, typeIn, dataIn, wOut, hOut, typeOut, dataOut);
- } else {
- return gluScaleImageC(format, wIn, hIn, typeIn, dataIn, wOut, hOut, typeOut, dataOut);
- }
-}
-
-
-/** Interface to C language function: <br> <code> GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void * dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid * dataOut); </code> */
-public int gluScaleImage(int format, int wIn, int hIn, int typeIn, java.nio.Buffer dataIn, int wOut, int hOut, int typeOut, java.nio.Buffer dataOut) {
- if (useJavaMipmapCode) {
- return gluScaleImageJava(format, wIn, hIn, typeIn, dataIn, wOut, hOut, typeOut, dataOut);
- } else {
- return gluScaleImageC(format, wIn, hIn, typeIn, dataIn, wOut, hOut, typeOut, dataOut);
- }
-}
-
-
-
-//----------------------------------------------------------------------
-// Wrappers for C entry points for mipmap and scaling functionality.
-// (These are only used as a fallback and will be removed in a future release)
-
- /** Entry point to C language function: <br> <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- public int gluBuild1DMipmapLevelsC(int target, int internalFormat, int width, int format, int type, int level, int base, int max, byte[] data)
- {
- final long __addr_ = gluProcAddressTable._addressof_gluBuild1DMipmapLevels;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild1DMipmapLevels\" not available");
- }
- return dispatch_gluBuild1DMipmapLevels(target, internalFormat, width, format, type, level, base, max, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- private native int dispatch_gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, byte[] data, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- public int gluBuild1DMipmapLevelsC(int target, int internalFormat, int width, int format, int type, int level, int base, int max, short[] data)
- {
- final long __addr_ = gluProcAddressTable._addressof_gluBuild1DMipmapLevels;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild1DMipmapLevels\" not available");
- }
- return dispatch_gluBuild1DMipmapLevels(target, internalFormat, width, format, type, level, base, max, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- private native int dispatch_gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, short[] data, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- public int gluBuild1DMipmapLevelsC(int target, int internalFormat, int width, int format, int type, int level, int base, int max, int[] data)
- {
- final long __addr_ = gluProcAddressTable._addressof_gluBuild1DMipmapLevels;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild1DMipmapLevels\" not available");
- }
- return dispatch_gluBuild1DMipmapLevels(target, internalFormat, width, format, type, level, base, max, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- private native int dispatch_gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, int[] data, long glProcAddress);
-
- /** Entry point to C language function: <br> <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- public int gluBuild1DMipmapLevelsC(int target, int internalFormat, int width, int format, int type, int level, int base, int max, float[] data)
- {
- final long __addr_ = gluProcAddressTable._addressof_gluBuild1DMipmapLevels;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild1DMipmapLevels\" not available");
- }
- return dispatch_gluBuild1DMipmapLevels(target, internalFormat, width, format, type, level, base, max, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- private native int dispatch_gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, float[] data, long glProcAddress);
-
- /** Entry point to C language function: <br> <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- public int gluBuild1DMipmapLevelsC(int target, int internalFormat, int width, int format, int type, int level, int base, int max, java.nio.Buffer data)
- {
- if (!BufferFactory.isDirect(data))
- throw new GLException("Argument \"data\" was not a direct buffer");
- final long __addr_ = gluProcAddressTable._addressof_gluBuild1DMipmapLevels;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild1DMipmapLevels\" not available");
- }
- return dispatch_gluBuild1DMipmapLevels(target, internalFormat, width, format, type, level, base, max, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- native private int dispatch_gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, java.nio.Buffer data, long glProcAddress);
-
- /** Entry point to C language function: <br> <code> GLint gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void * data); </code> */
- public int gluBuild1DMipmapsC(int target, int internalFormat, int width, int format, int type, byte[] data)
- {
- final long __addr_ = gluProcAddressTable._addressof_gluBuild1DMipmaps;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild1DMipmaps\" not available");
- }
- return dispatch_gluBuild1DMipmaps(target, internalFormat, width, format, type, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void * data); </code> */
- private native int dispatch_gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, byte[] data, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void * data); </code> */
- public int gluBuild1DMipmapsC(int target, int internalFormat, int width, int format, int type, short[] data)
- {
- final long __addr_ = gluProcAddressTable._addressof_gluBuild1DMipmaps;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild1DMipmaps\" not available");
- }
- return dispatch_gluBuild1DMipmaps(target, internalFormat, width, format, type, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void * data); </code> */
- private native int dispatch_gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, short[] data, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void * data); </code> */
- public int gluBuild1DMipmapsC(int target, int internalFormat, int width, int format, int type, int[] data)
- {
- final long __addr_ = gluProcAddressTable._addressof_gluBuild1DMipmaps;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild1DMipmaps\" not available");
- }
- return dispatch_gluBuild1DMipmaps(target, internalFormat, width, format, type, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void * data); </code> */
- private native int dispatch_gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, int[] data, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void * data); </code> */
- public int gluBuild1DMipmapsC(int target, int internalFormat, int width, int format, int type, float[] data)
- {
- final long __addr_ = gluProcAddressTable._addressof_gluBuild1DMipmaps;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild1DMipmaps\" not available");
- }
- return dispatch_gluBuild1DMipmaps(target, internalFormat, width, format, type, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void * data); </code> */
- private native int dispatch_gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, float[] data, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void * data); </code> */
- public int gluBuild1DMipmapsC(int target, int internalFormat, int width, int format, int type, java.nio.Buffer data)
- {
- if (!BufferFactory.isDirect(data))
- throw new GLException("Argument \"data\" was not a direct buffer");
- final long __addr_ = gluProcAddressTable._addressof_gluBuild1DMipmaps;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild1DMipmaps\" not available");
- }
- return dispatch_gluBuild1DMipmaps(target, internalFormat, width, format, type, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void * data); </code> */
- native private int dispatch_gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, java.nio.Buffer data, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- public int gluBuild2DMipmapLevelsC(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, byte[] data)
- {
- final long __addr_ = gluProcAddressTable._addressof_gluBuild2DMipmapLevels;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild2DMipmapLevels\" not available");
- }
- return dispatch_gluBuild2DMipmapLevels(target, internalFormat, width, height, format, type, level, base, max, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- private native int dispatch_gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, byte[] data, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- public int gluBuild2DMipmapLevelsC(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, short[] data)
- {
- final long __addr_ = gluProcAddressTable._addressof_gluBuild2DMipmapLevels;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild2DMipmapLevels\" not available");
- }
- return dispatch_gluBuild2DMipmapLevels(target, internalFormat, width, height, format, type, level, base, max, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- private native int dispatch_gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, short[] data, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- public int gluBuild2DMipmapLevelsC(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, int[] data)
- {
- final long __addr_ = gluProcAddressTable._addressof_gluBuild2DMipmapLevels;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild2DMipmapLevels\" not available");
- }
- return dispatch_gluBuild2DMipmapLevels(target, internalFormat, width, height, format, type, level, base, max, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- private native int dispatch_gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, int[] data, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- public int gluBuild2DMipmapLevelsC(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, float[] data)
- {
- final long __addr_ = gluProcAddressTable._addressof_gluBuild2DMipmapLevels;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild2DMipmapLevels\" not available");
- }
- return dispatch_gluBuild2DMipmapLevels(target, internalFormat, width, height, format, type, level, base, max, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- private native int dispatch_gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, float[] data, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- public int gluBuild2DMipmapLevelsC(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, java.nio.Buffer data)
- {
- if (!BufferFactory.isDirect(data))
- throw new GLException("Argument \"data\" was not a direct buffer");
- final long __addr_ = gluProcAddressTable._addressof_gluBuild2DMipmapLevels;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild2DMipmapLevels\" not available");
- }
- return dispatch_gluBuild2DMipmapLevels(target, internalFormat, width, height, format, type, level, base, max, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- native private int dispatch_gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, java.nio.Buffer data, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * data); </code> */
- public int gluBuild2DMipmapsC(int target, int internalFormat, int width, int height, int format, int type, byte[] data)
- {
- final long __addr_ = gluProcAddressTable._addressof_gluBuild2DMipmaps;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild2DMipmaps\" not available");
- }
- return dispatch_gluBuild2DMipmaps(target, internalFormat, width, height, format, type, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * data); </code> */
- private native int dispatch_gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, byte[] data, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * data); </code> */
- public int gluBuild2DMipmapsC(int target, int internalFormat, int width, int height, int format, int type, short[] data)
- {
- final long __addr_ = gluProcAddressTable._addressof_gluBuild2DMipmaps;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild2DMipmaps\" not available");
- }
- return dispatch_gluBuild2DMipmaps(target, internalFormat, width, height, format, type, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * data); </code> */
- private native int dispatch_gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, short[] data, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * data); </code> */
- public int gluBuild2DMipmapsC(int target, int internalFormat, int width, int height, int format, int type, int[] data)
- {
- final long __addr_ = gluProcAddressTable._addressof_gluBuild2DMipmaps;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild2DMipmaps\" not available");
- }
- return dispatch_gluBuild2DMipmaps(target, internalFormat, width, height, format, type, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * data); </code> */
- private native int dispatch_gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, int[] data, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * data); </code> */
- public int gluBuild2DMipmapsC(int target, int internalFormat, int width, int height, int format, int type, float[] data)
- {
- final long __addr_ = gluProcAddressTable._addressof_gluBuild2DMipmaps;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild2DMipmaps\" not available");
- }
- return dispatch_gluBuild2DMipmaps(target, internalFormat, width, height, format, type, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * data); </code> */
- private native int dispatch_gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, float[] data, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * data); </code> */
- public int gluBuild2DMipmapsC(int target, int internalFormat, int width, int height, int format, int type, java.nio.Buffer data)
- {
- if (!BufferFactory.isDirect(data))
- throw new GLException("Argument \"data\" was not a direct buffer");
- final long __addr_ = gluProcAddressTable._addressof_gluBuild2DMipmaps;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild2DMipmaps\" not available");
- }
- return dispatch_gluBuild2DMipmaps(target, internalFormat, width, height, format, type, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * data); </code> */
- native private int dispatch_gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, java.nio.Buffer data, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- public int gluBuild3DMipmapLevelsC(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, byte[] data)
- {
- final long __addr_ = gluProcAddressTable._addressof_gluBuild3DMipmapLevels;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild3DMipmapLevels\" not available");
- }
- return dispatch_gluBuild3DMipmapLevels(target, internalFormat, width, height, depth, format, type, level, base, max, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- private native int dispatch_gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, byte[] data, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- public int gluBuild3DMipmapLevelsC(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, short[] data)
- {
- final long __addr_ = gluProcAddressTable._addressof_gluBuild3DMipmapLevels;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild3DMipmapLevels\" not available");
- }
- return dispatch_gluBuild3DMipmapLevels(target, internalFormat, width, height, depth, format, type, level, base, max, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- private native int dispatch_gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, short[] data, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- public int gluBuild3DMipmapLevelsC(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, int[] data)
- {
- final long __addr_ = gluProcAddressTable._addressof_gluBuild3DMipmapLevels;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild3DMipmapLevels\" not available");
- }
- return dispatch_gluBuild3DMipmapLevels(target, internalFormat, width, height, depth, format, type, level, base, max, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- private native int dispatch_gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, int[] data, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- public int gluBuild3DMipmapLevelsC(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, float[] data)
- {
- final long __addr_ = gluProcAddressTable._addressof_gluBuild3DMipmapLevels;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild3DMipmapLevels\" not available");
- }
- return dispatch_gluBuild3DMipmapLevels(target, internalFormat, width, height, depth, format, type, level, base, max, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- private native int dispatch_gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, float[] data, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- public int gluBuild3DMipmapLevelsC(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, java.nio.Buffer data)
- {
- if (!BufferFactory.isDirect(data))
- throw new GLException("Argument \"data\" was not a direct buffer");
- final long __addr_ = gluProcAddressTable._addressof_gluBuild3DMipmapLevels;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild3DMipmapLevels\" not available");
- }
- return dispatch_gluBuild3DMipmapLevels(target, internalFormat, width, height, depth, format, type, level, base, max, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
- native private int dispatch_gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, java.nio.Buffer data, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data); </code> */
- public int gluBuild3DMipmapsC(int target, int internalFormat, int width, int height, int depth, int format, int type, byte[] data)
- {
- final long __addr_ = gluProcAddressTable._addressof_gluBuild3DMipmaps;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild3DMipmaps\" not available");
- }
- return dispatch_gluBuild3DMipmaps(target, internalFormat, width, height, depth, format, type, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data); </code> */
- private native int dispatch_gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, byte[] data, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data); </code> */
- public int gluBuild3DMipmapsC(int target, int internalFormat, int width, int height, int depth, int format, int type, short[] data)
- {
- final long __addr_ = gluProcAddressTable._addressof_gluBuild3DMipmaps;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild3DMipmaps\" not available");
- }
- return dispatch_gluBuild3DMipmaps(target, internalFormat, width, height, depth, format, type, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data); </code> */
- private native int dispatch_gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, short[] data, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data); </code> */
- public int gluBuild3DMipmapsC(int target, int internalFormat, int width, int height, int depth, int format, int type, int[] data)
- {
- final long __addr_ = gluProcAddressTable._addressof_gluBuild3DMipmaps;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild3DMipmaps\" not available");
- }
- return dispatch_gluBuild3DMipmaps(target, internalFormat, width, height, depth, format, type, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data); </code> */
- private native int dispatch_gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, int[] data, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data); </code> */
- public int gluBuild3DMipmapsC(int target, int internalFormat, int width, int height, int depth, int format, int type, float[] data)
- {
- final long __addr_ = gluProcAddressTable._addressof_gluBuild3DMipmaps;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild3DMipmaps\" not available");
- }
- return dispatch_gluBuild3DMipmaps(target, internalFormat, width, height, depth, format, type, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data); </code> */
- private native int dispatch_gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, float[] data, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data); </code> */
- public int gluBuild3DMipmapsC(int target, int internalFormat, int width, int height, int depth, int format, int type, java.nio.Buffer data)
- {
- if (!BufferFactory.isDirect(data))
- throw new GLException("Argument \"data\" was not a direct buffer");
- final long __addr_ = gluProcAddressTable._addressof_gluBuild3DMipmaps;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluBuild3DMipmaps\" not available");
- }
- return dispatch_gluBuild3DMipmaps(target, internalFormat, width, height, depth, format, type, data, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data); </code> */
- native private int dispatch_gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, java.nio.Buffer data, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void * dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid * dataOut); </code> */
- public int gluScaleImageC(int format, int wIn, int hIn, int typeIn, byte[] dataIn, int wOut, int hOut, int typeOut, byte[] dataOut)
- {
- final long __addr_ = gluProcAddressTable._addressof_gluScaleImage;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluScaleImage\" not available");
- }
- return dispatch_gluScaleImage(format, wIn, hIn, typeIn, dataIn, wOut, hOut, typeOut, dataOut, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void * dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid * dataOut); </code> */
- private native int dispatch_gluScaleImage(int format, int wIn, int hIn, int typeIn, byte[] dataIn, int wOut, int hOut, int typeOut, byte[] dataOut, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void * dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid * dataOut); </code> */
- public int gluScaleImageC(int format, int wIn, int hIn, int typeIn, short[] dataIn, int wOut, int hOut, int typeOut, short[] dataOut)
- {
- final long __addr_ = gluProcAddressTable._addressof_gluScaleImage;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluScaleImage\" not available");
- }
- return dispatch_gluScaleImage(format, wIn, hIn, typeIn, dataIn, wOut, hOut, typeOut, dataOut, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void * dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid * dataOut); </code> */
- private native int dispatch_gluScaleImage(int format, int wIn, int hIn, int typeIn, short[] dataIn, int wOut, int hOut, int typeOut, short[] dataOut, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void * dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid * dataOut); </code> */
- public int gluScaleImageC(int format, int wIn, int hIn, int typeIn, int[] dataIn, int wOut, int hOut, int typeOut, int[] dataOut)
- {
- final long __addr_ = gluProcAddressTable._addressof_gluScaleImage;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluScaleImage\" not available");
- }
- return dispatch_gluScaleImage(format, wIn, hIn, typeIn, dataIn, wOut, hOut, typeOut, dataOut, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void * dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid * dataOut); </code> */
- private native int dispatch_gluScaleImage(int format, int wIn, int hIn, int typeIn, int[] dataIn, int wOut, int hOut, int typeOut, int[] dataOut, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void * dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid * dataOut); </code> */
- public int gluScaleImageC(int format, int wIn, int hIn, int typeIn, float[] dataIn, int wOut, int hOut, int typeOut, float[] dataOut)
- {
- final long __addr_ = gluProcAddressTable._addressof_gluScaleImage;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluScaleImage\" not available");
- }
- return dispatch_gluScaleImage(format, wIn, hIn, typeIn, dataIn, wOut, hOut, typeOut, dataOut, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void * dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid * dataOut); </code> */
- private native int dispatch_gluScaleImage(int format, int wIn, int hIn, int typeIn, float[] dataIn, int wOut, int hOut, int typeOut, float[] dataOut, long glProcAddress);
-
-
- /** Entry point to C language function: <br> <code> GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void * dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid * dataOut); </code> */
- public int gluScaleImageC(int format, int wIn, int hIn, int typeIn, java.nio.Buffer dataIn, int wOut, int hOut, int typeOut, java.nio.Buffer dataOut)
- {
- if (!BufferFactory.isDirect(dataIn))
- throw new GLException("Argument \"dataIn\" was not a direct buffer");
- if (!BufferFactory.isDirect(dataOut))
- throw new GLException("Argument \"dataOut\" was not a direct buffer");
- final long __addr_ = gluProcAddressTable._addressof_gluScaleImage;
- if (__addr_ == 0) {
- throw new GLException("Method \"gluScaleImage\" not available");
- }
- return dispatch_gluScaleImage(format, wIn, hIn, typeIn, dataIn, wOut, hOut, typeOut, dataOut, __addr_);
- }
-
- /** Encapsulates function pointer for OpenGL function <br>: <code> GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void * dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid * dataOut); </code> */
- native private int dispatch_gluScaleImage(int format, int wIn, int hIn, int typeIn, java.nio.Buffer dataIn, int wOut, int hOut, int typeOut, java.nio.Buffer dataOut, long glProcAddress);
-
-
-
diff --git a/make/glu-impl-common.cfg b/make/glu-impl-common.cfg
deleted file mode 100644
index 6710d0369..000000000
--- a/make/glu-impl-common.cfg
+++ /dev/null
@@ -1,22 +0,0 @@
-# This .cfg file contains common directives used when generating the
-# GLU implementation class on all platforms.
-
-Include glu-common.cfg
-
-Style ImplOnly
-
-EmitProcAddressTable true
-ProcAddressTableClassName GLUProcAddressTable
-GetProcAddressTableExpr gluProcAddressTable
-
-# GLUImpl needs access to the GLUtesselatorImpl class for GLUtesselator
-# and to the Mipmap class for scaling and mipmap generation
-Import net.java.games.jogl.impl.tesselator.GLUtesselatorImpl
-Import net.java.games.jogl.impl.mipmap.Mipmap
-Import java.security.*
-
-# Custom Java code for GLUImpl class
-IncludeAs CustomJavaCode GLUImpl glu-impl-common-CustomJavaCode.java
-
-# Custom C code for GLUImpl class
-IncludeAs CustomCCode glu-impl-common-CustomCCode.c
diff --git a/make/glu-impl-win32-GLU13Hacks.cfg b/make/glu-impl-win32-GLU13Hacks.cfg
deleted file mode 100644
index 186ee5ca1..000000000
--- a/make/glu-impl-win32-GLU13Hacks.cfg
+++ /dev/null
@@ -1,122 +0,0 @@
-#### FIXME!!!!!!!
-# win32 only ships with GLU 1.2 support so we can't link
-# the native JNI bindings.
-#
-# For now, don't autogenerate bindings for these GLU 1.3 routines on
-# win32. What we'll do instead is implement them by hand, and make
-# them throw exceptions for the time being until we have a GLU1.3
-# solution for win32.
-Ignore gluBuild(1|2|3)DMipmapLevels
-Ignore gluBuild3DMipmaps
-Ignore gluCheckExtension
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, boolean[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, byte[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, char[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, short[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, int[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, long[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, float[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, double[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, java.nio.Buffer data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, boolean[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, byte[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, char[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, short[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, int[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, long[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, float[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, double[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, java.nio.Buffer data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, boolean[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, byte[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, char[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, short[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, int[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, long[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, float[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, double[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, java.nio.Buffer data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, boolean[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, byte[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, char[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, short[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, int[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, long[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, float[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, double[] data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void *CustomJavaCode GLUImpl data); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, java.nio.Buffer data) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
-
-CustomJavaCode GLUImpl /** Entry point to C language function: <br> <code> GLboolean gluCheckExtension(const GLubyte *CustomJavaCode GLUImpl extName, const GLubyte *CustomJavaCode GLUImpl extString); </code>CustomJavaCode GLUImpl CustomJavaCode GLUImpl */
-CustomJavaCode GLUImpl public boolean gluCheckExtension(java.lang.String extName, java.lang.String extString) { throw new GLException("This GLU 1.3 function is not available on Win32 platforms because Microsoft Windows ships with a GLU 1.2 implementation"); }
diff --git a/make/glu-interface-common-CustomJavaCode.java b/make/glu-interface-common-CustomJavaCode.java
deleted file mode 100644
index 8be08f0a6..000000000
--- a/make/glu-interface-common-CustomJavaCode.java
+++ /dev/null
@@ -1,982 +0,0 @@
-//----------------------------------------------------------------------
-// Projection routines
-//
-
-/** 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> */
-public boolean gluProject(double objX, double objY, double objZ, double[] model, double[] proj, int[] view, double[] winX, double[] winY, double[] winZ);
-
-/**
- * Convenience routine for gluProject that accepts the outgoing window
- * coordinates as a single array.
- */
-public boolean gluProject(double objx,
- double objy,
- double objz,
- double[] modelMatrix,
- double[] projMatrix,
- int[] viewport,
- double[] winPos);
-
-/** Interface to C language function: <br> <code> GLint gluUnProject(GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble * objX, GLdouble * objY, GLdouble * objZ); </code> */
-public boolean gluUnProject(double winX, double winY, double winZ, double[] model, double[] proj, int[] view, double[] objX, double[] objY, double[] objZ);
-
-/**
- * Convenience routine for gluUnProject that accepts the outgoing
- * object coordinates (a 3-vector) as a single array.
- */
-public boolean gluUnProject(double winX, double winY, double winZ, double[] model, double[] proj, int[] view, double[] objPos);
-
-/** Interface to C language function: <br> <code> GLint gluUnProject4(GLdouble winX, GLdouble winY, GLdouble winZ, GLdouble clipW, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble nearVal, GLdouble farVal, GLdouble * objX, GLdouble * objY, GLdouble * objZ, GLdouble * objW); </code> */
-public boolean gluUnProject4(double winX, double winY, double winZ, double clipW, double[] model, double[] proj, int[] view, double nearVal, double farVal, double[] objX, double[] objY, double[] objZ, double[] objW);
-
-/**
- * Convenience routine for gluUnProject4 that accepts the outgoing
- * object coordinates (a 4-vector) as a single array.
- */
-public boolean gluUnProject4(double winX, double winY, double winZ, double clipW, double[] model, double[] proj, int[] view, double nearVal, double farVal, double[] objPos);
-
-
-
-//----------------------------------------------------------------------
-// Tesselation routines
-//
-
-/*****************************************************************************
- * <b>gluBeginPolygon</b> and {@link net.java.games.jogl.GLU#gluEndPolygon
- * gluEndPolygon} delimit the definition of a nonconvex polygon. To define
- * such a polygon, first call <b>gluBeginPolygon</b>. Then define the contours
- * of the polygon by calling {@link net.java.games.jogl.GLU#gluTessVertex
- * gluTessVertex} for each vertex and
- * {@link net.java.games.jogl.GLU#gluNextContour gluNextContour} to start each
- * new contour. Finally, call {@link net.java.games.jogl.GLU#gluEndPolygon
- * gluEndPolygon} to signal the end of the definition. See the
- * {@link net.java.games.jogl.GLU#gluTessVertex gluTessVertex} and
- * {@link net.java.games.jogl.GLU#gluNextContour gluNextContour} reference
- * pages for more details.<P>
- *
- * Once {@link net.java.games.jogl.GLU#gluEndPolygon gluEndPolygon} is called,
- * the polygon is tessellated, and the resulting triangles are described
- * through callbacks. See {@link net.java.games.jogl.GLU#gluTessCallback
- * gluTessCallback} for descriptions of the callback methods.
- *
- * @param tesselator
- * Specifies the tessellation object (created with
- * {@link net.java.games.jogl.GLU#gluNewTess gluNewTess}).
- *
- * @see net.java.games.jogl.GLU#gluNewTess gluNewTess
- * @see net.java.games.jogl.GLU#gluNextContour gluNextContour
- * @see net.java.games.jogl.GLU#gluTessCallback gluTessCallback
- * @see net.java.games.jogl.GLU#gluTessVertex gluTessVertex
- * @see net.java.games.jogl.GLU#gluTessBeginPolygon gluTessBeginPolygon
- * @see net.java.games.jogl.GLU#gluTessBeginContour gluTessBeginContour
- ****************************************************************************/
-public void gluBeginPolygon(GLUtesselator tesselator);
-
-
-/*****************************************************************************
- * <b>gluDeleteTess</b> destroys the indicated tessellation object (which was
- * created with {@link net.java.games.jogl.GLU#gluNewTess gluNewTess}).
- *
- * @param tesselator
- * Specifies the tessellation object to destroy.
- *
- * @see net.java.games.jogl.GLU#gluBeginPolygon gluBeginPolygon
- * @see net.java.games.jogl.GLU#gluNewTess gluNewTess
- * @see net.java.games.jogl.GLU#gluTessCallback gluTessCallback
- ****************************************************************************/
-public void gluDeleteTess(GLUtesselator tesselator);
-
-
-/*****************************************************************************
- * <b>gluEndPolygon</b> and {@link net.java.games.jogl.GLU#gluBeginPolygon
- * gluBeginPolygon} delimit the definition of a nonconvex polygon. To define
- * such a polygon, first call {@link net.java.games.jogl.GLU#gluBeginPolygon
- * gluBeginPolygon}. Then define the contours of the polygon by calling
- * {@link net.java.games.jogl.GLU#gluTessVertex gluTessVertex} for each vertex
- * and {@link net.java.games.jogl.GLU#gluNextContour gluNextContour} to start
- * each new contour. Finally, call <b>gluEndPolygon</b> to signal the end of
- * the definition. See the {@link net.java.games.jogl.GLU#gluTessVertex
- * gluTessVertex} and {@link net.java.games.jogl.GLU#gluNextContour
- * gluNextContour} reference pages for more details.<P>
- *
- * Once <b>gluEndPolygon</b> is called, the polygon is tessellated, and the
- * resulting triangles are described through callbacks. See
- * {@link net.java.games.jogl.GLU#gluTessCallback gluTessCallback} for
- * descriptions of the callback methods.
- *
- * @param tesselator
- * Specifies the tessellation object (created with
- * {@link net.java.games.jogl.GLU#gluNewTess gluNewTess}).
- *
- * @see net.java.games.jogl.GLU#gluNewTess gluNewTess
- * @see net.java.games.jogl.GLU#gluNextContour gluNextContour
- * @see net.java.games.jogl.GLU#gluTessCallback gluTessCallback
- * @see net.java.games.jogl.GLU#gluTessVertex gluTessVertex
- * @see net.java.games.jogl.GLU#gluTessBeginPolygon gluTessBeginPolygon
- * @see net.java.games.jogl.GLU#gluTessBeginContour gluTessBeginContour
- ****************************************************************************/
-public void gluEndPolygon(GLUtesselator tesselator);
-
-
-/*****************************************************************************
- * <b>gluGetTessProperty</b> retrieves properties stored in a tessellation
- * object. These properties affect the way that tessellation objects are
- * interpreted and rendered. See the
- * {@link net.java.games.jogl.GLU#gluTessProperty gluTessProperty} reference
- * page for information about the properties and what they do.
- *
- * @param tesselator
- * Specifies the tessellation object (created with
- * {@link net.java.games.jogl.GLU#gluNewTess gluNewTess}).
- * @param which
- * Specifies the property whose value is to be fetched. Valid values
- * are <b>GLU_TESS_WINDING_RULE</b>, <b>GLU_TESS_BOUNDARY_ONLY</b>,
- * and <b>GLU_TESS_TOLERANCES</b>.
- * @param value
- * Specifices an array into which the value of the named property is
- * written.
- *
- * @see net.java.games.jogl.GLU#gluNewTess gluNewTess
- * @see net.java.games.jogl.GLU#gluTessProperty gluTessProperty
- ****************************************************************************/
-public void gluGetTessProperty(GLUtesselator tesselator, int which, double[] value);
-
-
-/*****************************************************************************
- * <b>gluNewTess</b> creates and returns a new tessellation object. This
- * object must be referred to when calling tesselation methods. A return
- * value of null means that there was not enough memeory to allocate the
- * object.
- *
- * @return A new tessellation object.
- *
- * @see net.java.games.jogl.GLU#gluTessBeginPolygon gluTessBeginPolygon
- * @see net.java.games.jogl.GLU#gluDeleteTess gluDeleteTess
- * @see net.java.games.jogl.GLU#gluTessCallback gluTessCallback
- ****************************************************************************/
-public GLUtesselator gluNewTess();
-
-
-/*****************************************************************************
- * <b>gluNextContour</b> is used to describe polygons with multiple
- * contours. After you describe the first contour through a series of
- * {@link net.java.games.jogl.GLU#gluTessVertex gluTessVertex} calls, a
- * <b>gluNextContour</b> call indicates that the previous contour is complete
- * and that the next contour is about to begin. Perform another series of
- * {@link net.java.games.jogl.GLU#gluTessVertex gluTessVertex} calls to
- * describe the new contour. Repeat this process until all contours have been
- * described.<P>
- *
- * The type parameter defines what type of contour follows. The following
- * values are valid. <P>
- *
- * <b>GLU_EXTERIOR</b>
- * <UL>
- * An exterior contour defines an exterior boundary of the polygon.
- * </UL>
- * <b>GLU_INTERIOR</b>
- * <UL>
- * An interior contour defines an interior boundary of the polygon (such as
- * a hole).
- * </UL>
- * <b>GLU_UNKNOWN</b>
- * <UL>
- * An unknown contour is analyzed by the library to determine whether it is
- * interior or exterior.
- * </UL>
- * <b>GLU_CCW, GLU_CW</b>
- * <UL>
- * The first <b>GLU_CCW</b> or <b>GLU_CW</b> contour defined is considered
- * to be exterior. All other contours are considered to be exterior if they
- * are oriented in the same direction (clockwise or counterclockwise) as the
- * first contour, and interior if they are not. If one contour is of type
- * <b>GLU_CCW</b> or <b>GLU_CW</b>, then all contours must be of the same
- * type (if they are not, then all <b>GLU_CCW</b> and <b>GLU_CW</b> contours
- * will be changed to <b>GLU_UNKNOWN</b>). Note that there is no
- * real difference between the <b>GLU_CCW</b> and <b>GLU_CW</b> contour
- * types.
- * </UL><P>
- *
- * To define the type of the first contour, you can call <b>gluNextContour</b>
- * before describing the first contour. If you do not call
- * <b>gluNextContour</b> before the first contour, the first contour is marked
- * <b>GLU_EXTERIOR</b>.<P>
- *
- * <UL>
- * <b>Note:</b> The <b>gluNextContour</b> function is obsolete and is
- * provided for backward compatibility only. The <b>gluNextContour</b>
- * function is mapped to {@link net.java.games.jogl.GLU#gluTessEndContour
- * gluTessEndContour} followed by
- * {@link net.java.games.jogl.GLU#gluTessBeginContour gluTessBeginContour}.
- * </UL>
- *
- * @param tesselator
- * Specifies the tessellation object (created with
- * {@link net.java.games.jogl.GLU#gluNewTess gluNewTess}).
- * @param type
- * The type of the contour being defined.
- *
- * @see net.java.games.jogl.GLU#gluNewTess gluNewTess
- * @see net.java.games.jogl.GLU#gluTessBeginContour gluTessBeginContour
- * @see net.java.games.jogl.GLU#gluTessBeginPolygon gluTessBeginPolygon
- * @see net.java.games.jogl.GLU#gluTessCallback gluTessCallback
- * @see net.java.games.jogl.GLU#gluTessEndContour gluTessEndContour
- * @see net.java.games.jogl.GLU#gluTessVertex gluTessVertex
- ****************************************************************************/
-public void gluNextContour(GLUtesselator tesselator, int type);
-
-
-/*****************************************************************************
- * <b>gluTessBeginContour</b> and
- * {@link net.java.games.jogl.GLU#gluTessEndContour gluTessEndContour} delimit
- * the definition of a polygon contour. Within each
- * <b>gluTessBeginContour</b>/
- * {@link net.java.games.jogl.GLU#gluTessEndContour gluTessEndContour} pair,
- * there can be zero or more calls to
- * {@link net.java.games.jogl.GLU#gluTessVertex gluTessVertex}. The vertices
- * specify a closed contour (the last vertex of each contour is automatically
- * linked to the first). See the {@link net.java.games.jogl.GLU#gluTessVertex
- * gluTessVertex} reference page for more details. <b>gluTessBeginContour</b>
- * can only be called between
- * {@link net.java.games.jogl.GLU#gluTessBeginPolygon gluTessBeginPolygon} and
- * {@link net.java.games.jogl.GLU#gluTessEndPolygon gluTessEndPolygon}.
- *
- * @param tesselator
- * Specifies the tessellation object (created with
- * {@link net.java.games.jogl.GLU#gluNewTess gluNewTess}).
- *
- * @see net.java.games.jogl.GLU#gluNewTess gluNewTess
- * @see net.java.games.jogl.GLU#gluTessBeginPolygon gluTessBeginPolygon
- * @see net.java.games.jogl.GLU#gluTessVertex gluTessVertex
- * @see net.java.games.jogl.GLU#gluTessCallback gluTessCallback
- * @see net.java.games.jogl.GLU#gluTessProperty gluTessProperty
- * @see net.java.games.jogl.GLU#gluTessNormal gluTessNormal
- * @see net.java.games.jogl.GLU#gluTessEndPolygon gluTessEndPolygon
- ****************************************************************************/
-public void gluTessBeginContour(GLUtesselator tesselator);
-
-
-/*****************************************************************************
- * <b>gluTessBeginPolygon</b> and
- * {@link net.java.games.jogl.GLU#gluTessEndPolygon gluTessEndPolygon} delimit
- * the definition of a convex, concave or self-intersecting polygon. Within
- * each <b>gluTessBeginPolygon</b>/
- * {@link net.java.games.jogl.GLU#gluTessEndPolygon gluTessEndPolygon} pair,
- * there must be one or more calls to
- * {@link net.java.games.jogl.GLU#gluTessBeginContour gluTessBeginContour}/
- * {@link net.java.games.jogl.GLU#gluTessEndContour gluTessEndContour}. Within
- * each contour, there are zero or more calls to
- * {@link net.java.games.jogl.GLU#gluTessVertex gluTessVertex}. The vertices
- * specify a closed contour (the last vertex of each contour is automatically
- * linked to the first). See the {@link net.java.games.jogl.GLU#gluTessVertex
- * gluTessVertex}, {@link net.java.games.jogl.GLU#gluTessBeginContour
- * gluTessBeginContour}, and {@link net.java.games.jogl.GLU#gluTessEndContour
- * gluTessEndContour} reference pages for more details.<P>
- *
- * <b>data</b> is a reference to a user-defined data structure. If the
- * appropriate callback(s) are specified (see
- * {@link net.java.games.jogl.GLU#gluTessCallback gluTessCallback}), then this
- * reference is returned to the callback method(s). Thus, it is a convenient
- * way to store per-polygon information.<P>
- *
- * Once {@link net.java.games.jogl.GLU#gluTessEndPolygon gluTessEndPolygon} is
- * called, the polygon is tessellated, and the resulting triangles are
- * described through callbacks. See
- * {@link net.java.games.jogl.GLU#gluTessCallback gluTessCallback} for
- * descriptions of the callback methods.
- *
- * @param tesselator
- * Specifies the tessellation object (created with
- * {@link net.java.games.jogl.GLU#gluNewTess gluNewTess}).
- * @param data
- * Specifies a reference to user polygon data.
- *
- * @see net.java.games.jogl.GLU#gluNewTess gluNewTess
- * @see net.java.games.jogl.GLU#gluTessBeginContour gluTessBeginContour
- * @see net.java.games.jogl.GLU#gluTessVertex gluTessVertex
- * @see net.java.games.jogl.GLU#gluTessCallback gluTessCallback
- * @see net.java.games.jogl.GLU#gluTessProperty gluTessProperty
- * @see net.java.games.jogl.GLU#gluTessNormal gluTessNormal
- * @see net.java.games.jogl.GLU#gluTessEndPolygon gluTessEndPolygon
- ****************************************************************************/
-public void gluTessBeginPolygon(GLUtesselator tesselator, Object data);
-
-
-/*****************************************************************************
- * <b>gluTessCallback</b> is used to indicate a callback to be used by a
- * tessellation object. If the specified callback is already defined, then it
- * is replaced. If <i>aCallback</i> is null, then the existing callback
- * becomes undefined.<P>
- *
- * These callbacks are used by the tessellation object to describe how a
- * polygon specified by the user is broken into triangles. Note that there are
- * two versions of each callback: one with user-specified polygon data and one
- * without. If both versions of a particular callback are specified, then the
- * callback with user-specified polygon data will be used. Note that the
- * polygonData parameter used by some of the methods is a copy of the
- * reference that was specified when
- * {@link net.java.games.jogl.GLU#gluTessBeginPolygon gluTessBeginPolygon}
- * was called. The legal callbacks are as follows:<P>
- *
- * <b>GLU_TESS_BEGIN</b>
- * <UL>
- * The begin callback is invoked like {@link net.java.games.jogl.GL#glBegin
- * glBegin} to indicate the start of a (triangle) primitive. The method
- * takes a single argument of type int. If the
- * <b>GLU_TESS_BOUNDARY_ONLY</b> property is set to <b>GL_FALSE</b>, then
- * the argument is set to either <b>GL_TRIANGLE_FAN</b>,
- * <b>GL_TRIANGLE_STRIP</b>, or <b>GL_TRIANGLES</b>. If the
- * <b>GLU_TESS_BOUNDARY_ONLY</b> property is set to <b>GL_TRUE</b>, then the
- * argument will be set to <b>GL_LINE_LOOP</b>. The method prototype for
- * this callback is:
- * </UL>
- *
- * <PRE>
- * void begin(int type);</PRE><P>
- *
- * <b>GLU_TESS_BEGIN_DATA</b>
- * <UL>
- * The same as the <b>GLU_TESS_BEGIN</b> callback except
- * that it takes an additional reference argument. This reference is
- * identical to the opaque reference provided when
- * {@link net.java.games.jogl.GLU#gluTessBeginPolygon gluTessBeginPolygon}
- * was called. The method prototype for this callback is:
- * </UL>
- *
- * <PRE>
- * void beginData(int type, Object polygonData);</PRE>
- *
- * <b>GLU_TESS_EDGE_FLAG</b>
- * <UL>
- * The edge flag callback is similar to
- * {@link net.java.games.jogl.GL#glEdgeFlag glEdgeFlag}. The method takes
- * a single boolean boundaryEdge that indicates which edges lie on the
- * polygon boundary. If the boundaryEdge is <b>GL_TRUE</b>, then each vertex
- * that follows begins an edge that lies on the polygon boundary, that is,
- * an edge that separates an interior region from an exterior one. If the
- * boundaryEdge is <b>GL_FALSE</b>, then each vertex that follows begins an
- * edge that lies in the polygon interior. The edge flag callback (if
- * defined) is invoked before the first vertex callback.<P>
- *
- * Since triangle fans and triangle strips do not support edge flags, the
- * begin callback is not called with <b>GL_TRIANGLE_FAN</b> or
- * <b>GL_TRIANGLE_STRIP</b> if a non-null edge flag callback is provided.
- * (If the callback is initialized to null, there is no impact on
- * performance). Instead, the fans and strips are converted to independent
- * triangles. The method prototype for this callback is:
- * </UL>
- *
- * <PRE>
- * void edgeFlag(boolean boundaryEdge);</PRE>
- *
- * <b>GLU_TESS_EDGE_FLAG_DATA</b>
- * <UL>
- * The same as the <b>GLU_TESS_EDGE_FLAG</b> callback except that it takes
- * an additional reference argument. This reference is identical to the
- * opaque reference provided when
- * {@link net.java.games.jogl.GLU#gluTessBeginPolygon gluTessBeginPolygon}
- * was called. The method prototype for this callback is:
- * </UL>
- *
- * <PRE>
- * void edgeFlagData(boolean boundaryEdge, Object polygonData);</PRE>
- *
- * <b>GLU_TESS_VERTEX</b>
- * <UL>
- * The vertex callback is invoked between the begin and end callbacks. It is
- * similar to {@link net.java.games.jogl.GL#glVertex3f glVertex3f}, and it
- * defines the vertices of the triangles created by the tessellation
- * process. The method takes a reference as its only argument. This
- * reference is identical to the opaque reference provided by the user when
- * the vertex was described (see
- * {@link net.java.games.jogl.GLU#gluTessVertex gluTessVertex}). The method
- * prototype for this callback is:
- * </UL>
- *
- * <PRE>
- * void vertex(Object vertexData);</PRE>
- *
- * <b>GLU_TESS_VERTEX_DATA</b>
- * <UL>
- * The same as the <b>GLU_TESS_VERTEX</b> callback except that it takes an
- * additional reference argument. This reference is identical to the opaque
- * reference provided when
- * {@link net.java.games.jogl.GLU#gluTessBeginPolygon gluTessBeginPolygon}
- * was called. The method prototype for this callback is:
- * </UL>
- *
- * <PRE>
- * void vertexData(Object vertexData, Object polygonData);</PRE>
- *
- * <b>GLU_TESS_END</b>
- * <UL>
- * The end callback serves the same purpose as
- * {@link net.java.games.jogl.GL#glEnd glEnd}. It indicates the end of a
- * primitive and it takes no arguments. The method prototype for this
- * callback is:
- * </UL>
- *
- * <PRE>
- * void end();</PRE>
- *
- * <b>GLU_TESS_END_DATA</b>
- * <UL>
- * The same as the <b>GLU_TESS_END</b> callback except that it takes an
- * additional reference argument. This reference is identical to the opaque
- * reference provided when
- * {@link net.java.games.jogl.GLU#gluTessBeginPolygon gluTessBeginPolygon}
- * was called. The method prototype for this callback is:
- * </UL>
- *
- * <PRE>
- * void endData(Object polygonData);</PRE>
- *
- * <b>GLU_TESS_COMBINE</b>
- * <UL>
- * The combine callback is called to create a new vertex when the
- * tessellation detects an intersection, or wishes to merge features. The
- * method takes four arguments: an array of three elements each of type
- * double, an array of four references, an array of four elements each of
- * type float, and a reference to a reference. The prototype is:
- * </UL>
- *
- * <PRE>
- * void combine(double[] coords, Object[] data,
- * float[] weight, Object[] outData);</PRE>
- *
- * <UL>
- * The vertex is defined as a linear combination of up to four existing
- * vertices, stored in <i>data</i>. The coefficients of the linear
- * combination are given by <i>weight</i>; these weights always add up to 1.
- * All vertex pointers are valid even when some of the weights are 0.
- * <i>coords</i> gives the location of the new vertex.<P>
- *
- * The user must allocate another vertex, interpolate parameters using
- * <i>data</i> and <i>weight</i>, and return the new vertex pointer
- * in <i>outData</i>. This handle is supplied during rendering callbacks.
- * The user is responsible for freeing the memory some time after
- * {@link net.java.games.jogl.GLU#gluTessEndPolygon gluTessEndPolygon} is
- * called.<P>
- *
- * For example, if the polygon lies in an arbitrary plane in 3-space, and a
- * color is associated with each vertex, the <b>GLU_TESS_COMBINE</b>
- * callback might look like this:
- * </UL>
- * <PRE>
- * void myCombine(double[] coords, Object[] data,
- * float[] weight, Object[] outData)
- * {
- * MyVertex newVertex = new MyVertex();
- *
- * newVertex.x = coords[0];
- * newVertex.y = coords[1];
- * newVertex.z = coords[2];
- * newVertex.r = weight[0]*data[0].r +
- * weight[1]*data[1].r +
- * weight[2]*data[2].r +
- * weight[3]*data[3].r;
- * newVertex.g = weight[0]*data[0].g +
- * weight[1]*data[1].g +
- * weight[2]*data[2].g +
- * weight[3]*data[3].g;
- * newVertex.b = weight[0]*data[0].b +
- * weight[1]*data[1].b +
- * weight[2]*data[2].b +
- * weight[3]*data[3].b;
- * newVertex.a = weight[0]*data[0].a +
- * weight[1]*data[1].a +
- * weight[2]*data[2].a +
- * weight[3]*data[3].a;
- * outData = newVertex;
- * }</PRE>
- *
- * <UL>
- * If the tessellation detects an intersection, then the
- * <b>GLU_TESS_COMBINE</b> or <b>GLU_TESS_COMBINE_DATA</b> callback (see
- * below) must be defined, and it must write a non-null reference into
- * <i>outData</i>. Otherwise the <b>GLU_TESS_NEED_COMBINE_CALLBACK</b> error
- * occurs, and no output is generated.
- * </UL>
- *
- * <b>GLU_TESS_COMBINE_DATA</b>
- * <UL>
- * The same as the <b>GLU_TESS_COMBINE</b> callback except that it takes an
- * additional reference argument. This reference is identical to the opaque
- * reference provided when
- * {@link net.java.games.jogl.GLU#gluTessBeginPolygon gluTessBeginPolygon}
- * was called. The method prototype for this callback is:
- * </UL>
- *
- * <PRE>
- * void combineData(double[] coords, Object[] data,
- float[] weight, Object[] outData,
- Object polygonData);</PRE>
- *
- * <b>GLU_TESS_ERROR</b>
- * <UL>
- * The error callback is called when an error is encountered. The one
- * argument is of type int; it indicates the specific error that occurred
- * and will be set to one of <b>GLU_TESS_MISSING_BEGIN_POLYGON</b>,
- * <b>GLU_TESS_MISSING_END_POLYGON</b>,
- * <b>GLU_TESS_MISSING_BEGIN_CONTOUR</b>,
- * <b>GLU_TESS_MISSING_END_CONTOUR</b>, <b>GLU_TESS_COORD_TOO_LARGE</b>,
- * <b>GLU_TESS_NEED_COMBINE_CALLBACK</b> or <b>GLU_OUT_OF_MEMORY</b>.
- * Character strings describing these errors can be retrieved with the
- * {@link net.java.games.jogl.GLU#gluErrorString gluErrorString} call. The
- * method prototype for this callback is:
- * </UL>
- *
- * <PRE>
- * void error(int errnum);</PRE>
- *
- * <UL>
- * The GLU library will recover from the first four errors by inserting the
- * missing call(s). <b>GLU_TESS_COORD_TOO_LARGE</b> indicates that some
- * vertex coordinate exceeded the predefined constant
- * <b>GLU_TESS_MAX_COORD</b> in absolute value, and that the value has been
- * clamped. (Coordinate values must be small enough so that two can be
- * multiplied together without overflow.)
- * <b>GLU_TESS_NEED_COMBINE_CALLBACK</b> indicates that the tessellation
- * detected an intersection between two edges in the input data, and the
- * <b>GLU_TESS_COMBINE</b> or <b>GLU_TESS_COMBINE_DATA</b> callback was not
- * provided. No output is generated. <b>GLU_OUT_OF_MEMORY</b> indicates that
- * there is not enough memory so no output is generated.
- * </UL>
- *
- * <b>GLU_TESS_ERROR_DATA</b>
- * <UL>
- * The same as the GLU_TESS_ERROR callback except that it takes an
- * additional reference argument. This reference is identical to the opaque
- * reference provided when
- * {@link net.java.games.jogl.GLU#gluTessBeginPolygon gluTessBeginPolygon}
- * was called. The method prototype for this callback is:
- * </UL>
- *
- * <PRE>
- * void errorData(int errnum, Object polygonData);</PRE>
- *
- * @param tesselator
- * Specifies the tessellation object (created with
- * {@link net.java.games.jogl.GLU#gluNewTess gluNewTess}).
- * @param which
- * Specifies the callback being defined. The following values are
- * valid: <b>GLU_TESS_BEGIN</b>, <b>GLU_TESS_BEGIN_DATA</b>,
- * <b>GLU_TESS_EDGE_FLAG</b>, <b>GLU_TESS_EDGE_FLAG_DATA</b>,
- * <b>GLU_TESS_VERTEX</b>, <b>GLU_TESS_VERTEX_DATA</b>,
- * <b>GLU_TESS_END</b>, <b>GLU_TESS_END_DATA</b>,
- * <b>GLU_TESS_COMBINE</b>, <b>GLU_TESS_COMBINE_DATA</b>,
- * <b>GLU_TESS_ERROR</b>, and <b>GLU_TESS_ERROR_DATA</b>.
- * @param aCallback
- * Specifies the callback object to be called.
- *
- * @see net.java.games.jogl.GL#glBegin glBegin
- * @see net.java.games.jogl.GL#glEdgeFlag glEdgeFlag
- * @see net.java.games.jogl.GL#glVertex3f glVertex3f
- * @see net.java.games.jogl.GLU#gluNewTess gluNewTess
- * @see net.java.games.jogl.GLU#gluErrorString gluErrorString
- * @see net.java.games.jogl.GLU#gluTessVertex gluTessVertex
- * @see net.java.games.jogl.GLU#gluTessBeginPolygon gluTessBeginPolygon
- * @see net.java.games.jogl.GLU#gluTessBeginContour gluTessBeginContour
- * @see net.java.games.jogl.GLU#gluTessProperty gluTessProperty
- * @see net.java.games.jogl.GLU#gluTessNormal gluTessNormal
- ****************************************************************************/
-public void gluTessCallback(GLUtesselator tesselator, int which,
- GLUtesselatorCallback aCallback);
-
-
-/*****************************************************************************
- * <b>gluTessEndContour</b> and
- * {@link net.java.games.jogl.GLU#gluTessBeginContour gluTessBeginContour}
- * delimit the definition of a polygon contour. Within each
- * {@link net.java.games.jogl.GLU#gluTessBeginContour gluTessBeginContour}/
- * <b>gluTessEndContour</b> pair, there can be zero or more calls to
- * {@link net.java.games.jogl.GLU#gluTessVertex gluTessVertex}. The vertices
- * specify a closed contour (the last vertex of each contour is automatically
- * linked to the first). See the {@link net.java.games.jogl.GLU#gluTessVertex
- * gluTessVertex} reference page for more details.
- * {@link net.java.games.jogl.GLU#gluTessBeginContour gluTessBeginContour} can
- * only be called between {@link net.java.games.jogl.GLU#gluTessBeginPolygon
- * gluTessBeginPolygon} and
- * {@link net.java.games.jogl.GLU#gluTessEndPolygon gluTessEndPolygon}.
- *
- * @param tesselator
- * Specifies the tessellation object (created with
- * {@link net.java.games.jogl.GLU#gluNewTess gluNewTess}).
- *
- * @see net.java.games.jogl.GLU#gluNewTess gluNewTess
- * @see net.java.games.jogl.GLU#gluTessBeginPolygon gluTessBeginPolygon
- * @see net.java.games.jogl.GLU#gluTessVertex gluTessVertex
- * @see net.java.games.jogl.GLU#gluTessCallback gluTessCallback
- * @see net.java.games.jogl.GLU#gluTessProperty gluTessProperty
- * @see net.java.games.jogl.GLU#gluTessNormal gluTessNormal
- * @see net.java.games.jogl.GLU#gluTessEndPolygon gluTessEndPolygon
- ****************************************************************************/
-public void gluTessEndContour(GLUtesselator tesselator);
-
-
-/*****************************************************************************
- * <b>gluTessEndPolygon</b> and
- * {@link net.java.games.jogl.GLU#gluTessBeginPolygon gluTessBeginPolygon}
- * delimit the definition of a convex, concave or self-intersecting polygon.
- * Within each {@link net.java.games.jogl.GLU#gluTessBeginPolygon
- * gluTessBeginPolygon}/<b>gluTessEndPolygon</b> pair, there must be one or
- * more calls to {@link net.java.games.jogl.GLU#gluTessBeginContour
- * gluTessBeginContour}/{@link net.java.games.jogl.GLU#gluTessEndContour
- * gluTessEndContour}. Within each contour, there are zero or more calls to
- * {@link net.java.games.jogl.GLU#gluTessVertex gluTessVertex}. The vertices
- * specify a closed contour (the last vertex of each contour is automatically
- * linked to the first). See the {@link net.java.games.jogl.GLU#gluTessVertex
- * gluTessVertex}, {@link net.java.games.jogl.GLU#gluTessBeginContour
- * gluTessBeginContour} and {@link net.java.games.jogl.GLU#gluTessEndContour
- * gluTessEndContour} reference pages for more details.<P>
- *
- * Once <b>gluTessEndPolygon</b> is called, the polygon is tessellated, and
- * the resulting triangles are described through callbacks. See
- * {@link net.java.games.jogl.GLU#gluTessCallback gluTessCallback} for
- * descriptions of the callback functions.
- *
- * @param tesselator
- * Specifies the tessellation object (created with
- * {@link net.java.games.jogl.GLU#gluNewTess gluNewTess}).
- *
- * @see net.java.games.jogl.GLU#gluNewTess gluNewTess
- * @see net.java.games.jogl.GLU#gluTessBeginContour gluTessBeginContour
- * @see net.java.games.jogl.GLU#gluTessVertex gluTessVertex
- * @see net.java.games.jogl.GLU#gluTessCallback gluTessCallback
- * @see net.java.games.jogl.GLU#gluTessProperty gluTessProperty
- * @see net.java.games.jogl.GLU#gluTessNormal gluTessNormal
- * @see net.java.games.jogl.GLU#gluTessBeginPolygon gluTessBeginPolygon
- ****************************************************************************/
-public void gluTessEndPolygon(GLUtesselator tesselator);
-
-
-/*****************************************************************************
- * <b>gluTessNormal</b> describes a normal for a polygon that the program is
- * defining. All input data will be projected onto a plane perpendicular to
- * the one of the three coordinate axes before tessellation and all output
- * triangles will be oriented CCW with repsect to the normal (CW orientation
- * can be obtained by reversing the sign of the supplied normal). For
- * example, if you know that all polygons lie in the x-y plane, call
- * <b>gluTessNormal</b>(tess, 0.0, 0.0, 0.0) before rendering any polygons.<P>
- *
- * If the supplied normal is (0.0, 0.0, 0.0)(the initial value), the normal
- * is determined as follows. The direction of the normal, up to its sign, is
- * found by fitting a plane to the vertices, without regard to how the
- * vertices are connected. It is expected that the input data lies
- * approximately in the plane; otherwise, projection perpendicular to one of
- * the three coordinate axes may substantially change the geometry. The sign
- * of the normal is chosen so that the sum of the signed areas of all input
- * contours is nonnegative (where a CCW contour has positive area).<P>
- *
- * The supplied normal persists until it is changed by another call to
- * <b>gluTessNormal</b>.
- *
- * @param tesselator
- * Specifies the tessellation object (created by
- * {@link net.java.games.jogl.GLU#gluNewTess gluNewTess}).
- * @param x
- * Specifies the first component of the normal.
- * @param y
- * Specifies the second component of the normal.
- * @param z
- * Specifies the third component of the normal.
- *
- * @see net.java.games.jogl.GLU#gluTessBeginPolygon gluTessBeginPolygon
- * @see net.java.games.jogl.GLU#gluTessEndPolygon gluTessEndPolygon
- ****************************************************************************/
-public void gluTessNormal(GLUtesselator tesselator, double x, double y, double z);
-
-
-/*****************************************************************************
- * <b>gluTessProperty</b> is used to control properites stored in a
- * tessellation object. These properties affect the way that the polygons are
- * interpreted and rendered. The legal value for <i>which</i> are as
- * follows:<P>
- *
- * <b>GLU_TESS_WINDING_RULE</b>
- * <UL>
- * Determines which parts of the polygon are on the "interior".
- * <em>value</em> may be set to one of
- * <BR><b>GLU_TESS_WINDING_ODD</b>,
- * <BR><b>GLU_TESS_WINDING_NONZERO</b>,
- * <BR><b>GLU_TESS_WINDING_POSITIVE</b>, or
- * <BR><b>GLU_TESS_WINDING_NEGATIVE</b>, or
- * <BR><b>GLU_TESS_WINDING_ABS_GEQ_TWO</b>.<P>
- *
- * To understand how the winding rule works, consider that the input
- * contours partition the plane into regions. The winding rule determines
- * which of these regions are inside the polygon.<P>
- *
- * For a single contour C, the winding number of a point x is simply the
- * signed number of revolutions we make around x as we travel once around C
- * (where CCW is positive). When there are several contours, the individual
- * winding numbers are summed. This procedure associates a signed integer
- * value with each point x in the plane. Note that the winding number is
- * the same for all points in a single region.<P>
- *
- * The winding rule classifies a region as "inside" if its winding number
- * belongs to the chosen category (odd, nonzero, positive, negative, or
- * absolute value of at least two). The previous GLU tesselator (prior to
- * GLU 1.2) used the "odd" rule. The "nonzero" rule is another common way
- * to define the interior. The other three rules are useful for polygon CSG
- * operations.
- * </UL>
- * <BR><b>GLU_TESS_BOUNDARY_ONLY</b>
- * <UL>
- * Is a boolean value ("value" should be set to GL_TRUE or GL_FALSE). When
- * set to GL_TRUE, a set of closed contours separating the polygon interior
- * and exterior are returned instead of a tessellation. Exterior contours
- * are oriented CCW with respect to the normal; interior contours are
- * oriented CW. The <b>GLU_TESS_BEGIN</b> and <b>GLU_TESS_BEGIN_DATA</b>
- * callbacks use the type GL_LINE_LOOP for each contour.
- * </UL>
- * <BR><b>GLU_TESS_TOLERANCE</b>
- * <UL>
- * Specifies a tolerance for merging features to reduce the size of the
- * output. For example, two vertices that are very close to each other
- * might be replaced by a single vertex. The tolerance is multiplied by the
- * largest coordinate magnitude of any input vertex; this specifies the
- * maximum distance that any feature can move as the result of a single
- * merge operation. If a single feature takes part in several merge
- * operations, the toal distance moved could be larger.<P>
- *
- * Feature merging is completely optional; the tolerance is only a hint.
- * The implementation is free to merge in some cases and not in others, or
- * to never merge features at all. The initial tolerance is 0.<P>
- *
- * The current implementation merges vertices only if they are exactly
- * coincident, regardless of the current tolerance. A vertex is spliced
- * into an edge only if the implementation is unable to distinguish which
- * side of the edge the vertex lies on. Two edges are merged only when both
- * endpoints are identical.
- * </UL>
- *
- * @param tesselator
- * Specifies the tessellation object created with
- * {@link net.java.games.jogl.GLU#gluNewTess gluNewTess}
- * @param which
- * Specifies the property to be set. Valid values are
- * <b>GLU_TESS_WINDING_RULE</b>, <b>GLU_TESS_BOUNDARDY_ONLY</b>,
- * <b>GLU_TESS_TOLERANCE</b>.
- * @param value
- * Specifices the value of the indicated property.
- *
- * @see net.java.games.jogl.GLU#gluGetTessProperty gluGetTessProperty
- * @see net.java.games.jogl.GLU#gluNewTess gluNewTess
- ****************************************************************************/
-public void gluTessProperty(GLUtesselator tesselator, int which, double value);
-
-
-/*****************************************************************************
- * <b>gluTessVertex</b> describes a vertex on a polygon that the program
- * defines. Successive <b>gluTessVertex</b> calls describe a closed contour.
- * For example, to describe a quadrilateral <b>gluTessVertex</b> should be
- * called four times. <b>gluTessVertex</b> can only be called between
- * {@link net.java.games.jogl.GLU#gluTessBeginContour gluTessBeginContour} and
- * {@link net.java.games.jogl.GLU#gluTessBeginContour gluTessEndContour}.<P>
- *
- * <b>data</b> normally references to a structure containing the vertex
- * location, as well as other per-vertex attributes such as color and normal.
- * This reference is passed back to the user through the
- * <b>GLU_TESS_VERTEX</b> or <b>GLU_TESS_VERTEX_DATA</b> callback after
- * tessellation (see the {@link net.java.games.jogl.GLU#gluTessCallback
- * gluTessCallback} reference page).
- *
- * @param tesselator
- * Specifies the tessellation object (created with
- * {@link net.java.games.jogl.GLU#gluNewTess gluNewTess}).
- * @param coords
- * Specifies the coordinates of the vertex.
- * @param data
- * Specifies an opaque reference passed back to the program with the
- * vertex callback (as specified by
- * {@link net.java.games.jogl.GLU#gluTessCallback gluTessCallback}).
- *
- * @see net.java.games.jogl.GLU#gluTessBeginPolygon gluTessBeginPolygon
- * @see net.java.games.jogl.GLU#gluNewTess gluNewTess
- * @see net.java.games.jogl.GLU#gluTessBeginContour gluTessBeginContour
- * @see net.java.games.jogl.GLU#gluTessCallback gluTessCallback
- * @see net.java.games.jogl.GLU#gluTessProperty gluTessProperty
- * @see net.java.games.jogl.GLU#gluTessNormal gluTessNormal
- * @see net.java.games.jogl.GLU#gluTessEndPolygon gluTessEndPolygon
- ****************************************************************************/
-public void gluTessVertex(GLUtesselator tesselator, double[] coords, Object data);
-
-
-//----------------------------------------------------------------------
-// Mipmap and scaling routines
-//
-
-/** Interface to C language function: <br> <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, byte[] data);
-
-/** Interface to C language function: <br> <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, short[] data);
-
-/** Interface to C language function: <br> <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, int[] data);
-
-/** Interface to C language function: <br> <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, float[] data);
-
-/** Interface to C language function: <br> <code> GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, java.nio.Buffer data);
-
-/** Interface to C language function: <br> <code> GLint gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void * data); </code> */
-public int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, byte[] data);
-
-/** Interface to C language function: <br> <code> GLint gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void * data); </code> */
-public int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, short[] data);
-
-/** Interface to C language function: <br> <code> GLint gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void * data); </code> */
-public int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, int[] data);
-
-/** Interface to C language function: <br> <code> GLint gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void * data); </code> */
-public int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, float[] data);
-
-/** Interface to C language function: <br> <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, byte[] data);
-
-/** Interface to C language function: <br> <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, short[] data);
-
-/** Interface to C language function: <br> <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, int[] data);
-
-/** Interface to C language function: <br> <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, float[] data);
-
-/** Interface to C language function: <br> <code> GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, java.nio.Buffer data);
-
-/** Interface to C language function: <br> <code> GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * data); </code> */
-public int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, byte[] data);
-
-/** Interface to C language function: <br> <code> GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * data); </code> */
-public int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, short[] data);
-
-/** Interface to C language function: <br> <code> GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * data); </code> */
-public int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, int[] data);
-
-/** Interface to C language function: <br> <code> GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * data); </code> */
-public int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, float[] data);
-
-/** Interface to C language function: <br> <code> GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * data); </code> */
-public int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, java.nio.Buffer data);
-
-/** Interface to C language function: <br> <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, byte[] data);
-
-/** Interface to C language function: <br> <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, short[] data);
-
-/** Interface to C language function: <br> <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, int[] data);
-
-/** Interface to C language function: <br> <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, float[] data);
-
-/** Interface to C language function: <br> <code> GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void * data); </code> */
-public int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, java.nio.Buffer data);
-
-/** Interface to C language function: <br> <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data); </code> */
-public int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, byte[] data);
-
-/** Interface to C language function: <br> <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data); </code> */
-public int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, short[] data);
-
-/** Interface to C language function: <br> <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data); </code> */
-public int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, int[] data);
-
-/** Interface to C language function: <br> <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data); </code> */
-public int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, float[] data);
-
-/** Interface to C language function: <br> <code> GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data); </code> */
-public int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, java.nio.Buffer data);
-
-/** Interface to C language function: <br> <code> GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void * dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid * dataOut); </code> */
-public int gluScaleImage(int format, int wIn, int hIn, int typeIn, byte[] dataIn, int wOut, int hOut, int typeOut, byte[] dataOut);
-
-/** Interface to C language function: <br> <code> GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void * dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid * dataOut); </code> */
-public int gluScaleImage(int format, int wIn, int hIn, int typeIn, short[] dataIn, int wOut, int hOut, int typeOut, short[] dataOut);
-
-/** Interface to C language function: <br> <code> GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void * dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid * dataOut); </code> */
-public int gluScaleImage(int format, int wIn, int hIn, int typeIn, int[] dataIn, int wOut, int hOut, int typeOut, int[] dataOut);
-
-/** Interface to C language function: <br> <code> GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void * dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid * dataOut); </code> */
-public int gluScaleImage(int format, int wIn, int hIn, int typeIn, float[] dataIn, int wOut, int hOut, int typeOut, float[] dataOut);
-
-/** Interface to C language function: <br> <code> GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void * dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid * dataOut); </code> */
-public int gluScaleImage(int format, int wIn, int hIn, int typeIn, java.nio.Buffer dataIn, int wOut, int hOut, int typeOut, java.nio.Buffer dataOut);
-
-
-//----------------------------------------------------------------------
-// Function availability routines
-//
-
-
-/**
- * Returns true if the specified GLU core- or extension-function can be
- * successfully used through this GLU instance. By "successfully" we mean
- * that the function is both <i>callable</i> on the machine running the
- * program and <i>available</i> on the current display.<P>
- *
- * A GLU function is <i>callable</i> if it is a GLU core- or extension-function
- * that is supported by the underlying GLU implementation. The function is
- * <i>available</i> if the OpenGL implementation on the display meets the
- * requirements of the GLU function being called (because GLU functions utilize
- * OpenGL functions). <P>
- *
- * Whether or not a GLU function is <i>callable</i> is determined as follows:
- * <ul>
- * <li>If the function is a GLU core function (i.e., not an
- * extension), <code>gluGetString(GLU_VERSION)</code> is used to determine the
- * version number of the underlying GLU implementation on the host.
- * then the function name is cross-referenced with that specification to
- * see if it is part of that version's specification.
- *
- * <li> If the function is a GLU extension, the function name is
- * cross-referenced with the list returned by
- * <code>gluGetString(GLU_EXTENSIONS)</code> to see if the function is one of
- * the extensions that is supported by the underlying GLU implementation.
- * </ul>
- *
- * Whether or not a GLU function is <i>available</i> is determined as follows:
- * <ul>
- * <li>If the function is a GLU core function then the function is first
- * cross-referenced with the GLU specifications to find the minimum GLU
- * version required to <i>call</i> that GLU function. Then the following table
- * is consulted to determine the minimum GL version required for that version
- * of GLU:
- * <ul>
- * <li> GLU 1.0 requires OpenGL 1.0
- * <li> GLU 1.1 requires OpenGL 1.0
- * <li> GLU 1.2 requires OpenGL 1.1
- * <li> GLU 1.3 requires OpenGL 1.2
- * </ul>
- * Finally, <code>glGetString(GL_VERSION)</code> is used to determine the
- * highest OpenGL version that both host and display support, and from that it
- * is possible to determine if the GL facilities required by the GLU function
- * are <i>available</i> on the display.
- *
- * <li> If the function is a GLU extension, the function name is
- * cross-referenced with the list returned by
- * <code>gluGetString(GLU_EXTENSIONS)</code> to see if the function is one of
- * the extensions that is supported by the underlying GLU implementation.
- * </ul>
- *
- * <b>NOTE:</b>The availability of a function may change at runtime in
- * response to changes in the display environment. For example, when a window
- * is dragged from one display to another on a multi-display system, or when
- * the properties of the display device are modified (e.g., changing the color
- * depth of the display). Any application that is concerned with handling
- * these situations correctly should confirm availability after a display
- * change before calling a questionable OpenGL function. To detect a change in
- * the display device, please see {@link
- * GLEventListener#displayChanged(GLDrawable,boolean,boolean)}.
- *
- * @param gluFunctionName the name of the OpenGL function (e.g., use
- * "gluNurbsCallbackDataEXT" to check if the <code>
- * gluNurbsCallbackDataEXT(GLUnurbs, GLvoid)</code> extension is available).
- */
-public boolean isFunctionAvailable(String gluFunctionName);
diff --git a/make/glu-impl-macosx.cfg b/make/glu-macosx.cfg
index 21e9b3700..ef106a3eb 100644..100755
--- a/make/glu-impl-macosx.cfg
+++ b/make/glu-macosx.cfg
@@ -6,4 +6,4 @@ CustomCCode #include <jni.h>
CustomCCode #include </usr/include/machine/types.h>
-Include glu-impl-common.cfg
+Include glu-common.cfg
diff --git a/make/glu-impl-win32.cfg b/make/glu-win32.cfg
index 983513712..5221a5c01 100644..100755
--- a/make/glu-impl-win32.cfg
+++ b/make/glu-win32.cfg
@@ -11,9 +11,5 @@ CustomCCode #if _MSC_VER <= 1200
CustomCCode typedef int intptr_t;
CustomCCode #endif
-Include glu-impl-common.cfg
+Include glu-common.cfg
-# FIXME!!!!
-# Include some hacks to get around the fact that GLU1.3 is not yet
-# supported in Windows distributions.
-# Include glu-impl-win32-GLU13Hacks.cfg
diff --git a/make/glu-impl-x11.cfg b/make/glu-x11.cfg
index 35fc7034d..ec7b1bce4 100644..100755
--- a/make/glu-impl-x11.cfg
+++ b/make/glu-x11.cfg
@@ -3,4 +3,5 @@
CustomCCode #include <inttypes.h>
-Include glu-impl-common.cfg
+Include glu-common.cfg
+
diff --git a/make/glu.cfg b/make/glu.cfg
deleted file mode 100644
index d4374a127..000000000
--- a/make/glu.cfg
+++ /dev/null
@@ -1,9 +0,0 @@
-# This .cfg file is used to generate the GLU interface for all
-# platforms.
-
-Style InterfaceOnly
-
-Include glu-common.cfg
-
-# Custom Java code for GLU interface
-IncludeAs CustomJavaCode GLU glu-interface-common-CustomJavaCode.java
diff --git a/make/glx-x11.cfg b/make/glx-x11.cfg
index 39098f0a8..fd381760e 100644
--- a/make/glx-x11.cfg
+++ b/make/glx-x11.cfg
@@ -1,6 +1,6 @@
# This .cfg file is used to generate the interface to the GLX routines
# used internally by the X11GLContext implementation.
-Package net.java.games.jogl.impl.x11
+Package com.sun.opengl.impl.x11
JavaClass GLX
Style allstatic
Include gl-common-x11.cfg
@@ -30,15 +30,15 @@ ArgumentIsString XOpenDisplay 0
CustomJavaCode GLX public static native int DefaultScreen(long display);
CustomJavaCode GLX public static native long RootWindow(long display, int screen);
CustomCCode JNIEXPORT jlong JNICALL
-CustomCCode Java_net_java_games_jogl_impl_x11_GLX_DefaultScreen(JNIEnv *env, jclass _unused, jlong display) {
+CustomCCode Java_com_sun_opengl_impl_x11_GLX_DefaultScreen(JNIEnv *env, jclass _unused, jlong display) {
CustomCCode return DefaultScreen((Display*) (intptr_t) display);
CustomCCode }
CustomCCode JNIEXPORT jlong JNICALL
-CustomCCode Java_net_java_games_jogl_impl_x11_GLX_RootWindow(JNIEnv *env, jclass _unused, jlong display, jint screen) {
+CustomCCode Java_com_sun_opengl_impl_x11_GLX_RootWindow(JNIEnv *env, jclass _unused, jlong display, jint screen) {
CustomCCode return RootWindow((Display*) (intptr_t) display, screen);
CustomCCode }
CustomCCode JNIEXPORT jlong JNICALL
-CustomCCode Java_net_java_games_jogl_impl_x11_GLX_dlsym(JNIEnv *env, jclass _unused, jstring name) {
+CustomCCode Java_com_sun_opengl_impl_x11_GLX_dlsym(JNIEnv *env, jclass _unused, jstring name) {
CustomCCode const jbyte* chars;
CustomCCode void* res;
CustomCCode chars = (*env)->GetStringUTFChars(env, name, NULL);
@@ -47,6 +47,22 @@ CustomCCode (*env)->ReleaseStringUTFChars(env, name, chars);
CustomCCode return (jlong) ((intptr_t) res);
CustomCCode }
+# Get returned array's capacity from XGetVisualInfo to be correct
+TemporaryCVariableDeclaration XGetVisualInfo int count;
+TemporaryCVariableAssignment XGetVisualInfo count = _ptr3[0];
+ReturnValueCapacity XGetVisualInfo count * sizeof(XVisualInfo)
+# FIXME: this is terrible but currently needed because we have two
+# overloadings for the third argument (IntBuffer and int[]) and can't
+# specify different glue code for different overloadings
+#
+# The NoNio directive which was present in an earlier version of
+# GlueGen, which resolved this more cleanly, is also not yet available
+# in this version.
+ReturnedArrayLength XGetVisualInfo ((((Object) {3}) instanceof Buffer) ? ((IntBuffer) ((Object) {3})).get(0) : ((int[]) ((Object) {3}))[0])
+ReturnValueCapacity glXChooseVisual sizeof(XVisualInfo)
+ReturnValueCapacity glXGetVisualFromFBConfig sizeof(XVisualInfo)
+ReturnValueCapacity glXGetVisualFromFBConfigSGIX sizeof(XVisualInfo)
+
# Ignore everything not in the GLX core (up through GLX 1.4) aside from glXGetProcAddress
# FIXME: this needs to be kept in sync with the stub headers more than usual
Ignore glXFreeContextEXT
diff --git a/make/glxext.cfg b/make/glxext.cfg
new file mode 100755
index 000000000..b3186a254
--- /dev/null
+++ b/make/glxext.cfg
@@ -0,0 +1,133 @@
+# This .cfg file is used to generate the interface and implementing
+# class for the GLX extensions.
+Package com.sun.opengl.impl.x11
+Style InterfaceAndImpl
+JavaClass GLXExt
+ImplPackage com.sun.opengl.impl.x11
+ImplJavaClass GLXExtImpl
+Include gl-common-x11.cfg
+
+EmitProcAddressTable true
+ProcAddressTableClassName GLXExtProcAddressTable
+ContextVariableName _context
+
+# Ignore everything that doesn't start with glX or GLX
+IgnoreNot ^(glX|GLX).+
+
+CustomCCode #include <inttypes.h>
+CustomCCode #include <stdlib.h>
+CustomCCode #include <X11/Xlib.h>
+
+CustomCCode /* Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in
+CustomCCode "glext.h" are parsed. */
+CustomCCode #define GL_GLEXT_PROTOTYPES
+
+CustomCCode /* Define GLX_GLXEXT_PROTOTYPES so that the OpenGL extension prototypes in
+CustomCCode "glxext.h" are parsed. */
+CustomCCode #define GLX_GLXEXT_PROTOTYPES
+
+CustomCCode /* Include the OpenGL headers */
+CustomCCode #include <GL/gl.h>
+CustomCCode #include <GL/glx.h>
+CustomCCode #include <GL/glxext.h>
+
+CustomCCode /* Provide Windows typedefs */
+CustomCCode typedef void* LPVOID;
+CustomCCode typedef unsigned int* PUINT;
+
+CustomJavaCode GLXExt public boolean isFunctionAvailable(String glFunctionName);
+CustomJavaCode GLXExt public boolean isExtensionAvailable(String glExtensionName);
+
+CustomJavaCode GLXExtImpl public GLXExtImpl(X11GLContext context) {
+CustomJavaCode GLXExtImpl this._context = context;
+CustomJavaCode GLXExtImpl }
+
+CustomJavaCode GLXExtImpl public boolean isFunctionAvailable(String glFunctionName)
+CustomJavaCode GLXExtImpl {
+CustomJavaCode GLXExtImpl return _context.isFunctionAvailable(glFunctionName);
+CustomJavaCode GLXExtImpl }
+
+CustomJavaCode GLXExtImpl public boolean isExtensionAvailable(String glExtensionName)
+CustomJavaCode GLXExtImpl {
+CustomJavaCode GLXExtImpl return _context.isExtensionAvailable(glExtensionName);
+CustomJavaCode GLXExtImpl }
+
+CustomJavaCode GLXExtImpl private X11GLContext _context;
+
+
+# These Ignores cause the core GLX routines to be ignored from the
+# GLXExt interface and GLXExtImpl implementing class.
+Ignore glXChooseVisual
+Ignore glXCreateContext
+Ignore glXDestroyContext
+Ignore glXMakeCurrent
+Ignore glXCopyContext
+Ignore glXSwapBuffers
+Ignore glXCreateGLXPixmap
+Ignore glXDestroyGLXPixmap
+Ignore glXQueryExtension
+Ignore glXQueryVersion
+Ignore glXIsDirect
+Ignore glXGetConfig
+Ignore glXGetCurrentContext
+Ignore glXGetCurrentDrawable
+Ignore glXWaitGL
+Ignore glXWaitX
+Ignore glXUseXFont
+Ignore glXQueryExtensionsString
+Ignore glXQueryServerString
+Ignore glXGetClientString
+Ignore glXGetCurrentDisplay
+Ignore glXChooseFBConfig
+Ignore glXGetFBConfigAttrib
+Ignore glXGetFBConfigs
+Ignore glXGetVisualFromFBConfig
+Ignore glXCreateWindow
+Ignore glXDestroyWindow
+Ignore glXCreatePixmap
+Ignore glXDestroyPixmap
+Ignore glXCreatePbuffer
+Ignore glXDestroyPbuffer
+Ignore glXQueryDrawable
+Ignore glXCreateNewContext
+Ignore glXMakeContextCurrent
+Ignore glXGetCurrentReadDrawable
+Ignore glXQueryContext
+Ignore glXSelectEvent
+Ignore glXGetSelectedEvent
+Ignore glXGetProcAddress
+
+# Ignore a few extensions that bring in data types we don't want to
+# expose in the public API (and that are useless anyway without
+# exposing more of the implementation)
+Ignore glXGetFBConfigAttribSGIX
+Ignore glXChooseFBConfigSGIX
+Ignore glXCreateGLXPixmapWithConfigSGIX
+Ignore glXCreateContextWithConfigSGIX
+Ignore glXGetVisualFromFBConfigSGIX
+Ignore glXGetFBConfigFromVisualSGIX
+Ignore glXCreateGLXPbufferSGIX
+Ignore glXDestroyGLXPbufferSGIX
+Ignore glXQueryGLXPbufferSGIX
+Ignore glXSelectEventSGIX
+Ignore glXGetSelectedEventSGIX
+Ignore glXCreateGLXPixmapMESA
+
+# Now we can ignore the GLXFBConfig and XVisualInfo data types
+Ignore GLXFBConfig
+Ignore XVisualInfo
+
+# Ignore the SGI hyperpipe extension, which will require more GlueGen
+# work to expose the pipeName fields in the various structs
+Ignore glXQueryHyperpipeNetworkSGIX
+Ignore glXHyperpipeConfigSGIX
+Ignore glXQueryHyperpipeConfigSGIX
+Ignore glXDestroyHyperpipeConfigSGIX
+Ignore glXBindHyperpipeSGIX
+Ignore glXQueryHyperpipeBestAttribSGIX
+Ignore glXHyperpipeAttribSGIX
+Ignore glXQueryHyperpipeAttribSGIX
+Ignore GLXHyperpipeNetworkSGIX
+Ignore GLXHyperpipeConfigSGIX
+Ignore GLXPipeRect
+Ignore GLXPipeRectLimits
diff --git a/make/jawt-macosx.cfg b/make/jawt-macosx.cfg
index ebdbad734..10097ec65 100644
--- a/make/jawt-macosx.cfg
+++ b/make/jawt-macosx.cfg
@@ -1,7 +1,7 @@
# This .cfg file is used to generate the interface to the JAWT, which
# is used by the MacOSXOnscreenGLContext.
Style AllStatic
-Package net.java.games.jogl.impl
+Package com.sun.opengl.impl
JavaClass JAWTFactory
JavaOutputDir ../build/gensrc/classes
NativeOutputDir ../build/gensrc/native/jogl
@@ -20,8 +20,8 @@ CustomCCode #include <jawt.h>
CustomCCode #include </usr/include/machine/types.h>
-Import net.java.games.jogl.impl.JAWT_PlatformInfo
-StructPackage JAWT_MacOSXDrawingSurfaceInfo net.java.games.jogl.impl.macosx
+Import com.sun.opengl.impl.JAWT_PlatformInfo
+StructPackage JAWT_MacOSXDrawingSurfaceInfo com.sun.opengl.impl.macosx
EmitStruct JAWT_MacOSXDrawingSurfaceInfo
Implements JAWT_MacOSXDrawingSurfaceInfo JAWT_PlatformInfo
diff --git a/make/jawt-win32.cfg b/make/jawt-win32.cfg
index 4fe44b085..c8a81ecfd 100644
--- a/make/jawt-win32.cfg
+++ b/make/jawt-win32.cfg
@@ -1,7 +1,7 @@
# This .cfg file is used to generate the interface to the JAWT, which
# is used by the WindowsOnscreenGLContext.
Style AllStatic
-Package net.java.games.jogl.impl
+Package com.sun.opengl.impl
JavaClass JAWTFactory
JavaOutputDir ..\build\gensrc\classes
NativeOutputDir ..\build\gensrc\native\jogl
@@ -19,8 +19,8 @@ CustomCCode #if _MSC_VER <= 1200
CustomCCode typedef int intptr_t;
CustomCCode #endif
-Import net.java.games.jogl.impl.JAWT_PlatformInfo
-StructPackage JAWT_Win32DrawingSurfaceInfo net.java.games.jogl.impl.windows
+Import com.sun.opengl.impl.JAWT_PlatformInfo
+StructPackage JAWT_Win32DrawingSurfaceInfo com.sun.opengl.impl.windows
EmitStruct JAWT_Win32DrawingSurfaceInfo
Implements JAWT_Win32DrawingSurfaceInfo JAWT_PlatformInfo
CustomJavaCode JAWT_DrawingSurfaceInfo public JAWT_PlatformInfo platformInfo() {
diff --git a/make/jawt-x11.cfg b/make/jawt-x11.cfg
index 5794ed4e0..d326c2f26 100644
--- a/make/jawt-x11.cfg
+++ b/make/jawt-x11.cfg
@@ -1,7 +1,7 @@
# This .cfg file is used to generate the interface to the JAWT, which
# is used by the X11OnscreenGLContext.
Style AllStatic
-Package net.java.games.jogl.impl
+Package com.sun.opengl.impl
JavaClass JAWTFactory
JavaOutputDir ../build/gensrc/classes
NativeOutputDir ../build/gensrc/native/jogl
@@ -14,8 +14,8 @@ IgnoreField JAWT_DrawingSurfaceInfo platformInfo
IgnoreField JAWT_X11DrawingSurfaceInfo GetAWTColor
CustomCCode #include <inttypes.h>
CustomCCode #include <jawt.h>
-Import net.java.games.jogl.impl.JAWT_PlatformInfo
-StructPackage JAWT_X11DrawingSurfaceInfo net.java.games.jogl.impl.x11
+Import com.sun.opengl.impl.JAWT_PlatformInfo
+StructPackage JAWT_X11DrawingSurfaceInfo com.sun.opengl.impl.x11
EmitStruct JAWT_X11DrawingSurfaceInfo
Implements JAWT_X11DrawingSurfaceInfo JAWT_PlatformInfo
diff --git a/make/lib/cpptasks-cvs-040628.jar b/make/lib/cpptasks-cvs-040628.jar
deleted file mode 100755
index 01e20f93f..000000000
--- a/make/lib/cpptasks-cvs-040628.jar
+++ /dev/null
Binary files differ
diff --git a/make/lib/cpptasks-patch.tar.gz b/make/lib/cpptasks-patch.tar.gz
new file mode 100644
index 000000000..22f1cdeaa
--- /dev/null
+++ b/make/lib/cpptasks-patch.tar.gz
Binary files differ
diff --git a/make/lib/cpptasks-version.txt b/make/lib/cpptasks-version.txt
new file mode 100755
index 000000000..2e7dd7244
--- /dev/null
+++ b/make/lib/cpptasks-version.txt
@@ -0,0 +1,4 @@
+Current cpptasks is from CVS repository at
+:pserver:[email protected]:/cvsroot/ant-contrib
+as of 10/5/2005 with patches applied for Forte C compiler (Bug
+1314266) and fat binary generation on Mac OS X (Bug 1313421).
diff --git a/make/stub_includes/cg/CG/cg.h b/make/stub_includes/cg/CG/cg.h
index 5ff03872f..fe1cf2a75 100644
--- a/make/stub_includes/cg/CG/cg.h
+++ b/make/stub_includes/cg/CG/cg.h
@@ -8,7 +8,7 @@
/*
*
- * Copyright (c) 2002, NVIDIA Corporation.
+ * Copyright (c) 2002-2004, NVIDIA Corporation.
*
*
*
@@ -62,15 +62,7 @@
#define _cg_h
-#define CG_VERSION_1_2 1
-#define CG_VERSION_NUM 1200
-
-
-//
-// This #define foreces the old API for now. This will be removed soon, but
-// the user will still have the ability to enable it.
-//
-// #define CG_DEPRECATED_1_1_API 1
+#define CG_VERSION_NUM 1400
// Set up for either Win32 import/export/lib.
#ifndef CGDLL_API
@@ -103,7 +95,15 @@ typedef int CGbool;
typedef struct _CGcontext *CGcontext;
typedef struct _CGprogram *CGprogram;
typedef struct _CGparameter *CGparameter;
+typedef struct _CGeffect *CGeffect;
+typedef struct _CGtechnique *CGtechnique;
+typedef struct _CGpass *CGpass;
+typedef struct _CGstate *CGstate;
+typedef struct _CGstateassignment *CGstateassignment;
+typedef struct _CGannotation *CGannotation;
+typedef void *CGhandle;
+typedef CGbool (*CGstatecallback)(CGstateassignment);
//!!! PREPROCESS BEGIN
@@ -114,7 +114,8 @@ typedef enum
CG_ARRAY,
CG_TYPE_START_ENUM = 1024,
-//# define CG_DATATYPE_MACRO(name, compiler_name, enum_name, ncols, nrows) enum_name ,
+// # define CG_DATATYPE_MACRO(name, compiler_name, enum_name, base_name, ncols, nrows, pc) \
+// enum_name ,
#include <CG/cg_datatypes.h>
@@ -122,7 +123,9 @@ typedef enum
typedef enum
{
-//# define CG_BINDLOCATION_MACRO(name,enum_name,compiler_name,enum_int,addressable,param_type) enum_name = enum_int,
+// # define CG_BINDLOCATION_MACRO(name,enum_name,compiler_name,\
+// enum_int,addressable,param_type) \
+// enum_name = enum_int,
#include <CG/cg_bindlocations.h>
@@ -135,7 +138,8 @@ typedef enum
CG_PROFILE_START = 6144,
CG_PROFILE_UNKNOWN,
-//# define CG_PROFILE_MACRO(name, compiler_id, compiler_id_caps, compiler_opt,int_id,vertex_profile) CG_PROFILE_##compiler_id_caps = int_id,
+// # define CG_PROFILE_MACRO(name, compiler_id, compiler_id_caps, compiler_opt,int_id,vertex_profile) \
+// CG_PROFILE_##compiler_id_caps = int_id,
#include <CG/cg_profiles.h>
@@ -144,15 +148,29 @@ typedef enum
typedef enum
{
-//# define CG_ERROR_MACRO(code, enum_name, new_enum_name, message) new_enum_name = code,
+// # define CG_ERROR_MACRO(code, enum_name, message) \
+// enum_name = code,
# include <CG/cg_errors.h>
} CGerror;
+typedef enum
+ {
+ CG_PARAMETERCLASS_UNKNOWN = 0,
+ CG_PARAMETERCLASS_SCALAR,
+ CG_PARAMETERCLASS_VECTOR,
+ CG_PARAMETERCLASS_MATRIX,
+ CG_PARAMETERCLASS_STRUCT,
+ CG_PARAMETERCLASS_ARRAY,
+ CG_PARAMETERCLASS_SAMPLER,
+ CG_PARAMETERCLASS_OBJECT
+ } CGparameterclass;
+
//!!! PREPROCESS END
typedef enum
{
-//# define CG_ENUM_MACRO(enum_name, enum_val) enum_name = enum_val,
+// # define CG_ENUM_MACRO(enum_name, enum_val) \
+// enum_name = enum_val,
# include <CG/cg_enums.h>
} CGenum;
@@ -163,6 +181,7 @@ extern "C" {
#endif
typedef void (*CGerrorCallbackFunc)(void);
+typedef void (*CGerrorHandlerFunc)(CGcontext ctx, CGerror err, void *data);
/*************************************************************************/
/*** Functions ***/
@@ -176,7 +195,9 @@ CGDLL_API CGcontext cgCreateContext(void);
CGDLL_API void cgDestroyContext(CGcontext ctx);
CGDLL_API CGbool cgIsContext(CGcontext ctx);
CGDLL_API const char *cgGetLastListing(CGcontext ctx);
+CGDLL_API void cgSetLastListing(CGhandle handle, const char *listing);
CGDLL_API void cgSetAutoCompile(CGcontext ctx, CGenum flag);
+CGDLL_API CGenum cgGetAutoCompile(CGcontext ctx);
/*** Program functions ***/
CGDLL_API CGprogram cgCreateProgram(CGcontext ctx,
@@ -203,6 +224,9 @@ CGDLL_API void cgCompileProgram(CGprogram program);
CGDLL_API CGbool cgIsProgramCompiled(CGprogram program);
CGDLL_API const char *cgGetProgramString(CGprogram prog, CGenum pname);
CGDLL_API CGprofile cgGetProgramProfile(CGprogram prog);
+CGDLL_API void cgSetProgramProfile(CGprogram prog, CGprofile profile);
+
+CGDLL_API void cgSetPassProgramParameters(CGprogram);
/*** Parameter functions ***/
@@ -242,6 +266,7 @@ CGDLL_API CGparameter cgGetArrayParameter(CGparameter aparam, int index);
CGDLL_API int cgGetArrayDimension(CGparameter param);
CGDLL_API CGtype cgGetArrayType(CGparameter param);
CGDLL_API int cgGetArraySize(CGparameter param, int dimension);
+CGDLL_API int cgGetArrayTotalSize(CGparameter param);
CGDLL_API void cgSetArraySize(CGparameter param, int size);
CGDLL_API void cgSetMultiDimArraySize(CGparameter param, const int *sizes);
@@ -250,6 +275,10 @@ CGDLL_API CGcontext cgGetParameterContext(CGparameter param);
CGDLL_API CGbool cgIsParameter(CGparameter param);
CGDLL_API const char *cgGetParameterName(CGparameter param);
CGDLL_API CGtype cgGetParameterType(CGparameter param);
+CGDLL_API CGtype cgGetParameterBaseType(CGparameter param);
+CGDLL_API CGparameterclass cgGetParameterClass(CGparameter param);
+CGDLL_API int cgGetParameterRows(CGparameter param);
+CGDLL_API int cgGetParameterColumns(CGparameter param);
CGDLL_API CGtype cgGetParameterNamedType(CGparameter param);
CGDLL_API const char *cgGetParameterSemantic(CGparameter param);
CGDLL_API CGresource cgGetParameterResource(CGparameter param);
@@ -258,9 +287,25 @@ CGDLL_API unsigned long cgGetParameterResourceIndex(CGparameter param);
CGDLL_API CGenum cgGetParameterVariability(CGparameter param);
CGDLL_API CGenum cgGetParameterDirection(CGparameter param);
CGDLL_API CGbool cgIsParameterReferenced(CGparameter param);
+CGDLL_API CGbool cgIsParameterUsed(CGparameter param, CGhandle handle);
CGDLL_API const double *cgGetParameterValues(CGparameter param,
CGenum value_type,
int *nvalues);
+CGDLL_API void cgSetParameterValuedr(CGparameter param, int n, const double *vals);
+CGDLL_API void cgSetParameterValuedc(CGparameter param, int n, const double *vals);
+CGDLL_API void cgSetParameterValuefr(CGparameter param, int n, const float *vals);
+CGDLL_API void cgSetParameterValuefc(CGparameter param, int n, const float *vals);
+CGDLL_API void cgSetParameterValueir(CGparameter param, int n, const int *vals);
+CGDLL_API void cgSetParameterValueic(CGparameter param, int n, const int *vals);
+CGDLL_API int cgGetParameterValuedr(CGparameter param, int n, double *vals);
+CGDLL_API int cgGetParameterValuedc(CGparameter param, int n, double *vals);
+CGDLL_API int cgGetParameterValuefr(CGparameter param, int n, float *vals);
+CGDLL_API int cgGetParameterValuefc(CGparameter param, int n, float *vals);
+CGDLL_API int cgGetParameterValueir(CGparameter param, int n, int *vals);
+CGDLL_API int cgGetParameterValueic(CGparameter param, int n, int *vals);
+CGDLL_API const char *cgGetStringParameterValue(CGparameter param);
+CGDLL_API void cgSetStringParameterValue(CGparameter param, const char *str);
+
CGDLL_API int cgGetParameterOrdinalNumber(CGparameter param);
CGDLL_API CGbool cgIsParameterGlobal(CGparameter param);
CGDLL_API int cgGetParameterIndex(CGparameter param);
@@ -268,7 +313,6 @@ CGDLL_API int cgGetParameterIndex(CGparameter param);
CGDLL_API void cgSetParameterVariability(CGparameter param, CGenum vary);
CGDLL_API void cgSetParameterSemantic(CGparameter param, const char *semantic);
-
CGDLL_API void cgSetParameter1f(CGparameter param, float x);
CGDLL_API void cgSetParameter2f(CGparameter param, float x, float y);
CGDLL_API void cgSetParameter3f(CGparameter param, float x, float y, float z);
@@ -288,8 +332,20 @@ CGDLL_API void cgSetParameter4d(CGparameter param,
double y,
double z,
double w);
-
-
+CGDLL_API void cgSetParameter1i(CGparameter param, int x);
+CGDLL_API void cgSetParameter2i(CGparameter param, int x, int y);
+CGDLL_API void cgSetParameter3i(CGparameter param, int x, int y, int z);
+CGDLL_API void cgSetParameter4i(CGparameter param,
+ int x,
+ int y,
+ int z,
+ int w);
+
+
+CGDLL_API void cgSetParameter1iv(CGparameter param, const int *v);
+CGDLL_API void cgSetParameter2iv(CGparameter param, const int *v);
+CGDLL_API void cgSetParameter3iv(CGparameter param, const int *v);
+CGDLL_API void cgSetParameter4iv(CGparameter param, const int *v);
CGDLL_API void cgSetParameter1fv(CGparameter param, const float *v);
CGDLL_API void cgSetParameter2fv(CGparameter param, const float *v);
CGDLL_API void cgSetParameter3fv(CGparameter param, const float *v);
@@ -299,21 +355,29 @@ CGDLL_API void cgSetParameter2dv(CGparameter param, const double *v);
CGDLL_API void cgSetParameter3dv(CGparameter param, const double *v);
CGDLL_API void cgSetParameter4dv(CGparameter param, const double *v);
+CGDLL_API void cgSetMatrixParameterir(CGparameter param, const int *matrix);
CGDLL_API void cgSetMatrixParameterdr(CGparameter param, const double *matrix);
CGDLL_API void cgSetMatrixParameterfr(CGparameter param, const float *matrix);
+CGDLL_API void cgSetMatrixParameteric(CGparameter param, const int *matrix);
CGDLL_API void cgSetMatrixParameterdc(CGparameter param, const double *matrix);
CGDLL_API void cgSetMatrixParameterfc(CGparameter param, const float *matrix);
+CGDLL_API void cgGetMatrixParameterir(CGparameter param, int *matrix);
+CGDLL_API void cgGetMatrixParameterdr(CGparameter param, double *matrix);
+CGDLL_API void cgGetMatrixParameterfr(CGparameter param, float *matrix);
+CGDLL_API void cgGetMatrixParameteric(CGparameter param, int *matrix);
+CGDLL_API void cgGetMatrixParameterdc(CGparameter param, double *matrix);
+CGDLL_API void cgGetMatrixParameterfc(CGparameter param, float *matrix);
/*** Type Functions ***/
CGDLL_API const char *cgGetTypeString(CGtype type);
CGDLL_API CGtype cgGetType(const char *type_string);
-CGDLL_API CGtype cgGetNamedUserType(CGprogram program, const char *name);
+CGDLL_API CGtype cgGetNamedUserType(CGhandle handle, const char *name);
-CGDLL_API int cgGetNumUserTypes(CGprogram program);
-CGDLL_API CGtype cgGetUserType(CGprogram program, int index);
+CGDLL_API int cgGetNumUserTypes(CGhandle handle);
+CGDLL_API CGtype cgGetUserType(CGhandle handle, int index);
CGDLL_API int cgGetNumParentTypes(CGtype type);
CGDLL_API CGtype cgGetParentType(CGtype type, int index);
@@ -339,27 +403,134 @@ CGDLL_API CGprofile cgGetProfile(const char *profile_string);
/*** Error Functions ***/
CGDLL_API CGerror cgGetError(void);
+CGDLL_API CGerror cgGetFirstError(void);
CGDLL_API const char *cgGetErrorString(CGerror error);
CGDLL_API const char *cgGetLastErrorString(CGerror *error);
CGDLL_API void cgSetErrorCallback(CGerrorCallbackFunc func);
CGDLL_API CGerrorCallbackFunc cgGetErrorCallback(void);
+CGDLL_API void cgSetErrorHandler(CGerrorHandlerFunc func, void *data);
+CGDLL_API CGerrorHandlerFunc cgGetErrorHandler(void **data);
/*** Misc Functions ***/
CGDLL_API const char *cgGetString(CGenum sname);
-/*** Support for deprecated Cg 1.1 API ***/
-
-CGDLL_API CGparameter cgGetNextParameter_depr1_1(CGparameter current);
-CGDLL_API CGparameter cgGetNextLeafParameter_depr1_1(CGparameter current);
-
-#ifdef CG_DEPRECATED_1_1_API
-
-#define cgGetNextParameter cgGetNextParameter_depr1_1
-#define cgGetNextLeafParameter cgGetNextLeafParameter_depr1_1
-
-#endif
+/*** CgFX Functions ***/
+
+CGDLL_API CGeffect cgCreateEffect(CGcontext, const char *code, const char **args);
+CGDLL_API CGeffect cgCreateEffectFromFile(CGcontext, const char *filename,
+ const char **args);
+CGDLL_API void cgDestroyEffect(CGeffect);
+CGDLL_API CGcontext cgGetEffectContext(CGeffect);
+CGDLL_API CGbool cgIsEffect(CGeffect effect);
+
+CGDLL_API CGeffect cgGetFirstEffect(CGcontext);
+CGDLL_API CGeffect cgGetNextEffect(CGeffect);
+
+CGDLL_API CGprogram cgCreateProgramFromEffect(CGeffect effect,
+ CGprofile profile,
+ const char *entry,
+ const char **args);
+
+CGDLL_API CGtechnique cgGetFirstTechnique(CGeffect);
+CGDLL_API CGtechnique cgGetNextTechnique(CGtechnique);
+CGDLL_API CGtechnique cgGetNamedTechnique(CGeffect, const char *name);
+CGDLL_API const char *cgGetTechniqueName(CGtechnique);
+CGDLL_API CGbool cgIsTechnique(CGtechnique);
+CGDLL_API CGbool cgValidateTechnique(CGtechnique);
+CGDLL_API CGbool cgIsTechniqueValidated(CGtechnique);
+CGDLL_API CGeffect cgGetTechniqueEffect(CGtechnique);
+
+CGDLL_API CGpass cgGetFirstPass(CGtechnique);
+CGDLL_API CGpass cgGetNamedPass(CGtechnique, const char *name);
+CGDLL_API CGpass cgGetNextPass(CGpass);
+CGDLL_API CGbool cgIsPass(CGpass);
+CGDLL_API const char *cgGetPassName(CGpass);
+CGDLL_API CGtechnique cgGetPassTechnique(CGpass);
+
+CGDLL_API void cgSetPassState(CGpass);
+CGDLL_API void cgResetPassState(CGpass);
+
+CGDLL_API CGstateassignment cgGetFirstStateAssignment(CGpass);
+CGDLL_API CGstateassignment cgGetNamedStateAssignment(CGpass, const char *name);
+CGDLL_API CGstateassignment cgGetNextStateAssignment(CGstateassignment);
+CGDLL_API CGbool cgIsStateAssignment(CGstateassignment);
+CGDLL_API CGbool cgCallStateSetCallback(CGstateassignment);
+CGDLL_API CGbool cgCallStateValidateCallback(CGstateassignment);
+CGDLL_API CGbool cgCallStateResetCallback(CGstateassignment);
+CGDLL_API CGpass cgGetStateAssignmentPass(CGstateassignment);
+CGDLL_API CGparameter cgGetSamplerStateAssignmentParameter(CGstateassignment);
+
+CGDLL_API const float *cgGetFloatStateAssignmentValues(CGstateassignment, int *nVals);
+CGDLL_API const int *cgGetIntStateAssignmentValues(CGstateassignment, int *nVals);
+CGDLL_API const CGbool *cgGetBoolStateAssignmentValues(CGstateassignment, int *nVals);
+CGDLL_API const char *cgGetStringStateAssignmentValue(CGstateassignment);
+CGDLL_API CGprogram cgGetProgramStateAssignmentValue(CGstateassignment);
+CGDLL_API CGparameter cgGetTextureStateAssignmentValue(CGstateassignment);
+CGDLL_API CGparameter cgGetSamplerStateAssignmentValue(CGstateassignment);
+CGDLL_API int cgGetStateAssignmentIndex(CGstateassignment);
+
+CGDLL_API int cgGetNumDependentStateAssignmentParameters(CGstateassignment);
+CGDLL_API CGparameter cgGetDependentStateAssignmentParameter(CGstateassignment, int index);
+
+CGDLL_API CGstate cgGetStateAssignmentState(CGstateassignment);
+CGDLL_API CGstate cgGetSamplerStateAssignmentState(CGstateassignment);
+
+CGDLL_API CGstate cgCreateState(CGcontext, const char *name, CGtype);
+CGDLL_API CGstate cgCreateArrayState(CGcontext, const char *name, CGtype, int nelems);
+CGDLL_API void cgSetStateCallbacks(CGstate, CGstatecallback set, CGstatecallback reset,
+ CGstatecallback validate);
+CGDLL_API CGstatecallback cgGetStateSetCallback(CGstate);
+CGDLL_API CGstatecallback cgGetStateResetCallback(CGstate);
+CGDLL_API CGstatecallback cgGetStateValidateCallback(CGstate);
+CGDLL_API CGtype cgGetStateType(CGstate);
+CGDLL_API const char *cgGetStateName(CGstate);
+CGDLL_API CGstate cgGetNamedState(CGcontext, const char *name);
+CGDLL_API CGstate cgGetFirstState(CGcontext);
+CGDLL_API CGstate cgGetNextState(CGstate);
+CGDLL_API CGbool cgIsState(CGstate);
+CGDLL_API void cgAddStateEnumerant(CGstate, const char *name, int value);
+
+CGDLL_API CGstate cgCreateSamplerState(CGcontext, const char *name, CGtype);
+CGDLL_API CGstate cgCreateArraySamplerState(CGcontext, const char *name, CGtype, int nelems);
+CGDLL_API CGstate cgGetNamedSamplerState(CGcontext, const char *name);
+CGDLL_API CGstate cgGetFirstSamplerState(CGcontext);
+
+CGDLL_API CGstateassignment cgGetFirstSamplerStateAssignment(CGparameter);
+CGDLL_API CGstateassignment cgGetNamedSamplerStateAssignment(CGparameter, const char *);
+CGDLL_API void cgSetSamplerState(CGparameter);
+
+CGDLL_API CGparameter cgGetNamedEffectParameter(CGeffect, const char *);
+CGDLL_API CGparameter cgGetFirstLeafEffectParameter(CGeffect);
+CGDLL_API CGparameter cgGetFirstEffectParameter(CGeffect);
+CGDLL_API CGparameter cgGetEffectParameterBySemantic(CGeffect, const char *);
+
+CGDLL_API CGannotation cgGetFirstTechniqueAnnotation(CGtechnique);
+CGDLL_API CGannotation cgGetFirstPassAnnotation(CGpass);
+CGDLL_API CGannotation cgGetFirstParameterAnnotation(CGparameter);
+CGDLL_API CGannotation cgGetFirstProgramAnnotation(CGprogram);
+CGDLL_API CGannotation cgGetNextAnnotation(CGannotation);
+
+CGDLL_API CGannotation cgGetNamedTechniqueAnnotation(CGtechnique, const char *);
+CGDLL_API CGannotation cgGetNamedPassAnnotation(CGpass, const char *);
+CGDLL_API CGannotation cgGetNamedParameterAnnotation(CGparameter, const char *);
+CGDLL_API CGannotation cgGetNamedProgramAnnotation(CGprogram, const char *);
+
+CGDLL_API CGbool cgIsAnnotation(CGannotation);
+
+CGDLL_API const char *cgGetAnnotationName(CGannotation);
+CGDLL_API CGtype cgGetAnnotationType(CGannotation);
+
+CGDLL_API const float *cgGetFloatAnnotationValues(CGannotation, int *nvalues);
+CGDLL_API const int *cgGetIntAnnotationValues(CGannotation, int *nvalues);
+CGDLL_API const char *cgGetStringAnnotationValue(CGannotation);
+CGDLL_API const int *cgGetBooleanAnnotationValues(CGannotation, int *nvalues);
+
+CGDLL_API int cgGetNumDependentAnnotationParameters(CGannotation);
+CGDLL_API CGparameter cgGetDependentAnnotationParameter(CGannotation, int index);
+
+CGDLL_API void cgEvaluateProgram(CGprogram, float *, int ncomps, int nx, int ny, int nz);
#endif
@@ -367,5 +538,4 @@ CGDLL_API CGparameter cgGetNextLeafParameter_depr1_1(CGparameter current);
}
#endif
-
#endif
diff --git a/make/stub_includes/cg/CG/cg_datatypes.h b/make/stub_includes/cg/CG/cg_datatypes.h
index a728ca638..2eb0ff85a 100644
--- a/make/stub_includes/cg/CG/cg_datatypes.h
+++ b/make/stub_includes/cg/CG/cg_datatypes.h
@@ -69,124 +69,124 @@
* compiler_name : The name of the data type within the compiler syntax.
* enum_name : The C enumerant.
* nrows : Number of rows for matrix types. Should be 0 other-wise.
- * ncols : Number of columns for matrix types. Should be 0
- * other-wise.
+ * ncols : Number of columns for scalar, vector, and matrix types.
*
*/
-/*CG_DATATYPE_MACRO(Half,half,*/CG_HALF,//0,1)
-/*CG_DATATYPE_MACRO(Half2,half2,*/CG_HALF2,//0,2)
-/*CG_DATATYPE_MACRO(Half3,half3,*/CG_HALF3,//0,3)
-/*CG_DATATYPE_MACRO(Half4,half4,*/CG_HALF4,//0,4)
-/*CG_DATATYPE_MACRO(Half1x1,half1x1,*/CG_HALF1x1,//1,1)
-/*CG_DATATYPE_MACRO(Half1x2,half1x2,*/CG_HALF1x2,//1,2)
-/*CG_DATATYPE_MACRO(Half1x3,half1x3,*/CG_HALF1x3,//1,3)
-/*CG_DATATYPE_MACRO(Half1x4,half1x4,*/CG_HALF1x4,//1,4)
-/*CG_DATATYPE_MACRO(Half2x1,half2x1,*/CG_HALF2x1,//2,1)
-/*CG_DATATYPE_MACRO(Half2x2,half2x2,*/CG_HALF2x2,//2,2)
-/*CG_DATATYPE_MACRO(Half2x3,half2x3,*/CG_HALF2x3,//2,3)
-/*CG_DATATYPE_MACRO(Half2x4,half2x4,*/CG_HALF2x4,//2,4)
-/*CG_DATATYPE_MACRO(Half3x1,half3x1,*/CG_HALF3x1,//3,1)
-/*CG_DATATYPE_MACRO(Half3x2,half3x2,*/CG_HALF3x2,//3,2)
-/*CG_DATATYPE_MACRO(Half3x3,half3x3,*/CG_HALF3x3,//3,3)
-/*CG_DATATYPE_MACRO(Half3x4,half3x4,*/CG_HALF3x4,//3,4)
-/*CG_DATATYPE_MACRO(Half4x1,half4x1,*/CG_HALF4x1,//4,1)
-/*CG_DATATYPE_MACRO(Half4x2,half4x2,*/CG_HALF4x2,//4,2)
-/*CG_DATATYPE_MACRO(Half4x3,half4x3,*/CG_HALF4x3,//4,3)
-/*CG_DATATYPE_MACRO(Half4x4,half4x4,*/CG_HALF4x4,//4,4)
-/*CG_DATATYPE_MACRO(Float,float,*/CG_FLOAT,//0,1)
-/*CG_DATATYPE_MACRO(Float2,float2,*/CG_FLOAT2,//0,2)
-/*CG_DATATYPE_MACRO(Float3,float3,*/CG_FLOAT3,//0,3)
-/*CG_DATATYPE_MACRO(Float4,float4,*/CG_FLOAT4,//0,4)
-/*CG_DATATYPE_MACRO(Float1x1,float1x1,*/CG_FLOAT1x1,//1,1)
-/*CG_DATATYPE_MACRO(Float1x2,float1x2,*/CG_FLOAT1x2,//1,2)
-/*CG_DATATYPE_MACRO(Float1x3,float1x3,*/CG_FLOAT1x3,//1,3)
-/*CG_DATATYPE_MACRO(Float1x4,float1x4,*/CG_FLOAT1x4,//1,4)
-/*CG_DATATYPE_MACRO(Float2x1,float2x1,*/CG_FLOAT2x1,//2,1)
-/*CG_DATATYPE_MACRO(Float2x2,float2x2,*/CG_FLOAT2x2,//2,2)
-/*CG_DATATYPE_MACRO(Float2x3,float2x3,*/CG_FLOAT2x3,//2,3)
-/*CG_DATATYPE_MACRO(Float2x4,float2x4,*/CG_FLOAT2x4,//2,4)
-/*CG_DATATYPE_MACRO(Float3x1,float3x1,*/CG_FLOAT3x1,//3,1)
-/*CG_DATATYPE_MACRO(Float3x2,float3x2,*/CG_FLOAT3x2,//3,2)
-/*CG_DATATYPE_MACRO(Float3x3,float3x3,*/CG_FLOAT3x3,//3,3)
-/*CG_DATATYPE_MACRO(Float3x4,float3x4,*/CG_FLOAT3x4,//3,4)
-/*CG_DATATYPE_MACRO(Float4x1,float4x1,*/CG_FLOAT4x1,//4,1)
-/*CG_DATATYPE_MACRO(Float4x2,float4x2,*/CG_FLOAT4x2,//4,2)
-/*CG_DATATYPE_MACRO(Float4x3,float4x3,*/CG_FLOAT4x3,//4,3)
-/*CG_DATATYPE_MACRO(Float4x4,float4x4,*/CG_FLOAT4x4,//4,4)
-/*CG_DATATYPE_MACRO(Sampler1D,sampler1D,*/CG_SAMPLER1D,//0,0)
-/*CG_DATATYPE_MACRO(Sampler2D,sampler2D,*/CG_SAMPLER2D,//0,0)
-/*CG_DATATYPE_MACRO(Sampler3D,sampler3D,*/CG_SAMPLER3D,//0,0)
-/*CG_DATATYPE_MACRO(SamplerRECT,samplerRECT,*/CG_SAMPLERRECT,//0,0)
-/*CG_DATATYPE_MACRO(SamplerCUBE,samplerCUBE,*/CG_SAMPLERCUBE,//0,0)
-/*CG_DATATYPE_MACRO(Fixed,fixed,*/CG_FIXED,//0,1)
-/*CG_DATATYPE_MACRO(Fixed2,fixed2,*/CG_FIXED2,//0,2)
-/*CG_DATATYPE_MACRO(Fixed3,fixed3,*/CG_FIXED3,//0,3)
-/*CG_DATATYPE_MACRO(Fixed4,fixed4,*/CG_FIXED4,//0,4)
-/*CG_DATATYPE_MACRO(Fixed1x1,fixed1x1,*/CG_FIXED1x1,//1,1)
-/*CG_DATATYPE_MACRO(Fixed1x2,fixed1x2,*/CG_FIXED1x2,//1,2)
-/*CG_DATATYPE_MACRO(Fixed1x3,fixed1x3,*/CG_FIXED1x3,//1,3)
-/*CG_DATATYPE_MACRO(Fixed1x4,fixed1x4,*/CG_FIXED1x4,//1,4)
-/*CG_DATATYPE_MACRO(Fixed2x1,fixed2x1,*/CG_FIXED2x1,//2,1)
-/*CG_DATATYPE_MACRO(Fixed2x2,fixed2x2,*/CG_FIXED2x2,//2,2)
-/*CG_DATATYPE_MACRO(Fixed2x3,fixed2x3,*/CG_FIXED2x3,//2,3)
-/*CG_DATATYPE_MACRO(Fixed2x4,fixed2x4,*/CG_FIXED2x4,//2,4)
-/*CG_DATATYPE_MACRO(Fixed3x1,fixed3x1,*/CG_FIXED3x1,//3,1)
-/*CG_DATATYPE_MACRO(Fixed3x2,fixed3x2,*/CG_FIXED3x2,//3,2)
-/*CG_DATATYPE_MACRO(Fixed3x3,fixed3x3,*/CG_FIXED3x3,//3,3)
-/*CG_DATATYPE_MACRO(Fixed3x4,fixed3x4,*/CG_FIXED3x4,//3,4)
-/*CG_DATATYPE_MACRO(Fixed4x1,fixed4x1,*/CG_FIXED4x1,//4,1)
-/*CG_DATATYPE_MACRO(Fixed4x2,fixed4x2,*/CG_FIXED4x2,//4,2)
-/*CG_DATATYPE_MACRO(Fixed4x3,fixed4x3,*/CG_FIXED4x3,//4,3)
-/*CG_DATATYPE_MACRO(Fixed4x4,fixed4x4,*/CG_FIXED4x4,//4,4)
-/*CG_DATATYPE_MACRO(Half1,half1,*/CG_HALF1,//0,1)
-/*CG_DATATYPE_MACRO(Float1,float1,*/CG_FLOAT1,//0,1)
-/*CG_DATATYPE_MACRO(Fixed1,fixed1,*/CG_FIXED1,//0,1)
-/*CG_DATATYPE_MACRO(Int,int,*/CG_INT,//0,1)
-/*CG_DATATYPE_MACRO(Int1,int1,*/CG_INT1,//0,1)
-/*CG_DATATYPE_MACRO(Int2,int2,*/CG_INT2,//0,2)
-/*CG_DATATYPE_MACRO(Int3,int3,*/CG_INT3,//0,3)
-/*CG_DATATYPE_MACRO(Int4,int4,*/CG_INT4,//0,4)
-/*CG_DATATYPE_MACRO(Int1x1,int1x1,*/CG_INT1x1,//1,1)
-/*CG_DATATYPE_MACRO(Int1x2,int1x2,*/CG_INT1x2,//1,2)
-/*CG_DATATYPE_MACRO(Int1x3,int1x3,*/CG_INT1x3,//1,3)
-/*CG_DATATYPE_MACRO(Int1x4,int1x4,*/CG_INT1x4,//1,4)
-/*CG_DATATYPE_MACRO(Int2x1,int2x1,*/CG_INT2x1,//2,1)
-/*CG_DATATYPE_MACRO(Int2x2,int2x2,*/CG_INT2x2,//2,2)
-/*CG_DATATYPE_MACRO(Int2x3,int2x3,*/CG_INT2x3,//2,3)
-/*CG_DATATYPE_MACRO(Int2x4,int2x4,*/CG_INT2x4,//2,4)
-/*CG_DATATYPE_MACRO(Int3x1,int3x1,*/CG_INT3x1,//3,1)
-/*CG_DATATYPE_MACRO(Int3x2,int3x2,*/CG_INT3x2,//3,2)
-/*CG_DATATYPE_MACRO(Int3x3,int3x3,*/CG_INT3x3,//3,3)
-/*CG_DATATYPE_MACRO(Int3x4,int3x4,*/CG_INT3x4,//3,4)
-/*CG_DATATYPE_MACRO(Int4x1,int4x1,*/CG_INT4x1,//4,1)
-/*CG_DATATYPE_MACRO(Int4x2,int4x2,*/CG_INT4x2,//4,2)
-/*CG_DATATYPE_MACRO(Int4x3,int4x3,*/CG_INT4x3,//4,3)
-/*CG_DATATYPE_MACRO(Int4x4,int4x4,*/CG_INT4x4,//4,4)
-/*CG_DATATYPE_MACRO(Bool,bool,*/CG_BOOL,//0,1)
-/*CG_DATATYPE_MACRO(Bool1,bool1,*/CG_BOOL1,//0,1)
-/*CG_DATATYPE_MACRO(Bool2,bool2,*/CG_BOOL2,//0,2)
-/*CG_DATATYPE_MACRO(Bool3,bool3,*/CG_BOOL3,//0,3)
-/*CG_DATATYPE_MACRO(Bool4,bool4,*/CG_BOOL4,//0,4)
-/*CG_DATATYPE_MACRO(Bool1x1,bool1x1,*/CG_BOOL1x1,//1,1)
-/*CG_DATATYPE_MACRO(Bool1x2,bool1x2,*/CG_BOOL1x2,//1,2)
-/*CG_DATATYPE_MACRO(Bool1x3,bool1x3,*/CG_BOOL1x3,//1,3)
-/*CG_DATATYPE_MACRO(Bool1x4,bool1x4,*/CG_BOOL1x4,//1,4)
-/*CG_DATATYPE_MACRO(Bool2x1,bool2x1,*/CG_BOOL2x1,//2,1)
-/*CG_DATATYPE_MACRO(Bool2x2,bool2x2,*/CG_BOOL2x2,//2,2)
-/*CG_DATATYPE_MACRO(Bool2x3,bool2x3,*/CG_BOOL2x3,//2,3)
-/*CG_DATATYPE_MACRO(Bool2x4,bool2x4,*/CG_BOOL2x4,//2,4)
-/*CG_DATATYPE_MACRO(Bool3x1,bool3x1,*/CG_BOOL3x1,//3,1)
-/*CG_DATATYPE_MACRO(Bool3x2,bool3x2,*/CG_BOOL3x2,//3,2)
-/*CG_DATATYPE_MACRO(Bool3x3,bool3x3,*/CG_BOOL3x3,//3,3)
-/*CG_DATATYPE_MACRO(Bool3x4,bool3x4,*/CG_BOOL3x4,//3,4)
-/*CG_DATATYPE_MACRO(Bool4x1,bool4x1,*/CG_BOOL4x1,//4,1)
-/*CG_DATATYPE_MACRO(Bool4x2,bool4x2,*/CG_BOOL4x2,//4,2)
-/*CG_DATATYPE_MACRO(Bool4x3,bool4x3,*/CG_BOOL4x3,//4,3)
-/*CG_DATATYPE_MACRO(Bool4x4,bool4x4,*/CG_BOOL4x4,//4,4)
+/*CG_DATATYPE_MACRO(Half,half,*/CG_HALF,//CG_HALF,0,1,CG_PARAMETERCLASS_SCALAR)
+/*CG_DATATYPE_MACRO(Half2,half2,*/CG_HALF2,//CG_HALF,0,2,CG_PARAMETERCLASS_VECTOR)
+/*CG_DATATYPE_MACRO(Half3,half3,*/CG_HALF3,//CG_HALF,0,3,CG_PARAMETERCLASS_VECTOR)
+/*CG_DATATYPE_MACRO(Half4,half4,*/CG_HALF4,//CG_HALF,0,4,CG_PARAMETERCLASS_VECTOR)
+/*CG_DATATYPE_MACRO(Half1x1,half1x1,*/CG_HALF1x1,//CG_HALF,1,1,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Half1x2,half1x2,*/CG_HALF1x2,//CG_HALF,1,2,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Half1x3,half1x3,*/CG_HALF1x3,//CG_HALF,1,3,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Half1x4,half1x4,*/CG_HALF1x4,//CG_HALF,1,4,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Half2x1,half2x1,*/CG_HALF2x1,//CG_HALF,2,1,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Half2x2,half2x2,*/CG_HALF2x2,//CG_HALF,2,2,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Half2x3,half2x3,*/CG_HALF2x3,//CG_HALF,2,3,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Half2x4,half2x4,*/CG_HALF2x4,//CG_HALF,2,4,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Half3x1,half3x1,*/CG_HALF3x1,//CG_HALF,3,1,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Half3x2,half3x2,*/CG_HALF3x2,//CG_HALF,3,2,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Half3x3,half3x3,*/CG_HALF3x3,//CG_HALF,3,3,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Half3x4,half3x4,*/CG_HALF3x4,//CG_HALF,3,4,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Half4x1,half4x1,*/CG_HALF4x1,//CG_HALF,4,1,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Half4x2,half4x2,*/CG_HALF4x2,//CG_HALF,4,2,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Half4x3,half4x3,*/CG_HALF4x3,//CG_HALF,4,3,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Half4x4,half4x4,*/CG_HALF4x4,//CG_HALF,4,4,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Float,float,*/CG_FLOAT,//CG_FLOAT,0,1,CG_PARAMETERCLASS_SCALAR)
+/*CG_DATATYPE_MACRO(Float2,float2,*/CG_FLOAT2,//CG_FLOAT,0,2,CG_PARAMETERCLASS_VECTOR)
+/*CG_DATATYPE_MACRO(Float3,float3,*/CG_FLOAT3,//CG_FLOAT,0,3,CG_PARAMETERCLASS_VECTOR)
+/*CG_DATATYPE_MACRO(Float4,float4,*/CG_FLOAT4,//CG_FLOAT,0,4,CG_PARAMETERCLASS_VECTOR)
+/*CG_DATATYPE_MACRO(Float1x1,float1x1,*/CG_FLOAT1x1,//CG_FLOAT,1,1,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Float1x2,float1x2,*/CG_FLOAT1x2,//CG_FLOAT,1,2,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Float1x3,float1x3,*/CG_FLOAT1x3,//CG_FLOAT,1,3,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Float1x4,float1x4,*/CG_FLOAT1x4,//CG_FLOAT,1,4,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Float2x1,float2x1,*/CG_FLOAT2x1,//CG_FLOAT,2,1,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Float2x2,float2x2,*/CG_FLOAT2x2,//CG_FLOAT,2,2,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Float2x3,float2x3,*/CG_FLOAT2x3,//CG_FLOAT,2,3,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Float2x4,float2x4,*/CG_FLOAT2x4,//CG_FLOAT,2,4,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Float3x1,float3x1,*/CG_FLOAT3x1,//CG_FLOAT,3,1,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Float3x2,float3x2,*/CG_FLOAT3x2,//CG_FLOAT,3,2,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Float3x3,float3x3,*/CG_FLOAT3x3,//CG_FLOAT,3,3,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Float3x4,float3x4,*/CG_FLOAT3x4,//CG_FLOAT,3,4,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Float4x1,float4x1,*/CG_FLOAT4x1,//CG_FLOAT,4,1,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Float4x2,float4x2,*/CG_FLOAT4x2,//CG_FLOAT,4,2,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Float4x3,float4x3,*/CG_FLOAT4x3,//CG_FLOAT,4,3,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Float4x4,float4x4,*/CG_FLOAT4x4,//CG_FLOAT,4,4,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Sampler1D,sampler1D,*/CG_SAMPLER1D,//CG_SAMPLER1D,0,0,CG_PARAMETERCLASS_SAMPLER)
+/*CG_DATATYPE_MACRO(Sampler2D,sampler2D,*/CG_SAMPLER2D,//CG_SAMPLER2D,0,0,CG_PARAMETERCLASS_SAMPLER)
+/*CG_DATATYPE_MACRO(Sampler3D,sampler3D,*/CG_SAMPLER3D,//CG_SAMPLER3D,0,0,CG_PARAMETERCLASS_SAMPLER)
+/*CG_DATATYPE_MACRO(SamplerRECT,samplerRECT,*/CG_SAMPLERRECT,//CG_SAMPLERRECT,0,0,CG_PARAMETERCLASS_SAMPLER)
+/*CG_DATATYPE_MACRO(SamplerCUBE,samplerCUBE,*/CG_SAMPLERCUBE,//CG_SAMPLERCUBE,0,0,CG_PARAMETERCLASS_SAMPLER)
+/*CG_DATATYPE_MACRO(Fixed,fixed,*/CG_FIXED,//CG_FIXED,0,1,CG_PARAMETERCLASS_SCALAR)
+/*CG_DATATYPE_MACRO(Fixed2,fixed2,*/CG_FIXED2,//CG_FIXED,0,2,CG_PARAMETERCLASS_VECTOR)
+/*CG_DATATYPE_MACRO(Fixed3,fixed3,*/CG_FIXED3,//CG_FIXED,0,3,CG_PARAMETERCLASS_VECTOR)
+/*CG_DATATYPE_MACRO(Fixed4,fixed4,*/CG_FIXED4,//CG_FIXED,0,4,CG_PARAMETERCLASS_VECTOR)
+/*CG_DATATYPE_MACRO(Fixed1x1,fixed1x1,*/CG_FIXED1x1,//CG_FIXED,1,1,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Fixed1x2,fixed1x2,*/CG_FIXED1x2,//CG_FIXED,1,2,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Fixed1x3,fixed1x3,*/CG_FIXED1x3,//CG_FIXED,1,3,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Fixed1x4,fixed1x4,*/CG_FIXED1x4,//CG_FIXED,1,4,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Fixed2x1,fixed2x1,*/CG_FIXED2x1,//CG_FIXED,2,1,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Fixed2x2,fixed2x2,*/CG_FIXED2x2,//CG_FIXED,2,2,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Fixed2x3,fixed2x3,*/CG_FIXED2x3,//CG_FIXED,2,3,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Fixed2x4,fixed2x4,*/CG_FIXED2x4,//CG_FIXED,2,4,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Fixed3x1,fixed3x1,*/CG_FIXED3x1,//CG_FIXED,3,1,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Fixed3x2,fixed3x2,*/CG_FIXED3x2,//CG_FIXED,3,2,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Fixed3x3,fixed3x3,*/CG_FIXED3x3,//CG_FIXED,3,3,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Fixed3x4,fixed3x4,*/CG_FIXED3x4,//CG_FIXED,3,4,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Fixed4x1,fixed4x1,*/CG_FIXED4x1,//CG_FIXED,4,1,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Fixed4x2,fixed4x2,*/CG_FIXED4x2,//CG_FIXED,4,2,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Fixed4x3,fixed4x3,*/CG_FIXED4x3,//CG_FIXED,4,3,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Fixed4x4,fixed4x4,*/CG_FIXED4x4,//CG_FIXED,4,4,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Half1,half1,*/CG_HALF1,//CG_HALF,0,1,CG_PARAMETERCLASS_VECTOR)
+/*CG_DATATYPE_MACRO(Float1,float1,*/CG_FLOAT1,//CG_FLOAT,0,1,CG_PARAMETERCLASS_VECTOR)
+/*CG_DATATYPE_MACRO(Fixed1,fixed1,*/CG_FIXED1,//CG_FIXED,0,1,CG_PARAMETERCLASS_VECTOR)
+/*CG_DATATYPE_MACRO(Int,int,*/CG_INT,//CG_INT,0,1,CG_PARAMETERCLASS_SCALAR)
+/*CG_DATATYPE_MACRO(Int1,int1,*/CG_INT1,//CG_INT,0,1,CG_PARAMETERCLASS_VECTOR)
+/*CG_DATATYPE_MACRO(Int2,int2,*/CG_INT2,//CG_INT,0,2,CG_PARAMETERCLASS_VECTOR)
+/*CG_DATATYPE_MACRO(Int3,int3,*/CG_INT3,//CG_INT,0,3,CG_PARAMETERCLASS_VECTOR)
+/*CG_DATATYPE_MACRO(Int4,int4,*/CG_INT4,//CG_INT,0,4,CG_PARAMETERCLASS_VECTOR)
+/*CG_DATATYPE_MACRO(Int1x1,int1x1,*/CG_INT1x1,//CG_INT,1,1,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Int1x2,int1x2,*/CG_INT1x2,//CG_INT,1,2,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Int1x3,int1x3,*/CG_INT1x3,//CG_INT,1,3,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Int1x4,int1x4,*/CG_INT1x4,//CG_INT,1,4,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Int2x1,int2x1,*/CG_INT2x1,//CG_INT,2,1,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Int2x2,int2x2,*/CG_INT2x2,//CG_INT,2,2,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Int2x3,int2x3,*/CG_INT2x3,//CG_INT,2,3,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Int2x4,int2x4,*/CG_INT2x4,//CG_INT,2,4,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Int3x1,int3x1,*/CG_INT3x1,//CG_INT,3,1,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Int3x2,int3x2,*/CG_INT3x2,//CG_INT,3,2,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Int3x3,int3x3,*/CG_INT3x3,//CG_INT,3,3,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Int3x4,int3x4,*/CG_INT3x4,//CG_INT,3,4,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Int4x1,int4x1,*/CG_INT4x1,//CG_INT,4,1,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Int4x2,int4x2,*/CG_INT4x2,//CG_INT,4,2,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Int4x3,int4x3,*/CG_INT4x3,//CG_INT,4,3,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Int4x4,int4x4,*/CG_INT4x4,//CG_INT,4,4,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Bool,bool,*/CG_BOOL,//CG_BOOL,0,1,CG_PARAMETERCLASS_SCALAR)
+/*CG_DATATYPE_MACRO(Bool1,bool1,*/CG_BOOL1,//CG_BOOL,0,1,CG_PARAMETERCLASS_VECTOR)
+/*CG_DATATYPE_MACRO(Bool2,bool2,*/CG_BOOL2,//CG_BOOL,0,2,CG_PARAMETERCLASS_VECTOR)
+/*CG_DATATYPE_MACRO(Bool3,bool3,*/CG_BOOL3,//CG_BOOL,0,3,CG_PARAMETERCLASS_VECTOR)
+/*CG_DATATYPE_MACRO(Bool4,bool4,*/CG_BOOL4,//CG_BOOL,0,4,CG_PARAMETERCLASS_VECTOR)
+/*CG_DATATYPE_MACRO(Bool1x1,bool1x1,*/CG_BOOL1x1,//CG_BOOL,1,1,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Bool1x2,bool1x2,*/CG_BOOL1x2,//CG_BOOL,1,2,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Bool1x3,bool1x3,*/CG_BOOL1x3,//CG_BOOL,1,3,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Bool1x4,bool1x4,*/CG_BOOL1x4,//CG_BOOL,1,4,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Bool2x1,bool2x1,*/CG_BOOL2x1,//CG_BOOL,2,1,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Bool2x2,bool2x2,*/CG_BOOL2x2,//CG_BOOL,2,2,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Bool2x3,bool2x3,*/CG_BOOL2x3,//CG_BOOL,2,3,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Bool2x4,bool2x4,*/CG_BOOL2x4,//CG_BOOL,2,4,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Bool3x1,bool3x1,*/CG_BOOL3x1,//CG_BOOL,3,1,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Bool3x2,bool3x2,*/CG_BOOL3x2,//CG_BOOL,3,2,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Bool3x3,bool3x3,*/CG_BOOL3x3,//CG_BOOL,3,3,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Bool3x4,bool3x4,*/CG_BOOL3x4,//CG_BOOL,3,4,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Bool4x1,bool4x1,*/CG_BOOL4x1,//CG_BOOL,4,1,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Bool4x2,bool4x2,*/CG_BOOL4x2,//CG_BOOL,4,2,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Bool4x3,bool4x3,*/CG_BOOL4x3,//CG_BOOL,4,3,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(Bool4x4,bool4x4,*/CG_BOOL4x4,//CG_BOOL,4,4,CG_PARAMETERCLASS_MATRIX)
+/*CG_DATATYPE_MACRO(String,string,*/CG_STRING,//CG_STRING,0,1,CG_PARAMETERCLASS_OBJECT)
+/*CG_DATATYPE_MACRO(Program,program,*/CG_PROGRAM_TYPE,//CG_PROGRAM_TYPE,0,0,CG_PARAMETERCLASS_OBJECT)
+/*CG_DATATYPE_MACRO(Texture,texture,*/CG_TEXTURE,//CG_TEXTURE,0,0,CG_PARAMETERCLASS_OBJECT)
//#undef CG_DATATYPE_MACRO
-
-
diff --git a/make/stub_includes/cg/CG/cg_enums.h b/make/stub_includes/cg/CG/cg_enums.h
index 24d97a320..cb7262feb 100755
--- a/make/stub_includes/cg/CG/cg_enums.h
+++ b/make/stub_includes/cg/CG/cg_enums.h
@@ -89,7 +89,9 @@
/*CG_ENUM_MACRO(*/CG_CURRENT=/*, */4117,//)
/*CG_ENUM_MACRO(*/CG_LITERAL=/*, */4118,//)
/*CG_ENUM_MACRO(*/CG_VERSION=/*, */4119,//)
+/*CG_ENUM_MACRO(*/CG_ROW_MAJOR=/*, */4120,//)
+/*CG_ENUM_MACRO(*/CG_COLUMN_MAJOR=/*, */4121,//)
-#undef CG_ENUM_MACRO
+// #undef CG_ENUM_MACRO
diff --git a/make/stub_includes/cg/CG/cg_errors.h b/make/stub_includes/cg/CG/cg_errors.h
index 2ad510f8f..c785da252 100644
--- a/make/stub_includes/cg/CG/cg_errors.h
+++ b/make/stub_includes/cg/CG/cg_errors.h
@@ -8,7 +8,7 @@
/*
*
- * Copyright (c) 2002, NVIDIA Corporation.
+ * Copyright (c) 2002-2004, NVIDIA Corporation.
*
*
*
@@ -278,5 +278,70 @@ CG_TYPE_IS_NOT_DEFINED_IN_PROGRAM_ERROR=
"source parameter is not defined within the given program "
"or does not match the type with the same name in the program.")*/
+CG_INVALID_EFFECT_HANDLE_ERROR=
+/*CG_ERROR_MACRO(*/40,/*
+ CG_INVALID_EFFECT_HANDLE_ERROR,
+ "Invalid effect handle.")*/
+
+CG_INVALID_STATE_HANDLE_ERROR=
+/*CG_ERROR_MACRO(*/41,/*
+ CG_INVALID_STATE_HANDLE_ERROR,
+ "Invalid state handle.")*/
+
+CG_INVALID_STATE_ASSIGNMENT_HANDLE_ERROR=
+/*CG_ERROR_MACRO(*/42,/*
+ CG_INVALID_STATE_ASSIGNMENT_HANDLE_ERROR,
+ "Invalid stateassignment handle.")*/
+
+CG_INVALID_PASS_HANDLE_ERROR=
+/*CG_ERROR_MACRO(*/43,/*
+ CG_INVALID_PASS_HANDLE_ERROR,
+ "Invalid pass handle.")*/
+
+CG_INVALID_ANNOTATION_HANDLE_ERROR=
+/*CG_ERROR_MACRO(*/44,/*
+ CG_INVALID_ANNOTATION_HANDLE_ERROR,
+ "Invalid annotation handle.")*/
+
+CG_INVALID_TECHNIQUE_HANDLE_ERROR=
+/*CG_ERROR_MACRO(*/45,/*
+ CG_INVALID_TECHNIQUE_HANDLE_ERROR,
+ "Invalid technique handle.")*/
+
+CG_INVALID_PARAMETER_HANDLE_ERROR=
+/*CG_ERROR_MACRO(*/46,/*
+ CG_INVALID_PARAMETER_HANDLE_ERROR,
+ "Invalid parameter handle.")*/
+
+CG_STATE_ASSIGNMENT_TYPE_MISMATCH_ERROR=
+/*CG_ERROR_MACRO(*/47,/*
+ CG_STATE_ASSIGNMENT_TYPE_MISMATCH_ERROR,
+ "Invalid parameter handle.")*/
+
+CG_INVALID_FUNCTION_HANDLE_ERROR=
+/*CG_ERROR_MACRO(*/48,/*
+ CG_INVALID_FUNCTION_HANDLE_ERROR,
+ "Invalid function handle.")*/
+
+CG_INVALID_TECHNIQUE_ERROR=
+/*CG_ERROR_MACRO(*/49,/*
+ CG_INVALID_TECHNIQUE_ERROR,
+ "Technique did not pass validation.")*/
+
+CG_INVALID_POINTER_ERROR=
+/*CG_ERROR_MACRO(*/50,/*
+ CG_INVALID_POINTER_ERROR,
+ "The supplied pointer is NULL.")*/
+
+CG_NOT_ENOUGH_DATA_ERROR=
+/*CG_ERROR_MACRO(*/51,/*
+ CG_NOT_ENOUGH_DATA_ERROR,
+ "Not enough data was provided.")*/
+
+CG_NON_NUMERIC_PARAMETER_ERROR=
+/*CG_ERROR_MACRO(*/52,/*
+ CG_NON_NUMERIC_PARAMETER_ERROR,
+ "The parameter is not of a numeric type.")*/
+
//#undef CG_ERROR_MACRO
diff --git a/make/stub_includes/cg/CG/cg_profiles.h b/make/stub_includes/cg/CG/cg_profiles.h
index c77f45229..8217a569a 100644
--- a/make/stub_includes/cg/CG/cg_profiles.h
+++ b/make/stub_includes/cg/CG/cg_profiles.h
@@ -91,6 +91,7 @@
/*CG_PROFILE_MACRO(DX9Pixel20,ps_2_0,*/CG_PROFILE_PS_2_0=/*,"ps_2_0",*/6162,//0)
/*CG_PROFILE_MACRO(DX9Pixel2x,ps_2_x,*/CG_PROFILE_PS_2_X=/*,"ps_2_x",*/6163,//0)
+/*CG_PROFILE_MACRO(Generic, generic,*/ GENERIC=/*, "generic",*/ 7002,//0)
//#undef CG_PROFILE_MACRO
#undef CG_IN_PROFILES_INCLUDE
diff --git a/make/stub_includes/macosx/cglext.c b/make/stub_includes/macosx/cglext.c
new file mode 100755
index 000000000..14010fcc4
--- /dev/null
+++ b/make/stub_includes/macosx/cglext.c
@@ -0,0 +1 @@
+#include <cglext.h>
diff --git a/make/stub_includes/win32/wglext.c b/make/stub_includes/win32/wglext.c
new file mode 100755
index 000000000..9c6120411
--- /dev/null
+++ b/make/stub_includes/win32/wglext.c
@@ -0,0 +1,13 @@
+#define GLAPI
+
+// Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in
+// "glext.h" are parsed.
+#define GL_GLEXT_PROTOTYPES
+
+#include <GL/gl.h>
+
+// Bring in the wgl extensions
+#define WGL_WGLEXT_PROTOTYPES
+#define SKIP_WGL_HANDLE_DEFINITIONS
+#include <windows.h>
+#include <GL/wglext.h>
diff --git a/make/stub_includes/win32/windows.h b/make/stub_includes/win32/windows.h
index fa4ae1c95..e2d78deef 100644
--- a/make/stub_includes/win32/windows.h
+++ b/make/stub_includes/win32/windows.h
@@ -4,6 +4,7 @@
#define FAR
#define WINBASEAPI
#define WINGDIAPI
+#define WINUSERAPI
#define WINAPI
#define APIENTRY
#define CONST const
diff --git a/make/stub_includes/win32/wingdi.h b/make/stub_includes/win32/wingdi.h
index 2141135e7..35f754178 100644
--- a/make/stub_includes/win32/wingdi.h
+++ b/make/stub_includes/win32/wingdi.h
@@ -144,6 +144,25 @@ typedef struct tagPIXELFORMATDESCRIPTOR
#define ERROR_PROC_NOT_FOUND 127
#define ERROR_INVALID_WINDOW_HANDLE 1400
+/*
+ * ShowWindow() Commands
+ */
+#define SW_HIDE 0
+#define SW_SHOWNORMAL 1
+#define SW_NORMAL 1
+#define SW_SHOWMINIMIZED 2
+#define SW_SHOWMAXIMIZED 3
+#define SW_MAXIMIZE 3
+#define SW_SHOWNOACTIVATE 4
+#define SW_SHOW 5
+#define SW_MINIMIZE 6
+#define SW_SHOWMINNOACTIVE 7
+#define SW_SHOWNA 8
+#define SW_RESTORE 9
+#define SW_SHOWDEFAULT 10
+#define SW_FORCEMINIMIZE 11
+#define SW_MAX 11
+
// Windows routines
WINBASEAPI DWORD WINAPI GetLastError(VOID);
WINBASEAPI HMODULE WINAPI LoadLibraryA(LPCSTR lpLibFileName);
@@ -183,10 +202,11 @@ WINGDIAPI BOOL WINAPI DeleteDC(HDC);
WINGDIAPI BOOL WINAPI DeleteObject(HGDIOBJ);
WINGDIAPI HGDIOBJ WINAPI SelectObject(HDC, HGDIOBJ);
-// Routines for creation of a dummy device context and OpenGL context
-// for the purposes of getting wglChoosePixelFormatARB and associated
-// routines
-WINGDIAPI HDC WINAPI GetDC(HDC);
-WINGDIAPI HDC WINAPI CreateDummyWindow(int,int,int,int);
-WINGDIAPI VOID WINAPI DestroyDummyWindow(HWND,HDC);
-WINGDIAPI VOID WINAPI NativeEventLoop();
+// Routines for creation of a dummy window, device context and OpenGL
+// context for the purposes of getting wglChoosePixelFormatARB and
+// associated routines
+HDC CreateDummyWindow(int,int,int,int);
+WINUSERAPI BOOL WINAPI ShowWindow(HWND hWnd, int nCmdShow);
+WINUSERAPI HDC WINAPI GetDC(HWND);
+WINUSERAPI int WINAPI ReleaseDC(HWND hWnd, HDC hDC);
+WINUSERAPI BOOL WINAPI DestroyWindow(HWND hWnd);
diff --git a/make/stub_includes/common/gl-impl.c b/make/stub_includes/x11/glxext.c
index 53221a21a..67906a088 100644
--- a/make/stub_includes/common/gl-impl.c
+++ b/make/stub_includes/x11/glxext.c
@@ -12,12 +12,3 @@
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <GL/glxext.h>
-
-// Bring in the wgl extensions
-#define WGL_WGLEXT_PROTOTYPES
-#define SKIP_WGL_HANDLE_DEFINITIONS
-#include <windows.h>
-#include <GL/wglext.h>
-
-// Bring in the Mac OS X cgl extensions
-#include <GL/cglext.h>
diff --git a/make/wgl-CustomCCode.c b/make/wgl-CustomCCode.c
index be233fd9a..0fe9ee628 100755
--- a/make/wgl-CustomCCode.c
+++ b/make/wgl-CustomCCode.c
@@ -1,37 +1,25 @@
#include <stdio.h>
-LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
+#define JOGL_DUMMY_WINDOW_NAME "__jogl_dummy_window"
+
+LRESULT CALLBACK DummyWndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
+ return DefWindowProc(hWnd,uMsg,wParam,lParam);
+}
+
ATOM oglClass = 0;
HWND CreateDummyWindow( int x, int y, int width, int height ) {
- RECT rect;
HINSTANCE hInstance;
DWORD dwExStyle;
DWORD dwStyle;
HWND hWnd;
- ZeroMemory( &rect, sizeof( rect ) );
- // I don't know if we need this but it can't hurt
- if( width < 0 ) {
- rect.left = x + width;
- rect.right = x;
- } else {
- rect.left = x;
- rect.right = x + width;
- }
- if( height < 0 ) {
- rect.top = y + height;
- rect.bottom = y;
- } else {
- rect.top = y;
- rect.bottom = y + height;
- }
+
hInstance = GetModuleHandle(NULL);
-
if( !oglClass ) {
WNDCLASS wc;
ZeroMemory( &wc, sizeof( wc ) );
wc.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC;
- wc.lpfnWndProc = (WNDPROC) WndProc;
+ wc.lpfnWndProc = (WNDPROC) DummyWndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
@@ -39,7 +27,7 @@ HWND CreateDummyWindow( int x, int y, int width, int height ) {
wc.hCursor = NULL;
wc.hbrBackground = NULL;
wc.lpszMenuName = NULL;
- wc.lpszClassName = "OpenGL";
+ wc.lpszClassName = JOGL_DUMMY_WINDOW_NAME;
if( !(oglClass = RegisterClass( &wc )) ) {
printf( "RegisterClass Failed: %d\n", GetLastError() );
return( 0 );
@@ -48,52 +36,13 @@ HWND CreateDummyWindow( int x, int y, int width, int height ) {
dwExStyle = WS_EX_APPWINDOW | WS_EX_WINDOWEDGE;
dwStyle = WS_OVERLAPPEDWINDOW;
- if( !(hWnd=CreateWindowEx( dwExStyle, "OpenGL", "OpenGL",
+ if( !(hWnd=CreateWindowEx( dwExStyle,
+ JOGL_DUMMY_WINDOW_NAME,
+ JOGL_DUMMY_WINDOW_NAME,
dwStyle | WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
- rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top,
+ x, y, width, height,
NULL, NULL, hInstance, NULL ) ) ) {
return( 0 );
}
return( hWnd );
}
-
-void NativeEventLoop() {
- MSG msg;
- BOOL ret;
- // Grab windows system messages from queue
- while( ( ret = GetMessage( &msg, NULL, 0, 0 ) ) != 0 ) {
- if( ret == -1 ) {
- printf( "Error GetMessage: %d", GetLastError() );
- } else {
- DispatchMessage( &msg );
- }
- }
-}
-
-void DestroyDummyWindow(HWND handle, HDC hdc) {
- // Post a close window message from shutdown hook thread to
- // window message pump thread
- if( !PostMessage( handle, WM_CLOSE, 0, (LPARAM) hdc ) ) {
- printf( "PostMessage Failed: %d\n", GetLastError() );
- }
-}
-
-LRESULT CALLBACK WndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
- switch( uMsg ) {
- case WM_CLOSE:
- // Destroy HDC
- if( ReleaseDC( hWnd, (HDC) lParam ) != 1 ) {
- printf( "Error Releasing DC: %d\n", GetLastError() );
- }
- // Destroy HWND
- if( DestroyWindow( hWnd ) == 0 ) {
- printf( "Error Destroying Window: %d\n", GetLastError() );
- }
- break;
- case WM_DESTROY:
- // Terminate Dummy Window
- PostQuitMessage(0);
- return(0);
- }
- return DefWindowProc(hWnd,uMsg,wParam,lParam);
-}
diff --git a/make/wglext.cfg b/make/wglext.cfg
new file mode 100644
index 000000000..bc27252a5
--- /dev/null
+++ b/make/wglext.cfg
@@ -0,0 +1,58 @@
+# This .cfg file is used to generate the interface and implementing
+# class for the WGL extensions.
+Package com.sun.opengl.impl.windows
+Style InterfaceAndImpl
+JavaClass WGLExt
+ImplPackage com.sun.opengl.impl.windows
+ImplJavaClass WGLExtImpl
+Include gl-common-win32.cfg
+
+EmitProcAddressTable true
+ProcAddressTableClassName WGLExtProcAddressTable
+ContextVariableName _context
+
+# Ignore everything that doesn't start with wgl or WGL
+Ignore ^[^wW].+
+
+CustomCCode #define WIN32_LEAN_AND_MEAN
+CustomCCode #include <windows.h>
+CustomCCode #undef WIN32_LEAN_AND_MEAN
+CustomCCode #include <stdlib.h>
+CustomCCode #include <stddef.h>
+CustomCCode #include <malloc.h>
+
+CustomCCode /* Define GL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in
+CustomCCode "glext.h" are parsed. */
+CustomCCode #define GL_GLEXT_PROTOTYPES
+
+CustomCCode /* Define WGL_GLEXT_PROTOTYPES so that the OpenGL extension prototypes in
+CustomCCode "wglext.h" are parsed. */
+CustomCCode #define WGL_GLEXT_PROTOTYPES
+
+CustomCCode /* Include the OpenGL headers */
+CustomCCode #include <GL/gl.h>
+CustomCCode #include <GL/wglext.h>
+
+CustomCCode /* This typedef is only needed for VC6 */
+CustomCCode #if _MSC_VER <= 1200
+CustomCCode typedef int intptr_t;
+CustomCCode #endif
+
+CustomJavaCode WGLExt public boolean isFunctionAvailable(String glFunctionName);
+CustomJavaCode WGLExt public boolean isExtensionAvailable(String glExtensionName);
+
+CustomJavaCode WGLExtImpl public WGLExtImpl(WindowsGLContext context) {
+CustomJavaCode WGLExtImpl this._context = context;
+CustomJavaCode WGLExtImpl }
+
+CustomJavaCode WGLExtImpl public boolean isFunctionAvailable(String glFunctionName)
+CustomJavaCode WGLExtImpl {
+CustomJavaCode WGLExtImpl return _context.isFunctionAvailable(glFunctionName);
+CustomJavaCode WGLExtImpl }
+
+CustomJavaCode WGLExtImpl public boolean isExtensionAvailable(String glExtensionName)
+CustomJavaCode WGLExtImpl {
+CustomJavaCode WGLExtImpl return _context.isExtensionAvailable(glExtensionName);
+CustomJavaCode WGLExtImpl }
+
+CustomJavaCode WGLExtImpl private WindowsGLContext _context;
diff --git a/make/wingdi-win32.cfg b/make/wingdi-win32.cfg
index a3c5a5ebb..d5b630a89 100644
--- a/make/wingdi-win32.cfg
+++ b/make/wingdi-win32.cfg
@@ -1,6 +1,6 @@
# This .cfg file is used to generate the interface to the wgl routines
# used internally by the WindowsGLContext implementation.
-Package net.java.games.jogl.impl.windows
+Package com.sun.opengl.impl.windows
JavaOutputDir ..\build\gensrc\classes
NativeOutputDir ..\build\gensrc\native\jogl
JavaClass WGL