summaryrefslogtreecommitdiffstats
path: root/make/config/jogl/gl-es1.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'make/config/jogl/gl-es1.cfg')
-rw-r--r--make/config/jogl/gl-es1.cfg100
1 files changed, 100 insertions, 0 deletions
diff --git a/make/config/jogl/gl-es1.cfg b/make/config/jogl/gl-es1.cfg
new file mode 100644
index 000000000..4543b7fd2
--- /dev/null
+++ b/make/config/jogl/gl-es1.cfg
@@ -0,0 +1,100 @@
+# This .cfg file is used to generate the GL interface and implementing class.
+JavaOutputDir gensrc/classes
+NativeOutputDir gensrc/native/jogl/es1
+
+ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL.java
+ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/javax/media/opengl/GL2ES1.java
+ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/GLBase.java
+ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/fixedfunc/GLMatrixFunc.java
+ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/fixedfunc/GLPointerFunc.java
+ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/javax/media/opengl/fixedfunc/GLLightingFunc.java
+
+# There are a few routines we don't handle yet
+Ignore glGetBufferPointervOES
+Package javax.media.opengl
+Style InterfaceAndImpl
+JavaClass GLES1
+Extends GLES1 GLBase
+Extends GLES1 GL
+Extends GLES1 GL2ES1
+ImplPackage com.jogamp.opengl.impl.es1
+ImplJavaClass GLES1Impl
+Implements GLES1Impl GLBase
+Implements GLES1Impl GL
+Implements GLES1Impl GL2ES1
+HierarchicalNativeOutput false
+Include gl-common.cfg
+Include gl-common-extensions.cfg
+
+EmitProcAddressTable true
+ProcAddressTableClassName GLES1ProcAddressTable
+GetProcAddressTableExpr ((GLES1ProcAddressTable)_context.getGLProcAddressTable())
+
+# Inform the glue code generator of the association between #defines
+# and functions and the extensions in which they are defined
+GLHeader GLES/gl.h
+GLHeader GLES/glext.h
+GLHeader GL/gl.h
+GLHeader GL/glext.h
+
+# Force all of the methods to be emitted using dynamic linking so we
+# don't need to link against any emulation library on the desktop or
+# depend on the presence of an import library for a particular device
+ForceProcAddressGen __ALL__
+
+# Also force the calling conventions of the locally generated function
+# pointer typedefs for these routines to GL_APIENTRY
+LocalProcAddressCallingConvention __ALL__ GL_APIENTRY
+
+# Pick up on-line OpenGL javadoc thanks to user cylab on javagaming.org forums
+TagNativeBinding true
+
+# Ignore certain extensions that will be picked up by the dynamic
+# lookup mechanism anyway if they are present
+IgnoreExtension GL_OES_fixed_point
+IgnoreExtension GL_OES_single_precision
+
+# Add PixelStorei StateTracker
+#
+# Add input validation to glPixelStorei, just to be sure.
+CustomJavaCode GLES1Impl private static final int params_offset = 0; // just a helper for JavaPrologue ..
+
+JavaPrologue glPixelStorei if (pname != GL_PACK_ALIGNMENT && pname != GL_UNPACK_ALIGNMENT) {
+JavaPrologue glPixelStorei throw new GLException("Unsupported pixel store parameter name 0x" + Integer.toHexString(pname));
+JavaPrologue glPixelStorei }
+JavaPrologue glPixelStorei glStateTracker.setInt(pname, param);
+
+JavaPrologue glGetIntegerv if ( glStateTracker.getInt(pname, params, params_offset) ) { return; }
+
+CustomJavaCode GLES1Impl public void glOrtho(double left, double right, double bottom, double top, double near_val, double far_val) {
+CustomJavaCode GLES1Impl glOrtho((float) left, (float) right, (float) bottom, (float) top, (float) near_val, (float) far_val); }
+
+CustomJavaCode GLES1Impl public void glFrustum(double left, double right, double bottom, double top, double zNear, double zFar) {
+CustomJavaCode GLES1Impl glFrustumf((float) left, (float) right, (float) bottom, (float) top, (float) zNear, (float) zFar); }
+
+CustomJavaCode GLES1Impl public void glClearDepth(double depth) {
+CustomJavaCode GLES1Impl glClearDepthf((float)depth); }
+
+CustomJavaCode GLES1Impl public void glDepthRange(double zNear, double zFar) {
+CustomJavaCode GLES1Impl glDepthRangef((float)zNear, (float)zFar); }
+
+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 /* #define GL_APICALL __declspec(dllimport) */
+CustomCCode #include <GLES/gl.h>
+CustomCCode #include <GLES/glext.h>
+CustomCCode #include <stdlib.h>
+Include ../intptr.cfg
+
+IncludeAs CustomJavaCode GLES1Impl gl-impl-CustomJavaCode-common.java
+IncludeAs CustomJavaCode GLES1Impl gl-impl-CustomJavaCode-gles1.java
+IncludeAs CustomJavaCode GLES1Impl gl-impl-CustomJavaCode-embedded.java
+IncludeAs CustomCCode gl-impl-CustomCCode-gles1.c
+
+Import javax.media.opengl.GLES1
+Import javax.media.opengl.GLES2
+Import javax.media.opengl.GL2
+Import com.jogamp.common.nio.Buffers