# This .cfg file is used to generate the GL interface and implementing class. JavaOutputDir gensrc/classes NativeOutputDir gensrc/native/jogl/gl2es12 ExtendedInterfaceSymbolsOnly ../build-temp/gensrc/classes/javax/media/opengl/GL.java ExtendedInterfaceSymbolsOnly ../build-temp/gensrc/classes/javax/media/opengl/GL2ES1.java ExtendedInterfaceSymbolsOnly ../build-temp/gensrc/classes/javax/media/opengl/GL2ES2.java ExtendedInterfaceSymbolsOnly ../src/jogl/classes/javax/media/opengl/GLBase.java ExtendedInterfaceSymbolsOnly ../src/jogl/classes/javax/media/opengl/fixedfunc/GLMatrixFunc.java ExtendedInterfaceSymbolsOnly ../src/jogl/classes/javax/media/opengl/fixedfunc/GLPointerFunc.java ExtendedInterfaceSymbolsOnly ../src/jogl/classes/javax/media/opengl/fixedfunc/GLLightingFunc.java Style ImplOnly ImplPackage com.sun.opengl.impl.gl2es12 ImplJavaClass GL2ES12Impl Implements GL2ES12Impl GL Implements GL2ES12Impl GL2ES1 Implements GL2ES12Impl GL2ES2 Implements GL2ES12Impl GLBase Include gl-common-gl2.cfg Include gl-common-extensions.cfg Include gl-desktop.cfg # Because we're manually implementing glMapBuffer but only producing # the implementing class, GlueGen doesn't notice that it has to emit a # proc address table entry for it. Force it to here. ForceProcAddressGen glMapBuffer # 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__ EmitProcAddressTable true ProcAddressTableClassName GL2ES12ProcAddressTable GetProcAddressTableExpr ((GL2ES12ProcAddressTable)_context.getGLProcAddressTable()) # Pick up on-line OpenGL javadoc thanks to user cylab on javagaming.org forums TagNativeBinding true # There seem to be some errors in the glue code generation where we are not ignoring # enough routines from desktop GL in GL2ES12Impl. For now manually ignore those which # we know shouldn't be in there Ignore glGetTexImage Ignore glPixelStoref # Add input validation to glPixelStorei to make sure that, even if we # are running on top of desktop OpenGL, parameters not exposed in # OpenGL ES can not be changed JavaPrologue glPixelStorei if (pname != GL_PACK_ALIGNMENT && pname != GL_UNPACK_ALIGNMENT) { JavaPrologue glPixelStorei throw new GLException("Unsupported pixel store parameter name 0x" + Integer.toHexString(param)); JavaPrologue glPixelStorei } CustomJavaCode GL2ES12Impl public void glFrustumf(float left, float right, float bottom, float top, float zNear, float zFar) { CustomJavaCode GL2ES12Impl glFrustum((double)left, (double)right, (double)bottom, (double)top, (double)zNear, (double)zFar); } CustomJavaCode GL2ES12Impl public void glOrthof(float left, float right, float bottom, float top, float zNear, float zFar) { CustomJavaCode GL2ES12Impl glOrtho((double)left, (double)right, (double)bottom, (double)top, (double)zNear, (double)zFar); } CustomJavaCode GL2ES12Impl public void glClearDepthf(float depth) { CustomJavaCode GL2ES12Impl glClearDepth((double)depth); } CustomJavaCode GL2ES12Impl public void glDepthRangef(float zNear, float zFar) { CustomJavaCode GL2ES12Impl glDepthRange((double)zNear, (double)zFar); } Include gl-headers.cfg Include ../intptr.cfg IncludeAs CustomJavaCode GL2ES12Impl gl-impl-CustomJavaCode-common.java IncludeAs CustomJavaCode GL2ES12Impl gl-impl-CustomJavaCode-gl2es12.java IncludeAs CustomJavaCode GL2ES12Impl gl-impl-CustomJavaCode-embedded.java IncludeAs CustomJavaCode GL2ES12Impl gl-impl-CustomJavaCode-gl2_es2.java IncludeAs CustomCCode gl-impl-CustomCCode-gl2es12.c Import javax.media.opengl.GLES1 Import javax.media.opengl.GLES2 Import com.sun.opengl.impl.InternalBufferUtil Import java.io.PrintStream