JOGL v2.6.0-rc-20250712
JOGL, High-Performance Graphics Binding for Java™ (public API).
com.jogamp.opengl.GLBase Interface Reference
Inheritance diagram for com.jogamp.opengl.GLBase:
Collaboration diagram for com.jogamp.opengl.GLBase:

Public Member Functions

boolean isGL ()
 Indicates whether this GL object conforms to any of the OpenGL profiles. More...
 
boolean isGL4bc ()
 Indicates whether this GL object conforms to the OpenGL ≥ 4.0 compatibility profile. More...
 
boolean isGL4 ()
 Indicates whether this GL object conforms to the OpenGL ≥ 4.0 core profile. More...
 
boolean isGL3bc ()
 Indicates whether this GL object conforms to the OpenGL ≥ 3.1 compatibility profile. More...
 
boolean isGL3 ()
 Indicates whether this GL object conforms to the OpenGL ≥ 3.1 core profile. More...
 
boolean isGL2 ()
 Indicates whether this GL object conforms to the OpenGL ≤ 3.0 profile. More...
 
boolean isGLES1 ()
 Indicates whether this GL object conforms to the OpenGL ES ≥ 1.0 profile. More...
 
boolean isGLES2 ()
 Indicates whether this GL object conforms to the OpenGL ES ≥ 2.0 profile. More...
 
boolean isGLES3 ()
 Indicates whether this GL object conforms to the OpenGL ES ≥ 3.0 profile. More...
 
boolean isGLES ()
 Indicates whether this GL object conforms to one of the OpenGL ES profiles, see isGLES1(), isGLES2() and isGLES3(). More...
 
boolean isGL2ES1 ()
 Indicates whether this GL object conforms to a GL2ES1 compatible profile. More...
 
boolean isGL2ES2 ()
 Indicates whether this GL object conforms to a GL2ES2 compatible profile. More...
 
boolean isGL2ES3 ()
 Indicates whether this GL object conforms to a either a GL2GL3 or GL3ES3 compatible profile. More...
 
boolean isGL3ES3 ()
 Indicates whether this GL object conforms to a GL3ES3 compatible profile. More...
 
boolean isGL4ES3 ()
 Returns true if this GL object conforms to a GL4ES3 compatible profile, i.e. More...
 
boolean isGL2GL3 ()
 Indicates whether this GL object conforms to a GL2GL3 compatible profile. More...
 
boolean isGL4core ()
 Indicates whether this GL object uses a GL4 core profile. More...
 
boolean isGL3core ()
 Indicates whether this GL object uses a GL3 core profile. More...
 
boolean isGLcore ()
 Indicates whether this GL object uses a GL core profile. More...
 
boolean isGLES2Compatible ()
 Indicates whether this GL object is compatible with the core OpenGL ES2 functionality. More...
 
boolean isGLES3Compatible ()
 Indicates whether this GL object is compatible with the core OpenGL ES3 functionality. More...
 
boolean isGLES31Compatible ()
 Indicates whether this GL object is compatible with the core OpenGL ES3.1 functionality. More...
 
boolean isGLES32Compatible ()
 Indicates whether this GL object is compatible with the core OpenGL ES3.2 functionality. More...
 
boolean hasGLSL ()
 Indicates whether this GL object supports GLSL. More...
 
GL getDownstreamGL () throws GLException
 Returns the downstream GL instance in case this is a wrapping pipeline, otherwise null. More...
 
GL getRootGL () throws GLException
 Returns the implementing root instance, considering a wrapped pipelined hierarchy, see getDownstreamGL(). More...
 
GL getGL () throws GLException
 Casts this object to the GL interface. More...
 
GL4bc getGL4bc () throws GLException
 Casts this object to the GL4bc interface. More...
 
GL4 getGL4 () throws GLException
 Casts this object to the GL4 interface. More...
 
GL3bc getGL3bc () throws GLException
 Casts this object to the GL3bc interface. More...
 
GL3 getGL3 () throws GLException
 Casts this object to the GL3 interface. More...
 
GL2 getGL2 () throws GLException
 Casts this object to the GL2 interface. More...
 
GLES1 getGLES1 () throws GLException
 Casts this object to the GLES1 interface. More...
 
GLES2 getGLES2 () throws GLException
 Casts this object to the GLES2 interface. More...
 
