# 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 #Implements GL4bcImpl GL4bc implicit 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 4 functions to be redirected # to GLBufferObjectTracker. # # We cannot subsume/rename even parts of GL_EXT_direct_state_access, # since it is explcit stated in the spec that no assumption # shall be made in regards compatibility and interaction. # Hence we add both, GL 4.5 DSA and GL_EXT_direct_state_access. # DelegateImplementation glNamedBufferData glNamedBufferDataDelegate MethodJavadoc glNamedBufferData * <p> MethodJavadoc glNamedBufferData * Throws a {@link GLException} if GL-function constraints are not met or the native GL-function fails. MethodJavadoc glNamedBufferData * </p> MethodJavadoc glNamedBufferData * <p> MethodJavadoc glNamedBufferData * @throws GLException if size is less-than zero MethodJavadoc glNamedBufferData * @throws GLException if a native GL-Error occurs MethodJavadoc glNamedBufferData * </p> DelegateImplementation glNamedBufferDataEXT glNamedBufferDataEXTDelegate MethodJavadoc glNamedBufferDataEXT * <p> MethodJavadoc glNamedBufferDataEXT * Throws a {@link GLException} if GL-function constraints are not met or the native GL-function fails. MethodJavadoc glNamedBufferDataEXT * </p> MethodJavadoc glNamedBufferDataEXT * <p> MethodJavadoc glNamedBufferDataEXT * @throws GLException if size is less-than zero MethodJavadoc glNamedBufferDataEXT * @throws GLException if a native GL-Error occurs MethodJavadoc glNamedBufferDataEXT * </p> DelegateImplementation glBufferStorage glBufferStorageDelegate MethodJavadoc glBufferStorage * <p> MethodJavadoc glBufferStorage * Throws a {@link GLException} if GL-function constraints are not met or the native GL-function fails. MethodJavadoc glBufferStorage * </p> MethodJavadoc glBufferStorage * <p> MethodJavadoc glBufferStorage * @throws GLException if buffer is not bound to target MethodJavadoc glBufferStorage * @throws GLException if size is less-or-equal zero MethodJavadoc glBufferStorage * @throws GLException if a native GL-Error occurs MethodJavadoc glBufferStorage * </p> DelegateImplementation glNamedBufferStorage glNamedBufferStorageDelegate MethodJavadoc glNamedBufferStorage * <p> MethodJavadoc glNamedBufferStorage * Throws a {@link GLException} if GL-function constraints are not met or the native GL-function fails. MethodJavadoc glNamedBufferStorage * </p> MethodJavadoc glNamedBufferStorage * <p> MethodJavadoc glNamedBufferStorage * @throws GLException if buffer is not bound to target MethodJavadoc glNamedBufferStorage * @throws GLException if size is less-or-equal zero MethodJavadoc glNamedBufferStorage * @throws GLException if a native GL-Error occurs MethodJavadoc glNamedBufferStorage * </p> DelegateImplementation glNamedBufferStorageEXT glNamedBufferStorageEXTDelegate MethodJavadoc glNamedBufferStorageEXT * <p> MethodJavadoc glNamedBufferStorageEXT * Throws a {@link GLException} if GL-function constraints are not met or the native GL-function fails. MethodJavadoc glNamedBufferStorageEXT * </p> MethodJavadoc glNamedBufferStorageEXT * <p> MethodJavadoc glNamedBufferStorageEXT * @throws GLException if buffer is not bound to target MethodJavadoc glNamedBufferStorageEXT * @throws GLException if size is less-or-equal zero MethodJavadoc glNamedBufferStorageEXT * @throws GLException if a native GL-Error occurs MethodJavadoc glNamedBufferStorageEXT * </p> DelegateImplementation glMapNamedBuffer glMapNamedBufferDelegate ReturnsOpaque long glMapNamedBufferDelegate MethodJavadoc glMapNamedBuffer * <p> MethodJavadoc glMapNamedBuffer * Throws a {@link GLException} if GL-function constraints are not met. MethodJavadoc glMapNamedBuffer * </p> MethodJavadoc glMapNamedBuffer * <p> MethodJavadoc glMapNamedBuffer * Returns {@link GL2#mapNamedBuffer(int, int)}'s {@link GLBufferStorage#getMappedBuffer()}. MethodJavadoc glMapNamedBuffer * </p> MethodJavadoc glMapNamedBuffer * <p> MethodJavadoc glMapNamedBuffer * @throws GLException if buffer is not tracked MethodJavadoc glMapNamedBuffer * @throws GLException if buffer is already mapped MethodJavadoc glMapNamedBuffer * @throws GLException if buffer has invalid store size, i.e. less-than zero MethodJavadoc glMapNamedBuffer * </p> DelegateImplementation glMapNamedBufferEXT glMapNamedBufferEXTDelegate ReturnsOpaque long glMapNamedBufferEXTDelegate MethodJavadoc glMapNamedBufferEXT * <p> MethodJavadoc glMapNamedBufferEXT * Throws a {@link GLException} if GL-function constraints are not met. MethodJavadoc glMapNamedBufferEXT * </p> MethodJavadoc glMapNamedBufferEXT * <p> MethodJavadoc glMapNamedBufferEXT * Returns {@link GL2#mapNamedBuffer(int, int)}'s {@link GLBufferStorage#getMappedBuffer()}. MethodJavadoc glMapNamedBufferEXT * </p> MethodJavadoc glMapNamedBufferEXT * <p> 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 * </p> DelegateImplementation glMapNamedBufferRange glMapNamedBufferRangeDelegate ReturnsOpaque long glMapNamedBufferRangeDelegate MethodJavadoc glMapNamedBufferRange * <p> MethodJavadoc glMapNamedBufferRange * Throws a {@link GLException} if GL-function constraints are not met. MethodJavadoc glMapNamedBufferRange * </p> MethodJavadoc glMapNamedBufferRange * <p> MethodJavadoc glMapNamedBufferRange * Returns {@link GL2#mapNamedBufferRange(int, long, long, int)}'s {@link GLBufferStorage#getMappedBuffer()}. MethodJavadoc glMapNamedBufferRange * </p> MethodJavadoc glMapNamedBufferRange * <p> MethodJavadoc glMapNamedBufferRange * @throws GLException if buffer is not tracked MethodJavadoc glMapNamedBufferRange * @throws GLException if buffer is already mapped MethodJavadoc glMapNamedBufferRange * @throws GLException if buffer has invalid store size, i.e. less-than zero MethodJavadoc glMapNamedBufferRange * @throws GLException if buffer mapping range does not fit, incl. offset MethodJavadoc glMapNamedBufferRange * </p> DelegateImplementation glMapNamedBufferRangeEXT glMapNamedBufferRangeEXTDelegate ReturnsOpaque long glMapNamedBufferRangeEXTDelegate MethodJavadoc glMapNamedBufferRangeEXT * <p> MethodJavadoc glMapNamedBufferRangeEXT * Throws a {@link GLException} if GL-function constraints are not met. MethodJavadoc glMapNamedBufferRangeEXT * </p> MethodJavadoc glMapNamedBufferRangeEXT * <p> MethodJavadoc glMapNamedBufferRangeEXT * Returns {@link GL2#mapNamedBufferRange(int, long, long, int)}'s {@link GLBufferStorage#getMappedBuffer()}. MethodJavadoc glMapNamedBufferRangeEXT * </p> MethodJavadoc glMapNamedBufferRangeEXT * <p> 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 * </p> DelegateImplementation glUnmapNamedBuffer glUnmapNamedBufferDelegate DelegateImplementation glUnmapNamedEXTBuffer glUnmapNamedEXTBufferDelegate # Manual 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