Package com.jogamp.opengl.util
Class GLPixelBuffer.DefaultGLPixelBufferProvider
- java.lang.Object
-
- com.jogamp.opengl.util.GLPixelBuffer.DefaultGLPixelBufferProvider
-
- All Implemented Interfaces:
GLPixelBuffer.GLPixelBufferProvider
- Enclosing class:
- GLPixelBuffer
public static class GLPixelBuffer.DefaultGLPixelBufferProvider extends Object implements GLPixelBuffer.GLPixelBufferProvider
-
-
Constructor Summary
Constructors Constructor Description DefaultGLPixelBufferProvider(boolean allowRowStride)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description GLPixelBufferallocate(GL gl, PixelFormat.Composition hostPixComp, GLPixelBuffer.GLPixelAttributes pixelAttributes, boolean pack, int width, int height, int depth, int minByteSize)Allocates a newGLPixelBufferobject.booleangetAllowRowStride()GLPixelBuffer.GLPixelAttributesgetAttributes(GL gl, int componentCount, boolean pack)PixelFormat.CompositiongetHostPixelComp(GLProfile glp, int componentCount)Returns the hostPixelFormat.CompositionmatchingGLandcomponentCountif required by implementation, otherwisenull.
-
-
-
Constructor Detail
-
DefaultGLPixelBufferProvider
public DefaultGLPixelBufferProvider(boolean allowRowStride)
- Parameters:
allowRowStride- Iftrue, allow row-stride, otherwise not. SeegetAllowRowStride()andGLPixelBuffer.requiresNewBuffer(GL, int, int, int).
-
-
Method Detail
-
getAllowRowStride
public boolean getAllowRowStride()
Description copied from interface:GLPixelBuffer.GLPixelBufferProvider- Specified by:
getAllowRowStridein interfaceGLPixelBuffer.GLPixelBufferProvider
-
getAttributes
public GLPixelBuffer.GLPixelAttributes getAttributes(GL gl, int componentCount, boolean pack)
Description copied from interface:GLPixelBuffer.GLPixelBufferProvider- Specified by:
getAttributesin interfaceGLPixelBuffer.GLPixelBufferProvider- Parameters:
gl- the corresponding currentGLcontext objectcomponentCount- RGBA component count, i.e. 1 (luminance, alpha or red), 3 (RGB) or 4 (RGBA)pack-truefor read mode GPU -> CPU, e.g.glReadPixels.falsefor write mode CPU -> GPU, e.g.glTexImage2D.
-
getHostPixelComp
public PixelFormat.Composition getHostPixelComp(GLProfile glp, int componentCount)
Returns the hostPixelFormat.CompositionmatchingGLandcomponentCountif required by implementation, otherwisenull.Returns
null!- Specified by:
getHostPixelCompin interfaceGLPixelBuffer.GLPixelBufferProvider- Parameters:
glp- the corresponding currentGLcontext objectcomponentCount- RGBA component count, i.e. 1 (luminance, alpha or red), 3 (RGB) or 4 (RGBA)
-
allocate
public GLPixelBuffer allocate(GL gl, PixelFormat.Composition hostPixComp, GLPixelBuffer.GLPixelAttributes pixelAttributes, boolean pack, int width, int height, int depth, int minByteSize)
Allocates a newGLPixelBufferobject.The minimum required
remainingbyte size equals tominByteSize, if > 0, otherwise utilizeGLBuffers.sizeof(GL, int[], int, int, int, int, int, boolean)to calculate it.Returns an NIO
ByteBuffer.- Specified by:
allocatein interfaceGLPixelBuffer.GLPixelBufferProvider- Parameters:
gl- the corresponding currentGLcontext objecthostPixComp- hostpixel format, i.e. of the source or sink depending onpack, e.g. fetched viaGLPixelBuffer.GLPixelBufferProvider.getHostPixelComp(GLProfile, int). Ifnull,pixelAttributesinstance 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-truefor read mode GPU -> CPU, e.g.glReadPixels.falsefor 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:
GLPixelBuffer.GLPixelBufferProvider.getHostPixelComp(GLProfile, int),GLPixelBuffer.GLPixelBufferProvider.getAttributes(GL, int, boolean)
-
-