GLES3 getGLES3 () throws GLException
 Casts this object to the GLES3 interface. More...
 
GL2ES1 getGL2ES1 () throws GLException
 Casts this object to the GL2ES1 interface. More...
 
GL2ES2 getGL2ES2 () throws GLException
 Casts this object to the GL2ES2 interface. More...
 
GL2ES3 getGL2ES3 () throws GLException
 Casts this object to the GL2ES3 interface. More...
 
GL3ES3 getGL3ES3 () throws GLException
 Casts this object to the GL3ES3 interface. More...
 
GL4ES3 getGL4ES3 () throws GLException
 Casts this object to the GL4ES3 interface. More...
 
GL2GL3 getGL2GL3 () throws GLException
 Casts this object to the GL2GL3 interface. More...
 
GLProfile getGLProfile ()
 Returns the GLProfile associated with this GL object. More...
 
GLContext getContext ()
 Returns the GLContext associated which this GL object. More...
 
boolean isFunctionAvailable (String glFunctionName)
 Returns true if the specified OpenGL core- or extension-function can be used successfully through this GL instance given the current host (OpenGL client) and display (OpenGL server) configuration. More...
 
boolean isExtensionAvailable (String glExtensionName)
 Returns true if the specified OpenGL extension can be used successfully through this GL instance given the current host (OpenGL client) and display (OpenGL server) configuration. More...
 
boolean hasBasicFBOSupport ()
 Returns true if basic FBO support is available, otherwise false. More...
 
boolean hasFullFBOSupport ()
 Returns true if full FBO support is available, otherwise false. More...
 
int getMaxRenderbufferSamples ()
 Returns the maximum number of FBO RENDERBUFFER samples if full FBO is supported, otherwise false. More...
 
boolean isNPOTTextureAvailable ()
 Returns true if the GL context supports non power of two (NPOT) textures, otherwise false. More...
 
boolean isTextureFormatBGRA8888Available ()
 
void setSwapInterval (int interval) throws GLException
 Set the swap interval of the current context and attached onscreen GLDrawable. More...
 
int getSwapInterval ()
 Return the current swap interval. More...
 
Object getPlatformGLExtensions ()
 Returns an object through which platform-specific OpenGL extensions (EGL, GLX, WGL, etc.) may be accessed. More...
 
Object getExtension (String extensionName)
 Returns an object providing access to the specified OpenGL extension. More...
 
void glClearDepth (double depth)
 Aliased entrypoint of void {@native glClearDepth}(GLclampd depth); and void {@native glClearDepthf}(GLclampf depth); . More...
 
void glDepthRange (double zNear, double zFar)
 Aliased entrypoint of void {@native glDepthRange}(GLclampd depth); and void {@native glDepthRangef}(GLclampf depth); . More...
 
int getBoundBuffer (int target)
 
GLBufferStorage getBufferStorage (int bufferName)
 
GLBufferStorage mapBuffer (int target, int access) throws GLException
 Returns the GLBufferStorage instance as mapped via OpenGL's native glMapBuffer(..) implementation. More...
 
GLBufferStorage mapBufferRange (final int target, final long offset, final long length, final int access) throws GLException
 Returns the GLBufferStorage instance as mapped via OpenGL's native glMapBufferRange(..) implementation. More...
 
boolean isVBOArrayBound ()
 
boolean isVBOElementArrayBound ()
 
int getBoundFramebuffer (int target)
 Return the framebuffer name bound to this context, see GL#glBindFramebuffer(int, int). More...
 
int getDefaultDrawFramebuffer ()
 Return the default draw framebuffer name. More...
 
int getDefaultReadFramebuffer ()
 Return the default read framebuffer name. More...
 
int getDefaultDrawBuffer ()
 Returns the default color buffer within the current bound getDefaultReadFramebuffer(), i.e. More...
 
int getDefaultReadBuffer ()
 Returns the default color buffer within the current bound getDefaultReadFramebuffer(), i.e. More...
 

Detailed Description

The base interface from which all GL profiles derive, providing checked conversion down to concrete profiles, access to the OpenGL context associated with the GL and extension/function availability queries as described below.

