diff options
Diffstat (limited to 'make/gl-common.cfg')
-rw-r--r-- | make/gl-common.cfg | 692 |
1 files changed, 0 insertions, 692 deletions
diff --git a/make/gl-common.cfg b/make/gl-common.cfg deleted file mode 100644 index 01afbd8b1..000000000 --- a/make/gl-common.cfg +++ /dev/null @@ -1,692 +0,0 @@ -# This .cfg file provides common options used among all glue code -# generated for Jogl on all platforms. - -# Raise GLException instead of RuntimeException in glue code -RuntimeExceptionType GLException - -# Imports needed by all glue code -Import java.util.* -Import javax.media.opengl.* -Import com.sun.opengl.impl.* - -# 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. -Ignore GL_VERSION_.+ - -# Don't output #defines of GL name strings as constants, because we -# don't need them java-side. -# Format of name strings is found at: -# http://oss.sgi.com/projects/ogl-sample/registry/doc/template.txt - -Ignore (GL|GLU|GLX|WGL|AGL|CGL)_EXT_.+ -Ignore (GL|GLU|GLX|WGL|AGL|CGL)_ARB_.+ -Ignore (GL|GLU|GLX|WGL|AGL|CGL)_PGI_.+ -Ignore (GL|GLU|GLX|WGL|AGL|CGL)_SGI_.+ -Ignore (GL|GLU|GLX|WGL|AGL|CGL)_SGIS_.+ -Ignore (GL|GLU|GLX|WGL|AGL|CGL)_SGIX_.+ -Ignore (GL|GLU|GLX|WGL|AGL|CGL)_MESA_.+ -Ignore (GL|GLU|GLX|WGL|AGL|CGL)_HP_.+ -Ignore (GL|GLU|GLX|WGL|AGL|CGL)_ATI_.+ -Ignore (GL|GLU|GLX|WGL|AGL|CGL)_NV_.+ -Ignore (GL|GLU|GLX|WGL|AGL|CGL)_IBM_.+ -Ignore (GL|GLU|GLX|WGL|AGL|CGL)_WIN_.+ -Ignore (GL|GLU|GLX|WGL|AGL|CGL)_REND_.+ -Ignore (GL|GLU|GLX|WGL|AGL|CGL)_APPLE_.+ -Ignore (GL|GLU|GLX|WGL|AGL|CGL)_INTEL_.+ -Ignore (GL|GLU|GLX|WGL|AGL|CGL)_INGR_.+ -Ignore (GL|GLU|GLX|WGL|AGL|CGL)_SUN_.+ -Ignore (GL|GLU|GLX|WGL|AGL|CGL)_SUNX_.+ -Ignore (GL|GLU|GLX|WGL|AGL|CGL)_3DFX_.+ -Ignore (GL|GLU|GLX|WGL|AGL|CGL)_OML_.+ -Ignore (GL|GLU|GLX|WGL|AGL|CGL)_I3D_.+ -Ignore (GL|GLU|GLX|WGL|AGL|CGL)_S3_.+ -Ignore GL_KTX_buffer_region - -# Ignore GL functions that deal with explicit pointer values in such a -# way that we cannot implement the functionality in Java -Ignore glGetBufferPointerv -Ignore glGetBufferPointervARB -Ignore glGetPointerv -Ignore glGetPointervEXT -Ignore glGetTexParameterPointervAPPLE -Ignore glGetVertexAttribPointerv -Ignore glGetVertexAttribPointervARB -Ignore glGetVertexAttribPointervNV -Ignore glTracePointerRangeMESA - -# Manually implement glMapBuffer and glMapBufferARB as the size of the returned buffer -# can only be computed by calling another routine -ManuallyImplement glMapBuffer -ManuallyImplement glMapBufferARB - -# Ignore the ATI_map_object_buffer extension for now unless someone -# claims they need it, as it will undoubtedly require a similar -# construct to glMapBuffer/glMapBufferARB -Ignore glMapObjectBufferATI -Ignore glUnmapObjectBufferATI - -# Ignore some GL functions that have outgoing void** parameters; we cannot yet deal with them -Ignore glGetVariantPointervEXT - -# 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. -# WGL_ARB_buffer_region -Ignore wglCreateBufferRegionARB -Ignore wglDeleteBufferRegionARB -Ignore wglSaveBufferRegionARB -Ignore wglRestoreBufferRegionARB -Ignore wglGetSyncValuesOML -Ignore wglGetMscRateOML -Ignore wglSwapBuffersMscOML -Ignore wglSwapLayerBuffersMscOML -Ignore wglWaitForMscOML -Ignore wglWaitForSbcOML -Ignore wglGetDigitalVideoParametersI3D -Ignore wglSetDigitalVideoParametersI3D -Ignore wglGetGammaTableParametersI3D -Ignore wglSetGammaTableParametersI3D -Ignore wglGetGammaTableI3D -Ignore wglSetGammaTableI3D -Ignore wglEnableGenlockI3D -Ignore wglDisableGenlockI3D -Ignore wglIsEnabledGenlockI3D -Ignore wglGenlockSourceI3D -Ignore wglGetGenlockSourceI3D -Ignore wglGenlockSourceEdgeI3D -Ignore wglGetGenlockSourceEdgeI3D -Ignore wglGenlockSampleRateI3D -Ignore wglGetGenlockSampleRateI3D -Ignore wglGenlockSourceDelayI3D -Ignore wglGetGenlockSourceDelayI3D -Ignore wglQueryGenlockMaxSourceDelayI3D -Ignore wglCreateImageBufferI3D -Ignore wglDestroyImageBufferI3D -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 -# - -Opaque boolean GLboolean -ReturnsString glGetString - -# -# NIODirectOnly directives for vertex arrays and other core routines -# -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 -# -NIODirectOnly glColorPointerEXT -NIODirectOnly glEdgeFlagPointerEXT -NIODirectOnly glIndexPointerEXT -NIODirectOnly glNormalPointerEXT -NIODirectOnly glTexCoordPointerEXT -NIODirectOnly glVertexPointerEXT -# -# NIODirectOnly directives for other extensions -# -NIODirectOnly glBinormalPointerEXT -NIODirectOnly glGetBufferSubDataARB -# FIXME: should add way to restrict argument to be a direct ByteBuffer -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 -ReturnValueCapacity wglAllocateMemoryNV {0} -ReturnValueCapacity glXAllocateMemoryNV {0} - -# Pass arguments to ARB_vertex_program, ARB_fragment_program, -# ARB_shader_objects, NV_vertex_program, NV_fragment_program, and -# ARB_vertex_shader as Strings -ArgumentIsString glLoadProgramNV 3 -ArgumentIsString glProgramStringARB 3 -ArgumentIsString glProgramNamedParameter4fNV 2 -ArgumentIsString glProgramNamedParameter4dNV 2 -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; -JavaEpilogue glBindBuffer bufferStateTracker.setBoundBufferObject({0}, {1}); -JavaEpilogue glBindBufferARB bufferStateTracker.setBoundBufferObject({0}, {1}); -JavaEpilogue glPushClientAttrib bufferStateTracker.clearBufferObjectState(); -JavaEpilogue glPopClientAttrib bufferStateTracker.clearBufferObjectState(); -JavaEpilogue glBufferData bufferSizeTracker.setBufferSize(bufferStateTracker, {0}, this, {1}); -JavaEpilogue glBufferDataARB bufferSizeTracker.setBufferSize(bufferStateTracker, {0}, this, {1}); -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 - -# Range check directives for various routines -# FIXME: some of these are really the bare minimum and won't catch -# many classes of errors. Should extend the DebugGL to perform much -# more error checking with e.g. glDrawElements. -RangeCheck glColorPointer 3 1 -RangeCheck glDrawElements 3 {1} -RangeCheck glDrawRangeElements 5 {3} -RangeCheck glEdgeFlagPointer 1 1 -RangeCheck glElementPointerATI 1 1 -RangeCheck glFogCoordPointer 2 1 -RangeCheck glFogCoordPointerEXT 2 1 -RangeCheck glInterleavedArrays 2 1 -RangeCheck glMatrixIndexPointerARB 3 1 -RangeCheck glNormalPointer 2 1 -RangeCheck glSecondaryColorPointer 3 1 -RangeCheck glSecondaryColorPointerEXT 3 1 -RangeCheck glTexCoordPointer 3 1 -RangeCheck glVariantPointerEXT 3 1 -RangeCheck glVertexPointer 3 1 -RangeCheck glVertexAttribPointer 5 1 -RangeCheck glVertexAttribPointerARB 5 1 -RangeCheck glWeightPointerARB 3 1 - -# Range check directives for various image-related routines -RangeCheckBytes glColorTable 5 imageSizeInBytes({3}, {4}, {2} , 1 , 1) -RangeCheckBytes glColorTableEXT 5 imageSizeInBytes({3}, {4}, {2} , 1 , 1) -RangeCheckBytes glConvolutionFilter1D 5 imageSizeInBytes({3}, {4}, {2} , 1 , 1) -RangeCheckBytes glConvolutionFilter2D 6 imageSizeInBytes({4}, {5}, {2} , {3} , 1) -RangeCheckBytes glDrawPixels 4 imageSizeInBytes({2}, {3}, {0} , {1} , 1) -RangeCheckBytes glReadPixels 6 imageSizeInBytes({4}, {5}, {2} , {3} , 1) -RangeCheckBytes glTexImage1D 7 imageSizeInBytes({5}, {6}, {3} , 1 , 1) -RangeCheckBytes glTexImage2D 8 imageSizeInBytes({6}, {7}, {3} , {4} , 1) -RangeCheckBytes glTexImage3D 9 imageSizeInBytes({7}, {8}, {3} , {4} , {5}) -RangeCheckBytes glTexSubImage1D 6 imageSizeInBytes({4}, {5}, {3} , 1 , 1) -RangeCheckBytes glTexSubImage2D 8 imageSizeInBytes({6}, {7}, {4} , {5} , 1) -RangeCheckBytes glTexSubImage3D 10 imageSizeInBytes({8}, {9}, {5} , {6} , {7}) -# Note we don't support glTexImage4DSGIS / glTexSubImage4DSGIS - -# Not simple to produce good range checks for these as we would need -# to query the pipeline to see the size of the returned data before -# fetching it -# RangeCheckBytes glGetTexImage - -# Range checks for server-side object creation and deletion methods -RangeCheck glGenBuffers 1 {0} -RangeCheck glDeleteBuffers 1 {0} -RangeCheck glGenBuffersARB 1 {0} -RangeCheck glDeleteBuffersARB 1 {0} -RangeCheck glGenFencesAPPLE 1 {0} -RangeCheck glDeleteFencesAPPLE 1 {0} -RangeCheck glGenFencesNV 1 {0} -RangeCheck glDeleteFencesNV 1 {0} -RangeCheck glGenFramebuffersEXT 1 {0} -RangeCheck glDeleteFramebuffersEXT 1 {0} -RangeCheck glGenOcclusionQueriesNV 1 {0} -RangeCheck glDeleteOcclusionQueriesNV 1 {0} -RangeCheck glGenProgramsARB 1 {0} -RangeCheck glDeleteProgramsARB 1 {0} -RangeCheck glGenProgramsNV 1 {0} -RangeCheck glDeleteProgramsNV 1 {0} -RangeCheck glGenQueries 1 {0} -RangeCheck glDeleteQueries 1 {0} -RangeCheck glGenQueriesARB 1 {0} -RangeCheck glDeleteQueriesARB 1 {0} -RangeCheck glGenRenderbuffersEXT 1 {0} -RangeCheck glDeleteRenderbuffersEXT 1 {0} -RangeCheck glGenTextures 1 {0} -RangeCheck glDeleteTextures 1 {0} -RangeCheck glGenVertexArraysAPPLE 1 {0} -RangeCheck glDeleteVertexArraysAPPLE 1 {0} - -# Track server-side object creation and deletion when necessary -JavaEpilogue glGenBuffers if (tracker != null) tracker.addBuffers({0}, {1}); -JavaEpilogue glGenBuffersARB if (tracker != null) tracker.addBuffersARB({0}, {1}); -JavaEpilogue glGenFencesAPPLE if (tracker != null) tracker.addFencesAPPLE({0}, {1}); -JavaEpilogue glGenFencesNV if (tracker != null) tracker.addFencesNV({0}, {1}); -JavaEpilogue glGenFragmentShadersATI if (tracker != null) tracker.addFragmentShadersATI(_res, {0}); -JavaEpilogue glGenFramebuffersEXT if (tracker != null) tracker.addFramebuffersEXT({0}, {1}); -JavaEpilogue glGenLists if (tracker != null) tracker.addLists(_res, {0}); -JavaEpilogue glGenOcclusionQueriesNV if (tracker != null) tracker.addOcclusionQueriesNV({0}, {1}); -JavaEpilogue glCreateProgram if (tracker != null) tracker.addProgramObject(_res); -JavaEpilogue glCreateProgramObjectARB if (tracker != null) tracker.addProgramObjectARB(_res); -JavaEpilogue glGenProgramsARB if (tracker != null) tracker.addProgramsARB({0}, {1}); -JavaEpilogue glGenProgramsNV if (tracker != null) tracker.addProgramsNV({0}, {1}); -JavaEpilogue glGenQueries if (tracker != null) tracker.addQueries({0}, {1}); -JavaEpilogue glGenQueriesARB if (tracker != null) tracker.addQueriesARB({0}, {1}); -JavaEpilogue glGenRenderbuffersEXT if (tracker != null) tracker.addRenderbuffersEXT({0}, {1}); -JavaEpilogue glCreateShader if (tracker != null) tracker.addShaderObject(_res); -JavaEpilogue glCreateShaderObjectARB if (tracker != null) tracker.addShaderObjectARB(_res); -JavaEpilogue glGenTextures if (tracker != null) tracker.addTextures({0}, {1}); -JavaEpilogue glGenVertexArraysAPPLE if (tracker != null) tracker.addVertexArraysAPPLE({0}, {1}); -JavaEpilogue glGenVertexShadersEXT if (tracker != null) tracker.addVertexShadersEXT(_res, {0}); - -JavaEpilogue glDeleteBuffers if (tracker != null) tracker.removeBuffers({0}, {1}); -JavaEpilogue glDeleteBuffersARB if (tracker != null) tracker.removeBuffersARB({0}, {1}); -JavaEpilogue glDeleteFencesAPPLE if (tracker != null) tracker.removeFencesAPPLE({0}, {1}); -JavaEpilogue glDeleteFencesNV if (tracker != null) tracker.removeFencesNV({0}, {1}); -JavaEpilogue glDeleteFragmentShaderATI if (tracker != null) tracker.removeFragmentShaderATI({0}); -JavaEpilogue glDeleteFramebuffersEXT if (tracker != null) tracker.removeFramebuffersEXT({0}, {1}); -JavaEpilogue glDeleteLists if (tracker != null) tracker.removeLists({0}, {1}); -JavaEpilogue glDeleteOcclusionQueriesNV if (tracker != null) tracker.removeOcclusionQueriesNV({0}, {1}); -JavaEpilogue glDeleteProgram if (tracker != null) tracker.removeProgramObject({0}); -JavaEpilogue glDeleteObjectARB if (tracker != null) tracker.removeProgramOrShaderObjectARB({0}); -JavaEpilogue glDeleteProgramsARB if (tracker != null) tracker.removeProgramsARB({0}, {1}); -JavaEpilogue glDeleteProgramsNV if (tracker != null) tracker.removeProgramsNV({0}, {1}); -JavaEpilogue glDeleteQueries if (tracker != null) tracker.removeQueries({0}, {1}); -JavaEpilogue glDeleteQueriesARB if (tracker != null) tracker.removeQueriesARB({0}, {1}); -JavaEpilogue glDeleteRenderbuffersEXT if (tracker != null) tracker.removeRenderbuffersEXT({0}, {1}); -JavaEpilogue glDeleteShader if (tracker != null) tracker.removeShaderObject({0}); -JavaEpilogue glDeleteTextures if (tracker != null) tracker.removeTextures({0}, {1}); -JavaEpilogue glDeleteVertexArraysAPPLE if (tracker != null) tracker.removeVertexArraysAPPLE({0}, {1}); -JavaEpilogue glDeleteVertexShaderEXT if (tracker != null) tracker.removeVertexShaderEXT({0}); - - -# Javadoc for the GL class -ClassJavadoc GL /** -ClassJavadoc GL * <P> The basic interface to OpenGL, providing access to core -ClassJavadoc GL * functionality up through the OpenGL 2.0 specification as well as -ClassJavadoc GL * all vendor extensions. </P> -ClassJavadoc GL * -ClassJavadoc GL * <P> While the APIs for vendor extensions are unconditionally -ClassJavadoc GL * exposed, the underlying functions may not be present. The method -ClassJavadoc GL * {@link #isFunctionAvailable} should be used to query the -ClassJavadoc GL * availability of any non-core function before it is used for the -ClassJavadoc GL * first time; for example, -ClassJavadoc GL * <code>gl.isFunctionAvailable("glProgramStringARB")</code>. On -ClassJavadoc GL * certain platforms (Windows in particular), the most "core" -ClassJavadoc GL * functionality is only OpenGL 1.1, so in theory any routines first -ClassJavadoc GL * exposed in OpenGL 1.2, 1.3, and 1.4, 1.5, or 2.0 as well as vendor -ClassJavadoc GL * extensions should all be queried. Calling an unavailable function -ClassJavadoc GL * will cause a {@link GLException} to be raised. </P> -ClassJavadoc GL * -ClassJavadoc GL * {@link #isExtensionAvailable} may also be used to determine whether -ClassJavadoc GL * a specific extension is available before calling the routines or -ClassJavadoc GL * using the functionality it exposes: for example, -ClassJavadoc GL * <code>gl.isExtensionAvailable("GL_ARB_vertex_program");</code>. -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. It may also be used to test for the availability of a -ClassJavadoc GL * particular version of OpenGL: for example, -ClassJavadoc GL * <code>gl.isExtensionAvailable("GL_VERSION_1_5");</code>. -ClassJavadoc GL * -ClassJavadoc GL * <P> Exceptions to the window system extension naming rules: -ClassJavadoc GL * -ClassJavadoc GL * <UL> -ClassJavadoc GL * -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 -ClassJavadoc GL * platform-specific pbuffer functionality; the availability of -ClassJavadoc GL * pbuffers can be queried on Windows, X11 and Mac OS X platforms by -ClassJavadoc GL * querying {@link #isExtensionAvailable} with an argument of -ClassJavadoc GL * "GL_ARB_pbuffer" or "GL_ARB_pixel_format". -ClassJavadoc GL * -ClassJavadoc GL * </UL> <P> -ClassJavadoc GL * -ClassJavadoc GL */ - -# Javadoc for the WGL class -ClassJavadoc WGL /** -ClassJavadoc WGL * Provides access to the Windows-specific OpenGL vendor extensions. -ClassJavadoc WGL * See {@link GL} for more information. -ClassJavadoc WGL */ - -# Javadoc for the GLX class -ClassJavadoc GLX /** -ClassJavadoc GLX * Provides access to the X11-specific OpenGL vendor extensions. -ClassJavadoc GLX * See {@link GL} for more information. -ClassJavadoc GLX */ - -# Javadoc for the CGL class -ClassJavadoc CGL /** -ClassJavadoc CGL * Provides access to the MacOSX-specific OpenGL vendor extensions. -ClassJavadoc CGL * See {@link GL} for more information. -ClassJavadoc CGL */ - -# Javadoc for the XVisualInfo class -ClassJavadoc XVisualInfo /** -ClassJavadoc XVisualInfo * Wrapper for the XVisualInfo data structure, referenced by some GLX OpenGL -ClassJavadoc XVisualInfo * extensions. No other access is provided to these data structures so currently -ClassJavadoc XVisualInfo * this wrapper is not useful to end users, though it is used in the implementation. -ClassJavadoc XVisualInfo */ - -# Custom code for querying extensions and exposing -# wglAllocateMemoryNV/glXAllocateMemoryNV -CustomJavaCode GL /** -CustomJavaCode GL * Returns true if the specified OpenGL core- or extension-function can be -CustomJavaCode GL * used successfully through this GL instance given the current host (OpenGL -CustomJavaCode GL * <i>client</i>) and display (OpenGL <i>server</i>) configuration.<P> -CustomJavaCode GL * By "successfully" we mean that the function is both <i>callable</i> -CustomJavaCode GL * on the machine running the program and <i>available</i> on the current -CustomJavaCode GL * display.<P> -CustomJavaCode GL * -CustomJavaCode GL * In order to call a function successfully, the function must be both -CustomJavaCode GL * <i>callable</i> on the machine running the program and <i>available</i> on -CustomJavaCode GL * the display device that is rendering the output (note: on non-networked, -CustomJavaCode GL * single-display machines these two conditions are identical; on networked and/or -CustomJavaCode GL * multi-display machines this becomes more complicated). These conditions are -CustomJavaCode GL * met if the function is either part of the core OpenGL version supported by -CustomJavaCode GL * both the host and display, or it is an OpenGL extension function that both -CustomJavaCode GL * the host and display support. <P> -CustomJavaCode GL * -CustomJavaCode GL * A GL function is <i>callable</i> if it is statically linked, or can be -CustomJavaCode GL * dynamically linked at runtime. -CustomJavaCode GL * -CustomJavaCode GL * Whether or not a GL function is <i>available</i> is determined as follows: -CustomJavaCode GL * <ul> -CustomJavaCode GL * <li>If the function is an OpenGL core function (i.e., not an -CustomJavaCode GL * extension), <code>glGetString(GL_VERSION)</code> is used to determine the -CustomJavaCode GL * version number of the highest OpenGL specification version that both host -CustomJavaCode GL * and display support, and then the function name is cross-referenced -CustomJavaCode GL * with that specification version to see if it is part of that version. - -CustomJavaCode GL * <li> If the function is an OpenGL extension, the function name is -CustomJavaCode GL * cross-referenced with the list returned by -CustomJavaCode GL * <code>glGetString(GL_EXTENSIONS)</code> to see if the function is one of -CustomJavaCode GL * the extensions that is supported on both host and display. -CustomJavaCode GL * </ul> -CustomJavaCode GL * -CustomJavaCode GL * <b>NOTE:</b>The availability of a function may change at runtime in -CustomJavaCode GL * response to changes in the display environment. For example, when a window -CustomJavaCode GL * is dragged from one display to another on a multi-display system, or when -CustomJavaCode GL * the properties of the display device are modified (e.g., changing the color -CustomJavaCode GL * depth of the display). Any application that is concerned with handling -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(GLAutoDrawable,boolean,boolean)}. -CustomJavaCode GL * -CustomJavaCode GL * @param glFunctionName the name of the OpenGL function (e.g., use -CustomJavaCode GL * "glBindRenderbufferEXT" to check if {@link -CustomJavaCode GL * #glBindRenderbufferEXT(int,int)} is available). -CustomJavaCode GL */ -CustomJavaCode GL public boolean isFunctionAvailable(String glFunctionName); - -CustomJavaCode GL /** -CustomJavaCode GL * Returns true if the specified OpenGL extension can be -CustomJavaCode GL * used successfully through this GL instance given the current host (OpenGL -CustomJavaCode GL * <i>client</i>) and display (OpenGL <i>server</i>) configuration.<P> -CustomJavaCode GL * -CustomJavaCode GL * @param glExtensionName the name of the OpenGL extension (e.g., -CustomJavaCode GL * "GL_ARB_vertex_program"). -CustomJavaCode GL */ -CustomJavaCode GL public boolean isExtensionAvailable(String glExtensionName); - -CustomJavaCode GL /** -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); - -CustomJavaCode GL /** Provides a platform-independent way to specify the minimum swap -CustomJavaCode GL interval for buffer swaps. An argument of 0 disables -CustomJavaCode GL sync-to-vertical-refresh completely, while an argument of 1 -CustomJavaCode GL causes the application to wait until the next vertical refresh -CustomJavaCode GL until swapping buffers. The default, which is platform-specific, -CustomJavaCode GL is usually either 0 or 1. This function is not guaranteed to -CustomJavaCode GL have an effect, and in particular only affects heavyweight -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 -# -Opaque boolean BOOL -ReturnsString wglGetExtensionsStringARB -ReturnsString wglGetExtensionsStringEXT -Opaque long HANDLE -Opaque long HBITMAP -Opaque long HDC -Opaque long HGDIOBJ -Opaque long HGLRC -Opaque long HPBUFFERARB -Opaque long HPBUFFEREXT -Opaque boolean BOOL -Opaque long PROC -Opaque long void ** - -# -# Directives needed when processing cglext.h on MacOSX and other platforms -# -Opaque long CGContextRef -Opaque long void ** -# Implement the first argument to cglGetProcAddress as String instead -# of byte[] -ArgumentIsString cglGetProcAddress 0 - -# -# Directives needed when processing glxext.h on X11 and other platforms -# -Opaque long __GLXextFuncPtr -Opaque boolean Bool -Opaque long Display * -Opaque long GLXContext -Opaque long Visual * -# Ignore the empty Display and Visual data structures (though made -# opaque, the references from XVisualInfo and elsewhere are still -# traversed) -Ignore Display -Ignore Visual -# Implement the first argument to glXGetProcAddress as String instead -# of byte[] -ArgumentIsString glXGetProcAddress 0 -ArgumentIsString glXGetProcAddressARB 0 -ReturnsString glXQueryExtensionsString -ReturnsString glXQueryServerString -ReturnsString glXGetClientString -TemporaryCVariableDeclaration glXChooseFBConfig int count; -TemporaryCVariableAssignment glXChooseFBConfig count = _ptr3[0]; -ReturnValueLength glXChooseFBConfig count -TemporaryCVariableDeclaration glXChooseFBConfigSGIX int count; -TemporaryCVariableAssignment glXChooseFBConfigSGIX count = _ptr3[0]; -ReturnValueLength glXChooseFBConfigSGIX count -TemporaryCVariableDeclaration glXGetFBConfigs int count; -TemporaryCVariableAssignment glXGetFBConfigs count = _ptr2[0]; -ReturnValueLength glXGetFBConfigs count |