Package com.jogamp.opengl.util.awt
Class AWTGLPixelBuffer.AWTGLPixelBufferProvider
java.lang.Object
com.jogamp.opengl.util.awt.AWTGLPixelBuffer.AWTGLPixelBufferProvider
- All Implemented Interfaces:
GLPixelBuffer.GLPixelBufferProvider
- Direct Known Subclasses:
AWTGLPixelBuffer.SingleAWTGLPixelBufferProvider
- Enclosing class:
- AWTGLPixelBuffer
public static class AWTGLPixelBuffer.AWTGLPixelBufferProvider
extends Object
implements GLPixelBuffer.GLPixelBufferProvider
Provider for
AWTGLPixelBuffer
instances.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionallocate
(GL gl, PixelFormat.Composition hostPixComp, GLPixelBuffer.GLPixelAttributes pixelAttributes, boolean pack, int width, int height, int depth, int minByteSize) Allocates a newGLPixelBuffer
object.boolean
getAttributes
(GL gl, int componentCount, boolean pack) getAttributes
(GLProfile glp, int componentCount) int
getAWTFormat
(GLProfile glp, int componentCount) Returns one of GL__, 4c -> 4c:BufferedImage.TYPE_INT_ARGB
<->GL.GL_BGRA
GLES, 4c -> 4c:BufferedImage.TYPE_INT_BGR
<->GL.GL_RGBA
GL__, 3c -> 4c:BufferedImage.TYPE_INT_RGB
<->GL.GL_BGRA
GLES, 3c -> 4c:BufferedImage.TYPE_INT_BGR
<->GL.GL_RGBA
getAWTPixelFormat
(GLProfile glp, int componentCount) getHostPixelComp
(GLProfile glp, int componentCount) Returns the hostPixelFormat.Composition
matchingGL
andcomponentCount
if required by implementation, otherwisenull
.
-
Constructor Details
-
AWTGLPixelBufferProvider
public AWTGLPixelBufferProvider(boolean allowRowStride) - Parameters:
allowRowStride
- Iftrue
, allow row-stride, otherwise not. SeegetAllowRowStride()
andGLPixelBuffer.requiresNewBuffer(GL, int, int, int)
. Iftrue
, user shall decide whether to use awidth-aligned image
.
-
-
Method Details
-
getAllowRowStride
public boolean getAllowRowStride()Description copied from interface:GLPixelBuffer.GLPixelBufferProvider
- Specified by:
getAllowRowStride
in interfaceGLPixelBuffer.GLPixelBufferProvider
-
getAttributes
Description copied from interface:GLPixelBuffer.GLPixelBufferProvider
- Specified by:
getAttributes
in interfaceGLPixelBuffer.GLPixelBufferProvider
- Parameters:
gl
- the corresponding currentGL
context objectcomponentCount
- RGBA component count, i.e. 1 (luminance, alpha or red), 3 (RGB) or 4 (RGBA)pack
-true
for read mode GPU -> CPU, e.g.glReadPixels
.false
for write mode CPU -> GPU, e.g.glTexImage2D
.
-
getAttributes
-
getHostPixelComp
Returns the hostPixelFormat.Composition
matchingGL
andcomponentCount
if required by implementation, otherwisenull
.Returns a valid
PixelFormat.Composition
instance fromgetAWTPixelFormat(GLProfile, int)
.- Specified by:
getHostPixelComp
in interfaceGLPixelBuffer.GLPixelBufferProvider
- Parameters:
glp
- the corresponding currentGL
context objectcomponentCount
- RGBA component count, i.e. 1 (luminance, alpha or red), 3 (RGB) or 4 (RGBA)
-
getAWTFormat
Returns one of- GL__, 4c -> 4c:
BufferedImage.TYPE_INT_ARGB
<->GL.GL_BGRA
- GLES, 4c -> 4c:
BufferedImage.TYPE_INT_BGR
<->GL.GL_RGBA
- GL__, 3c -> 4c:
BufferedImage.TYPE_INT_RGB
<->GL.GL_BGRA
- GLES, 3c -> 4c:
BufferedImage.TYPE_INT_BGR
<->GL.GL_RGBA
- Parameters:
glp
-componentCount
-- Returns:
- GL__, 4c -> 4c:
-
getAWTPixelFormat
-
allocate
public AWTGLPixelBuffer allocate(GL gl, PixelFormat.Composition hostPixComp, GLPixelBuffer.GLPixelAttributes pixelAttributes, boolean pack, int width, int height, int depth, int minByteSize) Allocates a newGLPixelBuffer
object.The minimum required
remaining
byte size equals tominByteSize
, if > 0, otherwise utilizeGLBuffers.sizeof(GL, int[], int, int, int, int, int, boolean)
to calculate it.Returns an array backed
IntBuffer
of sizewidth*height*
SIZEOF_INT
.- Specified by:
allocate
in interfaceGLPixelBuffer.GLPixelBufferProvider
- Parameters:
gl
- the corresponding currentGL
context objecthostPixComp
- hostpixel format
, i.e. of the source or sink depending onpack
, e.g. fetched viaGLPixelBuffer.GLPixelBufferProvider.getHostPixelComp(GLProfile, int)
. Ifnull
,pixelAttributes
instance maybe used or an exception is thrown, depending on implementation semantics.pixelAttributes
- the desiredGLPixelBuffer.GLPixelAttributes
, e.g. fetched viaGLPixelBuffer.GLPixelBufferProvider.getAttributes(GL, int, boolean)
pack
-true
for read mode GPU -> CPU, e.g.glReadPixels
.false
for write mode CPU -> GPU, e.g.glTexImage2D
.width
- in pixelsheight
- in pixelsdepth
- in pixelsminByteSize
- if > 0, the pre-calculated minimum byte-size for the resulting buffer, otherwise ignore.- See Also:
-