# This .cfg file is used to generate the GL interface and implementing class. JavaOutputDir gensrc/classes NativeOutputDir gensrc/native/jogl/gl4 # Inform the glue code generator of the association between #defines # and functions and the extensions in which they are defined # _for_ code generation. This shall match the parsed header files! GLSemHeader GL/gl.h GLSemHeader GL/glext-supplement.h GLSemHeader GL/glext-20130207.h GLSemHeader GL/glext.h GLSemHeader GL/glcorearb.h GLSemHeader GL/glcorearbext.h ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL.java ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL2ES1.java ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL2ES2.java ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL2ES3.java ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL3ES3.java ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL4ES3.java ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL2GL3.java ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL2.java ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL3.java ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL4.java ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/GL3bc.java ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/com/jogamp/opengl/GLBase.java ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/com/jogamp/opengl/fixedfunc/GLMatrixFunc.java ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/com/jogamp/opengl/fixedfunc/GLPointerFunc.java ExtendedInterfaceSymbolsIgnore ../src/jogl/classes/com/jogamp/opengl/fixedfunc/GLLightingFunc.java Package com.jogamp.opengl Style InterfaceAndImpl JavaClass GL4bc #Extends GL4bc GLBase #Extends GL4bc GL #Extends GL4bc GL2ES1 #Extends GL4bc GL2ES2 #Extends GL4bc GL2ES3 #Extends GL4bc GL3ES3 #Extends GL4bc GL4ES3 #Extends GL4bc GL2GL3 #Extends GL4bc GL2 #Extends GL4bc GL3 Extends GL4bc GL3bc Extends GL4bc GL4 ImplPackage jogamp.opengl.gl4 ImplJavaClass GL4bcImpl Implements GL4bcImpl GLBase Implements GL4bcImpl GL Implements GL4bcImpl GL2ES1 Implements GL4bcImpl GL2ES2 Implements GL4bcImpl GL2ES3 Implements GL4bcImpl GL3ES3 Implements GL4bcImpl GL4ES3 Implements GL4bcImpl GL2GL3 Implements GL4bcImpl GL2 Implements GL4bcImpl GL3 Implements GL4bcImpl GL3bc Implements GL4bcImpl GL4 Include gl-common.cfg Include gl-common-extensions.cfg Include gl-desktop.cfg Include gl-embedded-ignores.cfg Include gl3-desktop.cfg Include gl3-common.cfg Include gl2_es2-CustomJavaCode.cfg # # Manually implement following GL functions to be redirected # to GLBufferObjectTracker. # ManuallyImplement glNamedBufferDataEXT ForceProcAddressGen glNamedBufferDataEXT MethodJavadoc glNamedBufferDataEXT *
MethodJavadoc glNamedBufferDataEXT * Throws a {@link GLException} if GL-function constraints are not met or the native GL-function fails. MethodJavadoc glNamedBufferDataEXT *
MethodJavadoc glNamedBufferDataEXT *MethodJavadoc glNamedBufferDataEXT * @throws GLException if size is less-than zero MethodJavadoc glNamedBufferDataEXT * @throws GLException if a native GL-Error occurs MethodJavadoc glNamedBufferDataEXT *
ManuallyImplement glMapNamedBufferEXT ForceProcAddressGen glMapNamedBufferEXT MethodJavadoc glMapNamedBufferEXT *MethodJavadoc glMapNamedBufferEXT * Throws a {@link GLException} if GL-function constraints are not met. MethodJavadoc glMapNamedBufferEXT *
MethodJavadoc glMapNamedBufferEXT *MethodJavadoc glMapNamedBufferEXT * Returns {@link GL2#mapNamedBuffer(int, int)}'s {@link GLBufferStorage#getMappedBuffer()}. MethodJavadoc glMapNamedBufferEXT *
MethodJavadoc glMapNamedBufferEXT *MethodJavadoc glMapNamedBufferEXT * @throws GLException if buffer is not tracked MethodJavadoc glMapNamedBufferEXT * @throws GLException if buffer is already mapped MethodJavadoc glMapNamedBufferEXT * @throws GLException if buffer has invalid store size, i.e. less-than zero MethodJavadoc glMapNamedBufferEXT *
ManuallyImplement glMapNamedBufferRangeEXT ForceProcAddressGen glMapNamedBufferRangeEXT MethodJavadoc glMapNamedBufferRangeEXT *MethodJavadoc glMapNamedBufferRangeEXT * Throws a {@link GLException} if GL-function constraints are not met. MethodJavadoc glMapNamedBufferRangeEXT *
MethodJavadoc glMapNamedBufferRangeEXT *MethodJavadoc glMapNamedBufferRangeEXT * Returns {@link GL2#mapNamedBufferRange(int, long, long, int)}'s {@link GLBufferStorage#getMappedBuffer()}. MethodJavadoc glMapNamedBufferRangeEXT *
MethodJavadoc glMapNamedBufferRangeEXT *MethodJavadoc glMapNamedBufferRangeEXT * @throws GLException if buffer is not tracked MethodJavadoc glMapNamedBufferRangeEXT * @throws GLException if buffer is already mapped MethodJavadoc glMapNamedBufferRangeEXT * @throws GLException if buffer has invalid store size, i.e. less-than zero MethodJavadoc glMapNamedBufferRangeEXT * @throws GLException if buffer mapping range does not fit, incl. offset MethodJavadoc glMapNamedBufferRangeEXT *
ManuallyImplement glUnmapNamedBufferEXT ForceProcAddressGen glUnmapNamedBufferEXT # Manuall implement glDebugMessageCallback* using the proc address resolver ForceProcAddressGen glDebugMessageCallback ForceProcAddressGen glDebugMessageCallbackAMD # 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 APIENTRY LocalProcAddressCallingConvention __ALL__ APIENTRY EmitProcAddressTable true ProcAddressTableClassName GL4bcProcAddressTable GetProcAddressTableExpr _pat # GetProcAddressTableExpr ((GL4bcProcAddressTable)_context.getGLProcAddressTable()) # Pick up on-line OpenGL javadoc thanks to user cylab on javagaming.org forums TagNativeBinding true # Ignore extensions that are already picked up via the GL2ES1 interface IgnoreExtension GL_EXT_point_parameters IncludeAs CustomJavaCode GL4bc gl4bc-common-cpubufferJavaCode.java # Add PixelStorei StateTracker CustomJavaCode GL4bcImpl private static final int params_offset = 0; // just a helper for JavaPrologue .. JavaPrologue glPixelStorei glStateTracker.setInt(pname, param); JavaPrologue glGetIntegerv if ( glStateTracker.getInt(pname, params, params_offset) ) { return; } JavaPrologue glFrustumf if ( !_context.hasFP32CompatAPI() ) { JavaPrologue glFrustumf glFrustum((double)l, (double)r, (double)b, (double)t, (double)n, (double)f); JavaPrologue glFrustumf return; JavaPrologue glFrustumf } JavaPrologue glOrthof if ( !_context.hasFP32CompatAPI() ) { JavaPrologue glOrthof glOrtho((double)l, (double)r, (double)b, (double)t, (double)n, (double)f); JavaPrologue glOrthof return; JavaPrologue glOrthof } JavaPrologue glDepthRangef if ( !_context.isGLES2Compatible() && !_context.hasFP32CompatAPI() ) { JavaPrologue glDepthRangef glDepthRange( (double)n, (double)f ); JavaPrologue glDepthRangef return; JavaPrologue glDepthRangef } JavaPrologue glClearDepthf if ( !_context.isGLES2Compatible() && !_context.hasFP32CompatAPI() ) { JavaPrologue glClearDepthf glClearDepth( (double)d ); JavaPrologue glClearDepthf return; JavaPrologue glClearDepthf } Include gl-headers.cfg IncludeAs CustomJavaCode GL4bcImpl gl-impl-CustomJavaCode-common.java IncludeAs CustomJavaCode GL4bcImpl gl-impl-CustomJavaCode-gl4bc.java IncludeAs CustomJavaCode GL4bcImpl gl-impl-CustomJavaCode-gl2_es2.java IncludeAs CustomCCode gl-impl-CustomCCode-gl4bc.c Import com.jogamp.opengl.GLES1 Import com.jogamp.opengl.GLES2 Import com.jogamp.opengl.GL2ES1 Import com.jogamp.opengl.GL2ES2 Import com.jogamp.opengl.GL2ES3 Import com.jogamp.opengl.GL3ES3 Import com.jogamp.opengl.GL4ES3 Import com.jogamp.opengl.GL2GL3 Import com.jogamp.opengl.GL2 Import com.jogamp.opengl.GL3 Import com.jogamp.opengl.GL3bc Import com.jogamp.opengl.GL4 Import com.jogamp.common.nio.Buffers Import com.jogamp.opengl.util.GLBuffers Import java.io.PrintStream