While the APIs for vendor extensions are unconditionally exposed, the underlying functions may not be present. The method isFunctionAvailable should be used to query the availability of any non-core function before it is used for the first time; for example, gl.isFunctionAvailable("glProgramStringARB"). On certain platforms (Windows in particular), the most "core" functionality is only OpenGL 1.1, so in theory any routines first exposed in OpenGL 1.2, 1.3, and 1.4, 1.5, or 2.0 as well as vendor extensions should all be queried. Calling an unavailable function will cause a GLException to be raised.

isExtensionAvailable may also be used to determine whether a specific extension is available before calling the routines or using the functionality it exposes: for example, gl.isExtensionAvailable("GL_ARB_vertex_program");. However, in this case it is up to the end user to know which routines or functionality are associated with which OpenGL extensions. It may also be used to test for the availability of a particular version of OpenGL: for example, gl.isExtensionAvailable("GL_VERSION_1_5");.

Exceptions to the window system extension naming rules:

  • WGL_ARB_pbuffer, WGL_ARB_pixel_format, and other platform-specific pbuffer functionality; the availability of pbuffers can be queried on Windows, X11 and Mac OS X platforms by querying isExtensionAvailable with an argument of "GL_ARB_pbuffer" or "GL_ARB_pixel_format".

Definition at line 73 of file GLBase.java.

Member Function Documentation

◆ getBoundBuffer()

int com.jogamp.opengl.GLBase.getBoundBuffer ( int  target)
Parameters
targeta GL buffer (VBO) target as used in GL#glBindBuffer(int, int), ie GL#GL_ELEMENT_ARRAY_BUFFER, GL#GL_ARRAY_BUFFER, ..
Returns
the GL buffer name bound to a target via GL#glBindBuffer(int, int) or 0 if unbound.
See also
getBufferStorage(int)

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ getBoundFramebuffer()

int com.jogamp.opengl.GLBase.getBoundFramebuffer ( int  target)

Return the framebuffer name bound to this context, see GL#glBindFramebuffer(int, int).

Calls GLContext#getBoundFramebuffer(int).

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ getBufferStorage()

GLBufferStorage com.jogamp.opengl.GLBase.getBufferStorage ( int  bufferName)
Parameters
bufferNamea GL buffer name, generated with e.g. GL#glGenBuffers(int, int[], int) and used in GL#glBindBuffer(int, int), GL#glBufferData(int, long, java.nio.Buffer, int) or GL2#glNamedBufferDataEXT(int, long, java.nio.Buffer, int).
Returns
the size of the given GL buffer storage, see GLBufferStorage
See also
getBoundBuffer(int)

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ getContext()

◆ getDefaultDrawBuffer()

int com.jogamp.opengl.GLBase.getDefaultDrawBuffer ( )

Returns the default color buffer within the current bound getDefaultReadFramebuffer(), i.e.

GL_READ_FRAMEBUFFER​, which will be used as the target (output) for (fragment shader) draw commands, settable via GL2ES2#glDrawBuffers(int, int[], int) or GL2#glDrawBuffer(int).

For offscreen framebuffer objects this is GL#GL_COLOR_ATTACHMENT0, otherwise this is GL#GL_FRONT for non-ES profile and single buffer configurations and GL#GL_BACK for double buffer configurations or ES profiles.

Note-1: Neither ES1 nor ES2 supports selecting the draw buffer at all and GL#GL_BACK is the default.

Note-2: ES3 only supports GL#GL_BACK, GL#GL_NONE or GL#GL_COLOR_ATTACHMENT0+i via GL2ES2#glDrawBuffers(int, int[], int).

Method is only thread-safe while context is made current.

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ getDefaultDrawFramebuffer()

int com.jogamp.opengl.GLBase.getDefaultDrawFramebuffer ( )

Return the default draw framebuffer name.

May differ from it's default zero in case an framebuffer object (com.jogamp.opengl.FBObject) based drawable is being used.

Calls GLContext#getDefaultDrawFramebuffer().

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ getDefaultReadBuffer()

int com.jogamp.opengl.GLBase.getDefaultReadBuffer ( )

Returns the default color buffer within the current bound getDefaultReadFramebuffer(), i.e.

GL_READ_FRAMEBUFFER​, which will be used as the source for pixel reading commands, like glReadPixels etc.

For offscreen framebuffer objects this is GL#GL_COLOR_ATTACHMENT0, otherwise this is GL#GL_FRONT for non-ES profile and single buffer configurations and GL#GL_BACK for double buffer configurations or ES profiles.

