JOGL v2.6.0-rc-20250712
JOGL, High-Performance Graphics Binding for Java™ (public API).
com.jogamp.opengl.util.GLPixelBuffer.SingletonGLPixelBufferProvider Interface Reference

Single GLPixelBuffer provider. More...

Inheritance diagram for com.jogamp.opengl.util.GLPixelBuffer.SingletonGLPixelBufferProvider:
Collaboration diagram for com.jogamp.opengl.util.GLPixelBuffer.SingletonGLPixelBufferProvider:

Public Member Functions

GLPixelBuffer allocate (GL gl, PixelFormat.Composition hostPixComp, GLPixelAttributes pixelAttributes, boolean pack, int width, int height, int depth, int minByteSize)
 Allocates a new GLPixelBuffer object.The minimum required remaining byte size equals to minByteSize, if > 0, otherwise utilize GLBuffers#sizeof(GL, int[], int, int, int, int, int, boolean) to calculate it.
Parameters
glthe corresponding current GL context object
hostPixComphost pixel format, i.e. of the source or sink depending on pack, e.g. fetched via getHostPixelComp(GLProfile, int). If null, pixelAttributes instance maybe used or an exception is thrown, depending on implementation semantics.
pixelAttributesthe desired GLPixelAttributes, e.g. fetched via getAttributes(GL, int, boolean)
packtrue for read mode GPU -> CPU, e.g. glReadPixels. false for write mode CPU -> GPU, e.g. glTexImage2D.
widthin pixels
heightin pixels
depthin pixels
minByteSizeif > 0, the pre-calculated minimum byte-size for the resulting buffer, otherwise ignore.
See also
getHostPixelComp(GLProfile, int)
getAttributes(GL, int, boolean)
More...
 
GLPixelBuffer getSingleBuffer (PixelFormat.Composition hostPixelComp, GLPixelAttributes pixelAttributes, boolean pack)
 Return the last allocated GLPixelBuffer matching the given parameter. More...
 
GLPixelBuffer initSingleton (GLProfile glp, int componentCount, boolean pack, int width, int height, int depth)
 Initializes the single GLPixelBuffer w/ a given size, if not yet allocated. More...
 
void dispose ()
 Dispose all resources. More...
 
- Public Member Functions inherited from com.jogamp.opengl.util.GLPixelBuffer.GLPixelBufferProvider
boolean getAllowRowStride ()
 Allow GL2ES3#GL_PACK_ROW_LENGTH, or GL2ES2#GL_UNPACK_ROW_LENGTH. More...
 
GLPixelAttributes getAttributes (GL gl, int componentCount, boolean pack)
 Returns RGB[A] GLPixelAttributes matching GL, componentCount and pack. More...
 
PixelFormat.Composition getHostPixelComp (final GLProfile glp, final int componentCount)
 Returns the host PixelFormat.Composition matching GL and componentCount if required by implementation, otherwise null. More...
 
GLPixelBuffer allocate (GL gl, PixelFormat.Composition hostPixComp, GLPixelAttributes pixelAttributes, boolean pack, int width, int height, int depth, int minByteSize)
 Allocates a new GLPixelBuffer object. More...
 

Detailed Description

Single GLPixelBuffer provider.

Definition at line 108 of file GLPixelBuffer.java.

Member Function Documentation

◆ allocate()

GLPixelBuffer com.jogamp.opengl.util.GLPixelBuffer.SingletonGLPixelBufferProvider.allocate ( GL  gl,
PixelFormat.Composition  hostPixComp,
GLPixelAttributes  pixelAttributes,
boolean  pack,
int  width,
int  height,
int  depth,
int  minByteSize 
)

Allocates a new GLPixelBuffer object.The minimum required remaining byte size equals to minByteSize, if > 0, otherwise utilize GLBuffers#sizeof(GL, int[], int, int, int, int, int, boolean) to calculate it.

Parameters
glthe corresponding current GL context object
hostPixComphost pixel format, i.e. of the source or sink depending on pack, e.g. fetched via getHostPixelComp(GLProfile, int). If null, pixelAttributes instance maybe used or an exception is thrown, depending on implementation semantics.
pixelAttributesthe desired GLPixelAttributes, e.g. fetched via getAttributes(GL, int, boolean)
packtrue for read mode GPU -> CPU, e.g. glReadPixels. false for write mode CPU -> GPU, e.g. glTexImage2D.
widthin pixels
heightin pixels
depthin pixels
minByteSizeif > 0, the pre-calculated minimum byte-size for the resulting buffer, otherwise ignore.
See also
getHostPixelComp(GLProfile, int)
getAttributes(GL, int, boolean)

Being called to gather the initial GLPixelBuffer, or a new replacement GLPixelBuffer if GLPixelBuffer#requiresNewBuffer(GL, int, int, int).

Implements com.jogamp.opengl.util.GLPixelBuffer.GLPixelBufferProvider.

Implemented in com.jogamp.opengl.util.awt.AWTGLPixelBuffer.SingleAWTGLPixelBufferProvider.

◆ dispose()

void com.jogamp.opengl.util.GLPixelBuffer.SingletonGLPixelBufferProvider.dispose ( )

◆ getSingleBuffer()

GLPixelBuffer com.jogamp.opengl.util.GLPixelBuffer.SingletonGLPixelBufferProvider.getSingleBuffer ( PixelFormat.Composition  hostPixelComp,
GLPixelAttributes  pixelAttributes,
boolean  pack 
)

Return the last allocated GLPixelBuffer matching the given parameter.

May return null if none has been allocated yet.

Returned GLPixelBuffer may be invalid.

Parameters
hostPixComphost pixel format, i.e. of the source or sink depending on pack, e.g. fetched via getHostPixelComp(GLProfile, int). If null, pixelAttributes instance maybe used or an exception is thrown, depending on implementation semantics.
pixelAttributesthe desired GLPixelAttributes, e.g. fetched via getAttributes(GL, int, boolean)
packtrue for read mode GPU -> CPU, e.g. glReadPixels. false for write mode CPU -> GPU, e.g. glTexImage2D.

Implemented in com.jogamp.opengl.util.awt.AWTGLPixelBuffer.SingleAWTGLPixelBufferProvider.

◆ initSingleton()

GLPixelBuffer com.jogamp.opengl.util.GLPixelBuffer.SingletonGLPixelBufferProvider.initSingleton ( GLProfile  glp,
int  componentCount,
boolean  pack,
int  width,
int  height,
int  depth 
)

Initializes the single GLPixelBuffer w/ a given size, if not yet allocated.

Parameters
glp
componentCountRGBA component count, i.e. 1 (luminance, alpha or red), 3 (RGB) or 4 (RGBA)
packtrue for read mode GPU -> CPU, e.g. glReadPixels. false for write mode CPU -> GPU, e.g. glTexImage2D.
width
height
depth
Returns
the newly initialized single GLPixelBuffer, or null if already allocated.

Implemented in com.jogamp.opengl.util.awt.AWTGLPixelBuffer.SingleAWTGLPixelBufferProvider.


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