Note-1: Neither ES1 nor ES2 supports selecting the read buffer via glReadBuffer and GL#GL_BACK is the default.

Note-2: ES3 only supports GL#GL_BACK, GL#GL_NONE or GL#GL_COLOR_ATTACHMENT0+i

Note-3: See swapBuffersBeforeRead for read-pixels and swap-buffers implications.

Method is only thread-safe while context is made current.

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ getDefaultReadFramebuffer()

int com.jogamp.opengl.GLBase.getDefaultReadFramebuffer ( )

Return the default read framebuffer name.

May differ from it's default zero in case an framebuffer object (com.jogamp.opengl.FBObject) based drawable is being used.

Calls GLContext#getDefaultReadFramebuffer().

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ getDownstreamGL()

GL com.jogamp.opengl.GLBase.getDownstreamGL ( ) throws GLException

Returns the downstream GL instance in case this is a wrapping pipeline, otherwise null.

See getRootGL() for retrieving the implementing root instance.

Exceptions
GLExceptionif the downstream instance is not null and not a GL implementation
See also
getRootGL()

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

◆ getExtension()

Object com.jogamp.opengl.GLBase.getExtension ( String  extensionName)

Returns an object providing access to the specified OpenGL extension.

This is intended to provide a mechanism for vendors who wish to provide access to new OpenGL extensions without changing the public API of the core package. For example, a user may request access to extension "GL_VENDOR_foo" and receive back an object which implements a vendor-specified interface which can call the OpenGL extension functions corresponding to that extension. It is up to the vendor to specify both the extension name and Java API for accessing it, including which class or interface contains the functions.

Note: it is the intent to add new extensions as quickly as possible to the core GL API. Therefore it is unlikely that most vendors will use this extension mechanism, but it is being provided for completeness.

Here is the caller graph for this function:

◆ getGL()

GL com.jogamp.opengl.GLBase.getGL ( ) throws GLException

Casts this object to the GL interface.

Exceptions
GLExceptionif this object is not a GL implementation

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ getGL2()

GL2 com.jogamp.opengl.GLBase.getGL2 ( ) throws GLException

Casts this object to the GL2 interface.

Exceptions
GLExceptionif this object is not a GL2 implementation

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ getGL2ES1()

GL2ES1 com.jogamp.opengl.GLBase.getGL2ES1 ( ) throws GLException

Casts this object to the GL2ES1 interface.

Exceptions
GLExceptionif this object is not a GL2ES1 implementation

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ getGL2ES2()

GL2ES2 com.jogamp.opengl.GLBase.getGL2ES2 ( ) throws GLException

◆ getGL2ES3()

GL2ES3 com.jogamp.opengl.GLBase.getGL2ES3 ( ) throws GLException

Casts this object to the GL2ES3 interface.

Exceptions
GLExceptionif this object is not a GL2ES3 implementation

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ getGL2GL3()

GL2GL3 com.jogamp.opengl.GLBase.getGL2GL3 ( ) throws GLException

Casts this object to the GL2GL3 interface.

Exceptions
GLExceptionif this object is not a GL2GL3 implementation

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ getGL3()

GL3 com.jogamp.opengl.GLBase.getGL3 ( ) throws GLException

Casts this object to the GL3 interface.

Exceptions
GLExceptionif this object is not a GL3 implementation

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ getGL3bc()

GL3bc com.jogamp.opengl.GLBase.getGL3bc ( ) throws GLException

Casts this object to the GL3bc interface.

Exceptions
GLExceptionif this object is not a GL3bc implementation

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ getGL3ES3()

GL3ES3 com.jogamp.opengl.GLBase.getGL3ES3 ( ) throws GLException

Casts this object to the GL3ES3 interface.

Exceptions
GLExceptionif this object is not a GL3ES3 implementation

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ getGL4()

GL4 com.jogamp.opengl.GLBase.getGL4 ( ) throws GLException

Casts this object to the GL4 interface.

Exceptions
GLExceptionif this object is not a GL4 implementation

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ getGL4bc()

GL4bc com.jogamp.opengl.GLBase.getGL4bc ( ) throws GLException

Casts this object to the GL4bc interface.

Exceptions
GLExceptionif this object is not a GL4bc implementation

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ getGL4ES3()

GL4ES3 com.jogamp.opengl.GLBase.getGL4ES3 ( ) throws GLException

Casts this object to the GL4ES3 interface.

Exceptions
GLExceptionif this object is not a GL4ES3 implementation

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ getGLES1()

GLES1 com.jogamp.opengl.GLBase.getGLES1 ( ) throws GLException

Casts this object to the GLES1 interface.

Exceptions
GLExceptionif this object is not a GLES1 implementation

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ getGLES2()

GLES2 com.jogamp.opengl.GLBase.getGLES2 ( ) throws GLException

Casts this object to the GLES2 interface.

Exceptions
GLExceptionif this object is not a GLES2 implementation

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ getGLES3()

GLES3 com.jogamp.opengl.GLBase.getGLES3 ( ) throws GLException

Casts this object to the GLES3 interface.

Exceptions
GLExceptionif this object is not a GLES3 implementation

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ getGLProfile()

GLProfile com.jogamp.opengl.GLBase.getGLProfile ( )

Returns the GLProfile associated with this GL object.

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ getMaxRenderbufferSamples()

int com.jogamp.opengl.GLBase.getMaxRenderbufferSamples ( )

Returns the maximum number of FBO RENDERBUFFER samples if full FBO is supported, otherwise false.

See also
GLContext::getMaxRenderbufferSamples()

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ getPlatformGLExtensions()

Object com.jogamp.opengl.GLBase.getPlatformGLExtensions ( )

Returns an object through which platform-specific OpenGL extensions (EGL, GLX, WGL, etc.) may be accessed.

The data type of the returned object and its associated capabilities are undefined. Most applications will never need to call this method. It is highly recommended that any applications which do call this method perform all accesses on the returned object reflectively to guard themselves against changes to the implementation.

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ getRootGL()

GL com.jogamp.opengl.GLBase.getRootGL ( ) throws GLException

Returns the implementing root instance, considering a wrapped pipelined hierarchy, see getDownstreamGL().

If this instance is not a wrapping pipeline, i.e. has no downstream instance, this instance is returned.

Exceptions
GLExceptionif the root instance is not a GL implementation

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ getSwapInterval()

int com.jogamp.opengl.GLBase.getSwapInterval ( )

Return the current swap interval.

If the context has not been made current at all, the default value 0 is returned.

For a valid context w/ an <o>onscreen GLDrawable the default value is 1, otherwise the default value is 0.

See also
GLContext::getSwapInterval()
setSwapInterval(int)

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ glClearDepth()

void com.jogamp.opengl.GLBase.glClearDepth ( double  depth)

Aliased entrypoint of void {@native glClearDepth}(GLclampd depth); and void {@native glClearDepthf}(GLclampf depth); .

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, com.jogamp.opengl.TraceGLES3, and com.jogamp.opengl.GL2ES2.

Here is the caller graph for this function:

◆ glDepthRange()

void com.jogamp.opengl.GLBase.glDepthRange ( double  zNear,
double  zFar 
)

Aliased entrypoint of void {@native glDepthRange}(GLclampd depth); and void {@native glDepthRangef}(GLclampf depth); .

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, com.jogamp.opengl.TraceGLES3, and com.jogamp.opengl.GL2ES2.

Here is the caller graph for this function:

◆ hasBasicFBOSupport()

boolean com.jogamp.opengl.GLBase.hasBasicFBOSupport ( )

Returns true if basic FBO support is available, otherwise false.

Basic FBO is supported if the context is either GL-ES >= 2.0, GL >= 3.0 [core, compat] or implements the extensions GL_ARB_ES2_compatibility, GL_ARB_framebuffer_object, GL_EXT_framebuffer_object or GL_OES_framebuffer_object.

Basic FBO support may only include one color attachment and no multisampling, as well as limited internal formats for renderbuffer.

See also
GLContext::hasBasicFBOSupport()

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ hasFullFBOSupport()

boolean com.jogamp.opengl.GLBase.hasFullFBOSupport ( )

Returns true if full FBO support is available, otherwise false.

Full FBO is supported if the context is either GL >= core 3.0 [ES, core, compat] or implements the extensions ARB_framebuffer_object, or all of EXT_framebuffer_object, EXT_framebuffer_multisample, EXT_framebuffer_blit, GL_EXT_packed_depth_stencil.

Full FBO support includes multiple color attachments and multisampling.

See also
GLContext::hasFullFBOSupport()

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ hasGLSL()

boolean com.jogamp.opengl.GLBase.hasGLSL ( )

Indicates whether this GL object supports GLSL.

See also
GLContext::hasGLSL()

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ isExtensionAvailable()

boolean com.jogamp.opengl.GLBase.isExtensionAvailable ( String  glExtensionName)

Returns true if the specified OpenGL extension can be used successfully through this GL instance given the current host (OpenGL client) and display (OpenGL server) configuration.

Parameters
glExtensionNamethe name of the OpenGL extension (e.g., "GL_ARB_vertex_program").
Here is the caller graph for this function:

◆ isFunctionAvailable()

boolean com.jogamp.opengl.GLBase.isFunctionAvailable ( String  glFunctionName)

Returns true if the specified OpenGL core- or extension-function can be used successfully through this GL instance given the current host (OpenGL client) and display (OpenGL server) configuration.

By "successfully" we mean that the function is both callable on the machine running the program and available on the current display.

In order to call a function successfully, the function must be both callable on the machine running the program and available on the display device that is rendering the output (note: on non-networked, single-display machines these two conditions are identical; on networked and/or multi-display machines this becomes more complicated). These conditions are met if the function is either part of the core OpenGL version supported by both the host and display, or it is an OpenGL extension function that both the host and display support.

A GL function is callable if it is successfully linked at runtime, hence the GLContext must be made current at least once.

Parameters
glFunctionNamethe name of the OpenGL function (e.g., use "glBindRenderbufferEXT" or "glBindRenderbuffer" to check if GL#glBindRenderbuffer(int,int) is available).
Here is the caller graph for this function:

◆ isGL()

boolean com.jogamp.opengl.GLBase.isGL ( )

◆ isGL2()

boolean com.jogamp.opengl.GLBase.isGL2 ( )

Indicates whether this GL object conforms to the OpenGL ≤ 3.0 profile.

The GL2 profile includes the GL2ES1 and GL2ES2 profile.

See also
GLContext::isGL2()

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ isGL2ES1()

boolean com.jogamp.opengl.GLBase.isGL2ES1 ( )

Indicates whether this GL object conforms to a GL2ES1 compatible profile.

See also
GLContext::isGL2ES1()

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ isGL2ES2()

boolean com.jogamp.opengl.GLBase.isGL2ES2 ( )

Indicates whether this GL object conforms to a GL2ES2 compatible profile.

See also
GLContext::isGL2ES2()

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ isGL2ES3()

boolean com.jogamp.opengl.GLBase.isGL2ES3 ( )

Indicates whether this GL object conforms to a either a GL2GL3 or GL3ES3 compatible profile.

See also
GLContext::isGL2ES3()

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ isGL2GL3()

boolean com.jogamp.opengl.GLBase.isGL2GL3 ( )

Indicates whether this GL object conforms to a GL2GL3 compatible profile.

See also
GLContext::isGL2GL3()

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ isGL3()

boolean com.jogamp.opengl.GLBase.isGL3 ( )

Indicates whether this GL object conforms to the OpenGL ≥ 3.1 core profile.

The GL3 core profile includes the GL2ES2 profile.

See also
GLContext::isGL3()

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ isGL3bc()

boolean com.jogamp.opengl.GLBase.isGL3bc ( )

Indicates whether this GL object conforms to the OpenGL ≥ 3.1 compatibility profile.

The GL3 compatibility profile includes the GL2, GL2ES1, GL2ES2 and GL3 profile.

See also
GLContext::isGL3bc()

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ isGL3core()

boolean com.jogamp.opengl.GLBase.isGL3core ( )

Indicates whether this GL object uses a GL3 core profile.

Includes [ GL4, GL3 ].

See also
GLContext::isGL3core()

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ isGL3ES3()

boolean com.jogamp.opengl.GLBase.isGL3ES3 ( )

Indicates whether this GL object conforms to a GL3ES3 compatible profile.

See also
GLContext::isGL3ES3()

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ isGL4()

boolean com.jogamp.opengl.GLBase.isGL4 ( )

Indicates whether this GL object conforms to the OpenGL ≥ 4.0 core profile.

The GL4 core profile includes the GL2ES2, and GL3 profile.

See also
GLContext::isGL4()

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ isGL4bc()

boolean com.jogamp.opengl.GLBase.isGL4bc ( )

Indicates whether this GL object conforms to the OpenGL ≥ 4.0 compatibility profile.

The GL4 compatibility profile includes the GL2, GL2ES1, GL2ES2, GL3, GL3bc and GL4 profile.

See also
GLContext::isGL4bc()

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ isGL4core()

boolean com.jogamp.opengl.GLBase.isGL4core ( )

Indicates whether this GL object uses a GL4 core profile.

Includes [ GL4 ].

See also
GLContext::isGL4core()

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ isGL4ES3()

boolean com.jogamp.opengl.GLBase.isGL4ES3 ( )

Returns true if this GL object conforms to a GL4ES3 compatible profile, i.e.

if isGLES3Compatible() returns true.

Includes [ GL ≥ 4.3, GL ≥ 3.1 w/ GL_ARB_ES3_compatibility and GLES3 ]

See also
GLContext::isGL4ES3()

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ isGLcore()

boolean com.jogamp.opengl.GLBase.isGLcore ( )

Indicates whether this GL object uses a GL core profile.

Includes [ GL4, GL3, GLES3, GL2ES2 ].

See also
GLContext::isGLcore()

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ isGLES()

boolean com.jogamp.opengl.GLBase.isGLES ( )

Indicates whether this GL object conforms to one of the OpenGL ES profiles, see isGLES1(), isGLES2() and isGLES3().

See also
GLContext::isGLES()

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ isGLES1()

boolean com.jogamp.opengl.GLBase.isGLES1 ( )

Indicates whether this GL object conforms to the OpenGL ES ≥ 1.0 profile.

See also
GLContext::isGLES1()

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ isGLES2()

boolean com.jogamp.opengl.GLBase.isGLES2 ( )

Indicates whether this GL object conforms to the OpenGL ES ≥ 2.0 profile.

Remark: ES2 compatible desktop profiles are not included. To query whether core ES2 functionality is provided, use isGLES2Compatible().

See also
isGLES2Compatible()
GLContext::isGLES2()

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ isGLES2Compatible()

boolean com.jogamp.opengl.GLBase.isGLES2Compatible ( )

Indicates whether this GL object is compatible with the core OpenGL ES2 functionality.

Returns
true if this context is an ES2 context or implements the extension GL_ARB_ES2_compatibility, otherwise false
See also
GLContext::isGLES2Compatible()

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ isGLES3()

boolean com.jogamp.opengl.GLBase.isGLES3 ( )

Indicates whether this GL object conforms to the OpenGL ES ≥ 3.0 profile.

Remark: ES3 compatible desktop profiles are not included. To query whether core ES3 functionality is provided, use isGLES3Compatible().

See also
isGLES3Compatible()
GLContext::isGLES3()

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ isGLES31Compatible()

boolean com.jogamp.opengl.GLBase.isGLES31Compatible ( )

Indicates whether this GL object is compatible with the core OpenGL ES3.1 functionality.

Return true if the underlying context is an ES3 context ≥ 3.1 or implements the extension GL_ARB_ES3_1_compatibility, otherwise false.

Includes [ GL ≥ 4.5, GL ≥ 3.1 w/ GL_ARB_ES3_1_compatibility and GLES3 ≥ 3.1 ]

See also
GLContext::isGLES31Compatible()

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ isGLES32Compatible()

boolean com.jogamp.opengl.GLBase.isGLES32Compatible ( )

Indicates whether this GL object is compatible with the core OpenGL ES3.2 functionality.

Return true if the underlying context is an ES3 context ≥ 3.2 or implements the extension GL_ARB_ES3_2_compatibility, otherwise false.

Includes [ GL ≥ 4.5, GL ≥ 3.1 w/ GL_ARB_ES3_2_compatibility and GLES3 ≥ 3.2 ]

See also
GLContext::isGLES32Compatible()

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ isGLES3Compatible()

boolean com.jogamp.opengl.GLBase.isGLES3Compatible ( )

Indicates whether this GL object is compatible with the core OpenGL ES3 functionality.

Return true if the underlying context is an ES3 context or implements the extension GL_ARB_ES3_compatibility, otherwise false.

Includes [ GL ≥ 4.3, GL ≥ 3.1 w/ GL_ARB_ES3_compatibility and GLES3 ]

See also
GLContext::isGLES3Compatible()

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ isNPOTTextureAvailable()

boolean com.jogamp.opengl.GLBase.isNPOTTextureAvailable ( )

Returns true if the GL context supports non power of two (NPOT) textures, otherwise false.

NPOT textures are supported in OpenGL >= 3, GLES2 or if the 'GL_ARB_texture_non_power_of_two' extension is available.

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ isTextureFormatBGRA8888Available()

boolean com.jogamp.opengl.GLBase.isTextureFormatBGRA8888Available ( )

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ isVBOArrayBound()

boolean com.jogamp.opengl.GLBase.isVBOArrayBound ( )
Returns
true if a VBO is bound to GL#GL_ARRAY_BUFFER via GL#glBindBuffer(int, int), otherwise false

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ isVBOElementArrayBound()

boolean com.jogamp.opengl.GLBase.isVBOElementArrayBound ( )
Returns
true if a VBO is bound to GL#GL_ELEMENT_ARRAY_BUFFER via GL#glBindBuffer(int, int), otherwise false

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ mapBuffer()

GLBufferStorage com.jogamp.opengl.GLBase.mapBuffer ( int  target,
int  access 
) throws GLException

Returns the GLBufferStorage instance as mapped via OpenGL's native glMapBuffer(..) implementation.

Throws a GLException if GL-function constraints are not met.

GL#glMapBuffer(int, int) wrapper calls this method and returns GLBufferStorage#getMappedBuffer().

A zero GLBufferStorage#getSize() will avoid a native call and returns the unmapped GLBufferStorage.

A null native mapping result indicating an error will not cause a GLException but returns the unmapped GLBufferStorage. This allows the user to handle this case.

Parameters
targetdenotes the buffer via it's bound target
accessthe mapping access mode
Exceptions
GLExceptionif buffer is not bound to target
GLExceptionif buffer is not tracked
GLExceptionif buffer is already mapped
GLExceptionif buffer has invalid store size, i.e. less-than zero

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ mapBufferRange()

GLBufferStorage com.jogamp.opengl.GLBase.mapBufferRange ( final int  target,
final long  offset,
final long  length,
final int  access 
) throws GLException

Returns the GLBufferStorage instance as mapped via OpenGL's native glMapBufferRange(..) implementation.

Throws a GLException if GL-function constraints are not met.

GL#glMapBufferRange(int, long, long, int) wrapper calls this method and returns GLBufferStorage#getMappedBuffer().

A zero GLBufferStorage#getSize() will avoid a native call and returns the unmapped GLBufferStorage.

A null native mapping result indicating an error will not cause a GLException but returns the unmapped GLBufferStorage. This allows the user to handle this case.

Parameters
targetdenotes the buffer via it's bound target
offsetoffset of the mapped buffer's storage
lengthlength of the mapped buffer's storage
accessthe mapping access mode
Exceptions
GLExceptionif buffer is not bound to target
GLExceptionif buffer is not tracked
GLExceptionif buffer is already mapped
GLExceptionif buffer has invalid store size, i.e. less-than zero
GLExceptionif buffer mapping range does not fit, incl. offset

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.

Here is the caller graph for this function:

◆ setSwapInterval()

void com.jogamp.opengl.GLBase.setSwapInterval ( int  interval) throws GLException

Set the swap interval of the current context and attached onscreen GLDrawable.

offscreen GLDrawable are ignored and false is returned.

The interval semantics:

  • 0 disables the vertical synchronization
  • ≥1 is the number of vertical refreshes before a swap buffer occurs
  • <0 enables late swaps to occur without synchronization to the video frame, a.k.a EXT_swap_control_tear. If supported, the absolute value is the minimum number of video frames between buffer swaps. If not supported, the absolute value is being used, see above.
Parameters
intervalsee above
Returns
true if the operation was successful, otherwise false
Exceptions
GLExceptionif the context is not current.
See also
GLContext::setSwapInterval(int)
getSwapInterval()

Implemented in com.jogamp.opengl.DebugGL4bc, com.jogamp.opengl.DebugGLES1, com.jogamp.opengl.DebugGLES3, com.jogamp.opengl.TraceGL4bc, com.jogamp.opengl.TraceGLES1, and com.jogamp.opengl.TraceGLES3.


The documentation for this interface was generated from the following file: