Gamp v0.0.7-36-g24b1eb6
Gamp: Graphics, Audio, Multimedia and Processing
Loading...
Searching...
No Matches
gamp::render::gl::FBObject Class Reference

Core utility class simplifying usage of framebuffer objects (FBO) with all GLProfiles. More...

#include <FBObject.hpp>

Collaboration diagram for gamp::render::gl::FBObject:

Public Member Functions

 FBObject ()
 Creates an uninitialized FBObject instance.
 
final ColorAttachment attachColorbuffer (final GL gl, final int attachmentPoint, final boolean alpha) throws GLException
 Attaches a newly created and initialized Colorbuffer, i.e.
 
final Colorbuffer attachColorbuffer (final GL gl, final int attachmentPoint, final Colorbuffer colbuf) throws GLException
 Attaches a Colorbuffer at the given attachment point and initializes it, if not done yet.
 
final ColorAttachment attachColorbuffer (final GL gl, final int attachmentPoint, final int internalFormat) throws GLException, IllegalArgumentException
 Attaches a newly created and initialized Colorbuffer, i.e.
 
final void attachRenderbuffer (final GL gl, final Attachment.Type atype, final int reqBits) throws GLException, IllegalArgumentException
 Attaches one depth, stencil or packed-depth-stencil buffer to this FBO's instance, selecting the internalFormat automatically.
 
final void attachRenderbuffer (final GL gl, final int internalFormat) throws GLException, IllegalArgumentException
 Attaches one depth, stencil or packed-depth-stencil buffer to this FBO's instance, depending on the internalFormat.
 
final TextureAttachment attachTexture2D (final GL gl, final int attachmentPoint, final boolean alpha) throws GLException
 Attaches a Colorbuffer, i.e.
 
final TextureAttachment attachTexture2D (final GL gl, final int attachmentPoint, final boolean alpha, final int magFilter, final int minFilter, final int wrapS, final int wrapT) throws GLException
 Attaches a Colorbuffer, i.e.
 
final TextureAttachment attachTexture2D (final GL gl, final int attachmentPoint, final int internalFormat, final int dataFormat, final int dataType, final int magFilter, final int minFilter, final int wrapS, final int wrapT) throws GLException
 Attaches a Colorbuffer, i.e.
 
final void bind (final GL gl) throws GLException
 Bind this FBO, i.e.
 
final ColorAttachment createColorAttachment (final boolean alpha)
 Creates a ColorAttachment, selecting the format automatically.
 
final void destroy (final GL gl)
 
final void detachAll (final GL gl)
 Detaches all ColorAttachments, TextureAttachments and RenderAttachments and disposes them.
 
final void detachAllColorbuffer (final GL gl)
 Detaches all ColorAttachments and TextureAttachments and disposes them.
 
final void detachAllRenderbuffer (final GL gl)
 
final void detachAllTexturebuffer (final GL gl)
 Detaches all TextureAttachments and disposes them.
 
final Colorbuffer detachColorbuffer (final GL gl, final int attachmentPoint, final boolean dispose) throws IllegalArgumentException
 Detaches a Colorbuffer, i.e.
 
final void detachRenderbuffer (final GL gl, final Attachment.Type atype, final boolean dispose) throws IllegalArgumentException
 
boolean equals (final Object o)
 
final void formatToGLCapabilities (final GLCapabilities caps)
 Writes the internal format of the attachments to the given GLCapabilities object.
 
void free (final GL gl)
 
void free (final GL gl)
 
final ColorAttachment getColorAttachment ()
 
final Colorbuffer getColorbuffer (final Colorbuffer ca)
 Returns the passed Colorbuffer if it is attached to this FBO, otherwise null.
 
final Colorbuffer getColorbuffer (final int attachmentPoint)
 Return the Colorbuffer attachment at attachmentPoint if it is attached to this FBO, otherwise null.
 
final int getColorbufferAttachmentPoint (final Colorbuffer ca)
 Finds the passed Colorbuffer within the valid range of attachment points using reference comparison only.
 
final int getColorbufferCount ()
 Return the number of attached Colorbuffers.
 
final int getDefaultDrawBuffer ()
 
final int getDefaultReadBuffer ()
 
final RenderAttachment getDepthAttachment ()
 Return the depth RenderAttachment attachment.
 
final int getHeight ()
 Returns the height.
 
final int getMaxColorAttachments () throws GLException
 Returns the maximum number of colorbuffer attachments.
 
final int getMaxRenderbufferSize () throws GLException
 
final int getMaxSamples () throws GLException
 
final int getMaxTextureSize () throws GLException
 
final int getNumSamples ()
 Returns the number of samples for multisampling (MSAA).
 
final int getReadFramebuffer ()
 Returns the framebuffer name to read from.
 
final int getSamples ()
 number of samples, or zero for no multisampling
 
final Colorbuffer getSamplingSink ()
 Return the multisampling Colorbuffer sink, if using multisampling.
 
final FBObject getSamplingSinkFBO ()
 Return the complete multisampling FBObject sink, if using multisampling.
 
final int getStatus ()
 Note that the status may reflect an incomplete state during transition of attachments.
 
final String getStatusString ()
 return the getStatus() as a string.
 
final RenderAttachment getStencilAttachment ()
 Return the stencil RenderAttachment attachment, if exist.
 
final TextureAttachment getTextureAttachment ()
 
final int getTextureAttachmentCount ()
 Return the number of attached TextureAttachments.
 
final int getWidth ()
 Returns the width.
 
final int getWriteFramebuffer ()
 Returns the framebuffer name to render to.
 
final boolean hasAttachmentUsingAlpha ()
 Returns true if any attached Colorbuffer uses alpha, otherwise false.
 
final boolean hasFullFBOSupport () throws GLException
 
int hashCode ()
 
void init (final GL gl, final int newWidth, final int newHeight, final int newSamples) throws IllegalStateException, GLException
 Initializes this FBO's instance.
 
boolean initialize (final GL gl) throws GLException
 
boolean initialize (final GL gl) throws GLException
 Initializes the texture and set it's parameter, if uninitialized, i.e.
 
final boolean isBound ()
 Returns true if framebuffer object is bound via bind(GL), otherwise false.
 
final boolean isBound (final GL gl)
 Returns true if framebuffer object is bound via bind(GL), otherwise false.
 
final boolean isDepthStencilPackedFormat ()
 
final boolean isInitialized ()
 Returns true if this instance has been initialized with reset(GL, int, int) or reset(GL, int, int, int, boolean), otherwise false
 
final boolean isModified ()
 Returns true if size, sample-count or any attachment of this instance or its sampling-sink has been modified since last sync, use, reset or resetSamplingSink.
 
final boolean isSamplingBufferDirty ()
 Returns true if the multisampling colorbuffer (msaa-buffer) has been flagged dirty by a previous call of bind(GL), otherwise false.
 
final boolean isStatusValid ()
 The status may even be valid if incomplete during transition of attachments.
 
final boolean isTextureAttachment ()
 
final void markUnbound ()
 Method simply marks this FBO unbound w/o interfering w/ the bound framebuffer as perfomed by unbind(GL).
 
int objectHashCode ()
 
 RenderAttachment (final Type type, final int iFormat, final int samples, final int width, final int height, final int name)
 
final boolean reset (final GL gl, int newWidth, int newHeight, int newSamples) throws GLException, IllegalStateException
 Resets this FBO's instance.
 
final boolean resetSamplingSink (final GL gl) throws GLException
 Manually validates the MSAA sampling sink, if used.
 
final void setSamples (final int s)
 
FBObject setSamplingSink (final FBObject newSamplingSink) throws IllegalStateException, GLException
 Setting this FBO sampling sink.
 
final boolean supportsDepth (final int bits) throws GLException
 Returns true if GL#GL_DEPTH_COMPONENT16, GL#GL_DEPTH_COMPONENT24 or GL#GL_DEPTH_COMPONENT32 is supported, otherwise false.
 
final boolean supportsPackedDepthStencil () throws GLException
 Returns true if GL#GL_DEPTH24_STENCIL8 is supported, otherwise false.
 
final boolean supportsRGBA8 () throws GLException
 Returns true if renderbuffer accepts internal format GL#GL_RGB8 and GL#GL_RGBA8, otherwise false.
 
final boolean supportsStencil (final int bits) throws GLException
 Returns true if GL#GL_STENCIL_INDEX1, GL#GL_STENCIL_INDEX4, GL#GL_STENCIL_INDEX8 or GL2GL3#GL_STENCIL_INDEX16 is supported, otherwise false.
 
final void syncSamplingSink (final GL gl)
 If multisampling is being used and flagged dirty by a previous call of bind(GL) or after initialization, the msaa-buffers are sampled to it's sink getSamplingTextureSink().
 
 TextureAttachment (final Type type, final int iFormat, final int width, final int height, final int dataFormat, final int dataType, final int magFilter, final int minFilter, final int wrapS, final int wrapT, final int name)
 
String toString ()
 
String toString ()
 
final String toString ()
 
final void unbind (final GL gl) throws GLException
 Unbind this FBO, i.e.
 
final void unuse (final GL gl)
 Unbind texture, ie bind 'non' texture 0.
 
final void use (final GL gl, final TextureAttachment ta) throws IllegalArgumentException
 Synchronize the sampling sink and bind the given TextureAttachment, if not null.
 

Static Public Member Functions

static final ColorAttachment createColorAttachment (final int internalFormat, final int samples, final int width, final int height)
 Creates a ColorAttachment, selecting the format automatically.
 
static final TextureAttachment createColorTextureAttachment (final GL gl, final boolean alpha, final int width, final int height)
 Creates a color TextureAttachment, i.e.
 
static final TextureAttachment createColorTextureAttachment (final GL gl, final boolean alpha, final int width, final int height, final int magFilter, final int minFilter, final int wrapS, final int wrapT)
 Creates a color TextureAttachment, i.e.
 
static final TextureAttachment createColorTextureAttachment (final GL gl, final int internalFormat, final int width, final int height, final int magFilter, final int minFilter, final int wrapS, final int wrapT)
 
static final TextureAttachment createColorTextureAttachment (final int internalFormat, final int width, final int height, final int dataFormat, final int dataType, final int magFilter, final int minFilter, final int wrapS, final int wrapT)
 Creates a color TextureAttachment, i.e.
 
static final RenderAttachment createRenderAttachment (final Type type, final int internalFormat, final int samples, final int width, final int height)
 
static final String getStatusString (final int fbStatus)
 
static String toHexString (final int v)
 

Static Public Attributes

static final int CHOSEN_BITS = -2
 Request current context drawable's chosen depth- or stencil-bits; value {@value}.
 
static class ColorAttachment extends RenderAttachment implements gamp::render::gl::FBObject::Colorbuffer dataFormat
 Texture FBO attachment.
 
static class ColorAttachment extends RenderAttachment implements gamp::render::gl::FBObject::Colorbuffer dataType
 
static final int DEFAULT_BITS = 0
 Request default bit count for depth- or stencil buffer (depth 24 bits, stencil 8 bits), value {@value}.
 
static class ColorAttachment extends RenderAttachment implements gamp::render::gl::FBObject::Colorbuffer magFilter
 
static final int MAXIMUM_BITS = -3
 Request maximum bit count for depth- or stencil buffer (depth 32 bits, stencil 16 bits), value {@value}.
 
static class ColorAttachment extends RenderAttachment implements gamp::render::gl::FBObject::Colorbuffer minFilter
 
static final int REQUESTED_BITS = -1
 Request current context drawable's requested depth- or stencil-bits; value {@value}.
 
static class ColorAttachment extends RenderAttachment implements gamp::render::gl::FBObject::Colorbuffer wrapS
 
static class ColorAttachment extends RenderAttachment implements gamp::render::gl::FBObject::Colorbuffer wrapT
 

Protected Member Functions

final void attachRenderbufferImpl (final GL gl, final Attachment.Type atype, final int internalFormat) throws GLException
 

Detailed Description

Core utility class simplifying usage of framebuffer objects (FBO) with all GLProfiles.

Supports on-the-fly reconfiguration of dimension and multisample buffers via reset(GL, int, int, int, boolean) while preserving the Attachment references.

Integrates default read/write framebuffers via GLContext#getDefaultReadFramebuffer() and GLContext#getDefaultReadFramebuffer(), which is being hooked at GL#glBindFramebuffer(int, int) when the default (zero) framebuffer is selected.

FIXME: Implement support for Type#DEPTH_TEXTURE, Type#STENCIL_TEXTURE .

Definition at line 48 of file FBObject.hpp.

Constructor & Destructor Documentation

◆ FBObject()

gamp::render::gl::FBObject::FBObject ( )
inline

Creates an uninitialized FBObject instance.

Call init(GL, int, int, int) .. etc to use it.

Definition at line 953 of file FBObject.hpp.

Here is the caller graph for this function:

Member Function Documentation

◆ RenderAttachment()

gamp::render::gl::FBObject::RenderAttachment ( final Type type,
final int iFormat,
final int samples,
final int width,
final int height,
final int name )
inline
Parameters
typeallowed types are Type#DEPTH_STENCIL Type#DEPTH, Type#STENCIL or Type#COLOR
iFormat
samples
width
height
name

Definition at line 400 of file FBObject.hpp.

Here is the caller graph for this function:

◆ getSamples()

final int gamp::render::gl::FBObject::getSamples ( )
inline

number of samples, or zero for no multisampling

Definition at line 407 of file FBObject.hpp.

◆ setSamples()

final void gamp::render::gl::FBObject::setSamples ( final int s)
inline

Definition at line 408 of file FBObject.hpp.

◆ equals()

boolean gamp::render::gl::FBObject::equals ( final Object o)
inline

Comparison by type, format, samples, width, height and name.

Definition at line 429 of file FBObject.hpp.

◆ hashCode()

int gamp::render::gl::FBObject::hashCode ( )
inline

Hashed by type, format, samples, width, height and name.

Definition at line 443 of file FBObject.hpp.

◆ initialize() [1/2]

boolean gamp::render::gl::FBObject::initialize ( final GL gl) throws GLException
inline

Definition at line 451 of file FBObject.hpp.

◆ free() [1/2]

void gamp::render::gl::FBObject::free ( final GL gl)
inline

Definition at line 490 of file FBObject.hpp.

◆ toString() [1/3]

String gamp::render::gl::FBObject::toString ( )
inline

Definition at line 502 of file FBObject.hpp.

◆ TextureAttachment()

gamp::render::gl::FBObject::TextureAttachment ( final Type type,
final int iFormat,
final int width,
final int height,
final int dataFormat,
final int dataType,
final int magFilter,
final int minFilter,
final int wrapS,
final int wrapT,
final int name )
inline
Parameters
typeallowed types are [ Type#COLOR_TEXTURE, Type#DEPTH_TEXTURE, Type#STENCIL_TEXTURE ]
iFormat
width
height
dataFormat
dataType
magFilter
minFilter
wrapS
wrapT
name

Definition at line 539 of file FBObject.hpp.

Here is the caller graph for this function:

◆ initialize() [2/2]

boolean gamp::render::gl::FBObject::initialize ( final GL gl) throws GLException
inline

Initializes the texture and set it's parameter, if uninitialized, i.e.

name is zero.

Exceptions
GLExceptionif texture generation and setup fails. The just created texture name will be deleted in this case.

Definition at line 567 of file FBObject.hpp.

◆ free() [2/2]

void gamp::render::gl::FBObject::free ( final GL gl)
inline

Definition at line 624 of file FBObject.hpp.

◆ isTextureAttachment()

final boolean gamp::render::gl::FBObject::isTextureAttachment ( )
inline

Definition at line 636 of file FBObject.hpp.

Here is the caller graph for this function:

◆ getTextureAttachment()

final TextureAttachment gamp::render::gl::FBObject::getTextureAttachment ( )
inline

Definition at line 638 of file FBObject.hpp.

◆ getColorAttachment()

final ColorAttachment gamp::render::gl::FBObject::getColorAttachment ( )
inline

Definition at line 640 of file FBObject.hpp.

◆ toString() [2/3]

String gamp::render::gl::FBObject::toString ( )
inline

Definition at line 643 of file FBObject.hpp.

◆ toHexString()

static String gamp::render::gl::FBObject::toHexString ( final int v)
inlinestatic

Definition at line 652 of file FBObject.hpp.

Here is the caller graph for this function:

◆ createColorTextureAttachment() [1/4]

static final TextureAttachment gamp::render::gl::FBObject::createColorTextureAttachment ( final GL gl,
final boolean alpha,
final int width,
final int height )
inlinestatic

Creates a color TextureAttachment, i.e.

type Type#COLOR_TEXTURE, selecting the texture data type and format automatically.

Using default min/mag filter GL#GL_NEAREST and default wrapS/wrapT GL#GL_CLAMP_TO_EDGE.

Parameters
glthe used GLContext's GL object
alphaset to true if you request alpha channel, otherwise false;
widthtexture width
heighttexture height
Returns
the created and uninitialized color TextureAttachment

Definition at line 668 of file FBObject.hpp.

Here is the caller graph for this function:

◆ createColorTextureAttachment() [2/4]

static final TextureAttachment gamp::render::gl::FBObject::createColorTextureAttachment ( final GL gl,
final boolean alpha,
final int width,
final int height,
final int magFilter,
final int minFilter,
final int wrapS,
final int wrapT )
inlinestatic

Creates a color TextureAttachment, i.e.

type Type#COLOR_TEXTURE, selecting the texture data type and format automatically.

For GLES3, sampling-sink format must be equal w/ the sampling-source Colorbuffer, see details below. Implementation aligns w/ createColorAttachment(boolean) and is enforced via sampleSinkExFormatMismatch(GL).

ES3 BlitFramebuffer Requirements: OpenGL ES 3.0.2 p194: 4.3.2 Copying Pixels

If SAMPLE_BUFFERS for the read framebuffer is greater than zero, no copy
is performed and an INVALID_OPERATION error is generated if the formats of
the read and draw framebuffers are not identical or if the source and destination
rectangles are not defined with the same (X0, Y 0) and (X1, Y 1) bounds.

Texture and Renderbuffer format details:

ES2 Base iFormat: OpenGL ES 2.0.24 p66: 3.7.1 Texture Image Specification, Table 3.8
  ALPHA, LUMINANCE, LUMINANCE_ALPHA, RGB, RGBA

ES3 Base iFormat: OpenGL ES 3.0.2 p125: 3.8.3 Texture Image Specification, Table 3.11
  ALPHA, LUMINANCE, LUMINANCE_ALPHA, RGB, RGBA
  DEPTH_COMPONENT, STENCIL_COMPONENT, RED, RG

ES3 Required Texture and Renderbuffer iFormat: OpenGL ES 3.0.2 p126: 3.8.3 Texture Image Specification
  - RGBA32I, RGBA32UI, RGBA16I, RGBA16UI, RGBA8, RGBA8I,
    RGBA8UI, SRGB8_ALPHA8, RGB10_A2, RGB10_A2UI, RGBA4, and
    RGB5_A1.
  - RGB8 and RGB565.
  - RG32I, RG32UI, RG16I, RG16UI, RG8, RG8I, and RG8UI.
  - R32I, R32UI, R16I, R16UI, R8, R8I, and R8UI.
Parameters
glthe used GLContext's GL object
alphaset to true if you request alpha channel, otherwise false;
widthtexture width
heighttexture height
magFilterif > 0 value for GL#GL_TEXTURE_MAG_FILTER
minFilterif > 0 value for GL#GL_TEXTURE_MIN_FILTER
wrapSif > 0 value for GL#GL_TEXTURE_WRAP_S
wrapTif > 0 value for GL#GL_TEXTURE_WRAP_T
Returns
the created and uninitialized color TextureAttachment

Definition at line 717 of file FBObject.hpp.

◆ createColorTextureAttachment() [3/4]

static final TextureAttachment gamp::render::gl::FBObject::createColorTextureAttachment ( final GL gl,
final int internalFormat,
final int width,
final int height,
final int magFilter,
final int minFilter,
final int wrapS,
final int wrapT )
inlinestatic

Definition at line 738 of file FBObject.hpp.

◆ createColorTextureAttachment() [4/4]

static final TextureAttachment gamp::render::gl::FBObject::createColorTextureAttachment ( final int internalFormat,
final int width,
final int height,
final int dataFormat,
final int dataType,
final int magFilter,
final int minFilter,
final int wrapS,
final int wrapT )
inlinestatic

Creates a color TextureAttachment, i.e.

type Type#COLOR_TEXTURE.

Parameters
internalFormatinternalFormat parameter to GL#glTexImage2D(int, int, int, int, int, int, int, int, long)
widthtexture width
heighttexture height
dataFormatformat parameter to GL#glTexImage2D(int, int, int, int, int, int, int, int, long)
dataTypetype parameter to GL#glTexImage2D(int, int, int, int, int, int, int, int, long)
magFilterif > 0 value for GL#GL_TEXTURE_MAG_FILTER
minFilterif > 0 value for GL#GL_TEXTURE_MIN_FILTER
wrapSif > 0 value for GL#GL_TEXTURE_WRAP_S
wrapTif > 0 value for GL#GL_TEXTURE_WRAP_T
Returns
the created and uninitialized color TextureAttachment

Definition at line 766 of file FBObject.hpp.

◆ getColorbuffer() [1/2]

final Colorbuffer gamp::render::gl::FBObject::getColorbuffer ( final int attachmentPoint)
inline

Return the Colorbuffer attachment at attachmentPoint if it is attached to this FBO, otherwise null.

See also
#attachColorbuffer(GL, boolean)
#attachColorbuffer(GL, boolean)
attachTexture2D(GL, int, boolean, int, int, int, int)
attachTexture2D(GL, int, int, int, int, int, int, int, int)

Definition at line 885 of file FBObject.hpp.

Here is the caller graph for this function:

◆ getColorbufferAttachmentPoint()

final int gamp::render::gl::FBObject::getColorbufferAttachmentPoint ( final Colorbuffer ca)
inline

Finds the passed Colorbuffer within the valid range of attachment points using reference comparison only.

Note: Slow. Implementation uses a logN array search to save resources, i.e. not using a HashMap.

Parameters
cathe Colorbuffer to look for.
Returns
-1 if the Colorbuffer could not be found, otherwise [0..getMaxColorAttachments()-1]

Definition at line 899 of file FBObject.hpp.

Here is the caller graph for this function:

◆ getColorbuffer() [2/2]

final Colorbuffer gamp::render::gl::FBObject::getColorbuffer ( final Colorbuffer ca)
inline

Returns the passed Colorbuffer if it is attached to this FBO, otherwise null.

Implementation compares the reference only.

Note: Slow. Uses getColorbufferAttachmentPoint(Colorbuffer) to determine it's attachment point to be used for getColorbuffer(int)

See also
#attachColorbuffer(GL, boolean)
#attachColorbuffer(GL, boolean)
attachTexture2D(GL, int, boolean, int, int, int, int)
attachTexture2D(GL, int, int, int, int, int, int, int, int)

Definition at line 922 of file FBObject.hpp.

◆ hasAttachmentUsingAlpha()

final boolean gamp::render::gl::FBObject::hasAttachmentUsingAlpha ( )
inline

Returns true if any attached Colorbuffer uses alpha, otherwise false.

Definition at line 931 of file FBObject.hpp.

Here is the caller graph for this function:

◆ init()

void gamp::render::gl::FBObject::init ( final GL gl,
final int newWidth,
final int newHeight,
final int newSamples ) throws IllegalStateException, GLException
inline

Initializes this FBO's instance.

The sampling sink is not initializes, allowing manual assignment via setSamplingSink(FBObject) if newSamples > 0.

Leaves the FBO bound

Parameters
glthe current GL context
newWidththe initial width, it's minimum is capped to 1
newHeightthe initial height, it's minimum is capped to 1
newSamplesif > 0, MSAA will be used, otherwise no multisampling. Will be capped to getMaxSamples().
Exceptions
IllegalStateExceptionif already initialized
GLExceptionin case of an error, i.e. size too big, etc ..

Definition at line 1007 of file FBObject.hpp.

Here is the caller graph for this function:

◆ reset()

final boolean gamp::render::gl::FBObject::reset ( final GL gl,
int newWidth,
int newHeight,
int newSamples ) throws GLException, IllegalStateException
inline

Resets this FBO's instance.

In case the new parameters are compatible with the current ones no action will be performed and method returns immediately.
Otherwise all attachments will be recreated to match the new given parameters.

resetSamplingSink(GL) is being issued immediately to match the new configuration.

Leaves the FBO bound state untouched

Parameters
glthe current GL context
newWidththe new width, it's minimum is capped to 1
newHeightthe new height, it's minimum is capped to 1
newSamplesif > 0, MSAA will be used, otherwise no multisampling. Will be capped to getMaxSamples().
Returns
true if this instance has been modified, otherwise false.
Exceptions
IllegalStateExceptionif not initialized via init(GL, int, int, int).
GLExceptionin case of an error, i.e. size too big, etc ..

Definition at line 1139 of file FBObject.hpp.

◆ formatToGLCapabilities()

final void gamp::render::gl::FBObject::formatToGLCapabilities ( final GLCapabilities caps)
inline

Writes the internal format of the attachments to the given GLCapabilities object.

Parameters
capsthe destination for format bits

Definition at line 1239 of file FBObject.hpp.

◆ getStatus()

final int gamp::render::gl::FBObject::getStatus ( )
inline

Note that the status may reflect an incomplete state during transition of attachments.

Returns
The FB status. GL.GL_FRAMEBUFFER_COMPLETE if ok, otherwise return GL FBO error state or -1
See also
#validateStatus()

Definition at line 1262 of file FBObject.hpp.

◆ getStatusString() [1/2]

final String gamp::render::gl::FBObject::getStatusString ( )
inline

return the getStatus() as a string.

Definition at line 1267 of file FBObject.hpp.

Here is the caller graph for this function:

◆ getStatusString() [2/2]

static final String gamp::render::gl::FBObject::getStatusString ( final int fbStatus)
inlinestatic

Definition at line 1271 of file FBObject.hpp.

◆ isStatusValid()

final boolean gamp::render::gl::FBObject::isStatusValid ( )
inline

The status may even be valid if incomplete during transition of attachments.

See also
getStatus()

Definition at line 1312 of file FBObject.hpp.

◆ attachTexture2D() [1/3]

final TextureAttachment gamp::render::gl::FBObject::attachTexture2D ( final GL gl,
final int attachmentPoint,
final boolean alpha ) throws GLException
inline

Attaches a Colorbuffer, i.e.

TextureAttachment, to this FBO's instance at the given attachment point, selecting the texture data type and format automatically.

Using default min/mag filter GL#GL_NEAREST and default wrapS/wrapT GL#GL_CLAMP_TO_EDGE.

Leaves the FBO bound.

Parameters
glthe current GL context
attachmentPointthe color attachment point ranging from [0..getMaxColorAttachments()-1]
alphaset to true if you request alpha channel, otherwise false;
Returns
TextureAttachment instance describing the new attached texture colorbuffer if bound and configured successfully, otherwise GLException is thrown
Exceptions
GLExceptionin case the texture colorbuffer couldn't be allocated or MSAA has been chosen
See also
#createColorTextureAttachment(GLProfile, boolean, int, int)

Definition at line 1386 of file FBObject.hpp.

◆ attachTexture2D() [2/3]

final TextureAttachment gamp::render::gl::FBObject::attachTexture2D ( final GL gl,
final int attachmentPoint,
final boolean alpha,
final int magFilter,
final int minFilter,
final int wrapS,
final int wrapT ) throws GLException
inline

Attaches a Colorbuffer, i.e.

TextureAttachment, to this FBO's instance at the given attachment point, selecting the texture data type and format automatically.

Leaves the FBO bound.

Parameters
glthe current GL context
attachmentPointthe color attachment point ranging from [0..getMaxColorAttachments()-1]
alphaset to true if you request alpha channel, otherwise false;
magFilterif > 0 value for GL#GL_TEXTURE_MAG_FILTER
minFilterif > 0 value for GL#GL_TEXTURE_MIN_FILTER
wrapSif > 0 value for GL#GL_TEXTURE_WRAP_S
wrapTif > 0 value for GL#GL_TEXTURE_WRAP_T
Returns
TextureAttachment instance describing the new attached texture colorbuffer if bound and configured successfully, otherwise GLException is thrown
Exceptions
GLExceptionin case the texture colorbuffer couldn't be allocated or MSAA has been chosen
See also
#createColorTextureAttachment(GLProfile, boolean, int, int, int, int, int, int)

Definition at line 1408 of file FBObject.hpp.

◆ attachTexture2D() [3/3]

final TextureAttachment gamp::render::gl::FBObject::attachTexture2D ( final GL gl,
final int attachmentPoint,
final int internalFormat,
final int dataFormat,
final int dataType,
final int magFilter,
final int minFilter,
final int wrapS,
final int wrapT ) throws GLException
inline

Attaches a Colorbuffer, i.e.

TextureAttachment, to this FBO's instance at the given attachment point.

Leaves the FBO bound.

Parameters
glthe current GL context
attachmentPointthe color attachment point ranging from [0..getMaxColorAttachments()-1]
internalFormatinternalFormat parameter to GL#glTexImage2D(int, int, int, int, int, int, int, int, long)
dataFormatformat parameter to GL#glTexImage2D(int, int, int, int, int, int, int, int, long)
dataTypetype parameter to GL#glTexImage2D(int, int, int, int, int, int, int, int, long)
magFilterif > 0 value for GL#GL_TEXTURE_MAG_FILTER
minFilterif > 0 value for GL#GL_TEXTURE_MIN_FILTER
wrapSif > 0 value for GL#GL_TEXTURE_WRAP_S
wrapTif > 0 value for GL#GL_TEXTURE_WRAP_T
Returns
TextureAttachment instance describing the new attached texture colorbuffer if bound and configured successfully, otherwise GLException is thrown
Exceptions
GLExceptionin case the texture colorbuffer couldn't be allocated or MSAA has been chosen
See also
createColorTextureAttachment(int, int, int, int, int, int, int, int, int)

Definition at line 1431 of file FBObject.hpp.

◆ createColorAttachment() [1/2]

final ColorAttachment gamp::render::gl::FBObject::createColorAttachment ( final boolean alpha)
inline

Creates a ColorAttachment, selecting the format automatically.

For GLES3, sampling-sink Colorbuffer format must be equal w/ the sampling-source Colorbuffer. Implementation aligns w/ createColorTextureAttachment(GLProfile, boolean, int, int, int, int, int, int) and is enforced via sampleSinkExFormatMismatch(GL).

Parameters
alphaset to true if you request alpha channel, otherwise false;
Returns
uninitialized ColorAttachment instance describing the new attached colorbuffer

Definition at line 1449 of file FBObject.hpp.

Here is the caller graph for this function:

◆ createColorAttachment() [2/2]

static final ColorAttachment gamp::render::gl::FBObject::createColorAttachment ( final int internalFormat,
final int samples,
final int width,
final int height )
inlinestatic

Creates a ColorAttachment, selecting the format automatically.

For GLES3, sampling-sink Colorbuffer format must be equal w/ the sampling-source Colorbuffer. Implementation aligns w/ createColorTextureAttachment(GLProfile, boolean, int, int, int, int, int, int) and is enforced via sampleSinkExFormatMismatch(GL).

Parameters
alphaset to true if you request alpha channel, otherwise false;
Returns
uninitialized ColorAttachment instance describing the new attached colorbuffer

Definition at line 1471 of file FBObject.hpp.

◆ createRenderAttachment()

static final RenderAttachment gamp::render::gl::FBObject::createRenderAttachment ( final Type type,
final int internalFormat,
final int samples,
final int width,
final int height )
inlinestatic

Definition at line 1475 of file FBObject.hpp.

◆ attachColorbuffer() [1/3]

final ColorAttachment gamp::render::gl::FBObject::attachColorbuffer ( final GL gl,
final int attachmentPoint,
final boolean alpha ) throws GLException
inline

Attaches a newly created and initialized Colorbuffer, i.e.

a ColorAttachment, at the given attachment point.

The ColorAttachment is created using alpha if true and current sample count and size.

Leaves the FBO bound.

Parameters
glthe current GL context
attachmentPointthe color attachment point ranging from [0..getMaxColorAttachments()-1]
alphaset to true if you request alpha channel, otherwise false;
Returns
ColorAttachment instance describing the new attached colorbuffer if bound and configured successfully, otherwise GLException is thrown
Exceptions
GLExceptionin case the colorbuffer couldn't be allocated
See also
createColorAttachment(boolean)

Definition at line 1495 of file FBObject.hpp.

Here is the caller graph for this function:

◆ attachColorbuffer() [2/3]

final ColorAttachment gamp::render::gl::FBObject::attachColorbuffer ( final GL gl,
final int attachmentPoint,
final int internalFormat ) throws GLException, IllegalArgumentException
inline

Attaches a newly created and initialized Colorbuffer, i.e.

a ColorAttachment, at the given attachment point.

The ColorAttachment is created using the given internalFormat and current sample count and size.

Leaves the FBO bound.

Parameters
glthe current GL context
attachmentPointthe color attachment point ranging from [0..getMaxColorAttachments()-1]
internalFormatusually GL#GL_RGBA4, GL#GL_RGB5_A1, GL#GL_RGB565, GL#GL_RGB8 or GL#GL_RGBA8
Returns
ColorAttachment instance describing the new attached colorbuffer if bound and configured successfully, otherwise GLException is thrown
Exceptions
GLExceptionin case the colorbuffer couldn't be allocated
IllegalArgumentExceptionif internalFormat doesn't reflect a colorbuffer

Definition at line 1515 of file FBObject.hpp.

◆ attachColorbuffer() [3/3]

final Colorbuffer gamp::render::gl::FBObject::attachColorbuffer ( final GL gl,
final int attachmentPoint,
final Colorbuffer colbuf ) throws GLException
inline

Attaches a Colorbuffer at the given attachment point and initializes it, if not done yet.

Colorbuffer may be a ColorAttachment or TextureAttachment.

If Colorbuffer is a TextureAttachment and is uninitialized, i.e. it's texture name is zero, a new texture name is generated and setup w/ the texture parameter.
Otherwise, i.e. texture name is not zero, the passed TextureAttachment texA is considered complete and assumed matching this FBO requirement. A GL error may occur is the latter is untrue.

Leaves the FBO bound.

Parameters
gl
attachmentPointthe color attachment point ranging from [0..getMaxColorAttachments()-1]
colbufthe to be attached Colorbuffer
Returns
given Colorbuffer instance if bound and configured successfully, otherwise GLException is thrown
Exceptions
GLExceptionin case the colorbuffer couldn't be allocated or MSAA has been chosen in case of a TextureAttachment

Definition at line 1545 of file FBObject.hpp.

◆ attachRenderbuffer() [1/2]

final void gamp::render::gl::FBObject::attachRenderbuffer ( final GL gl,
final Attachment.Type atype,
final int reqBits ) throws GLException, IllegalArgumentException
inline

Attaches one depth, stencil or packed-depth-stencil buffer to this FBO's instance, selecting the internalFormat automatically.

Stencil and depth buffer can be attached only once.

In case the bit-count is not supported, the next available one is chosen, i.e. next higher (preferred) or lower bit-count.

Use getDepthAttachment() and/or getStencilAttachment() to retrieve details about the attached buffer. The details cannot be returned, since it's possible 2 buffers are being created, depth and stencil.

Leaves the FBO bound.

Parameters
gl
atypeeither Type#DEPTH, Type#STENCIL or Type#DEPTH_STENCIL
reqBitsdesired bits for depth or stencil, may use generic values DEFAULT_BITS, REQUESTED_BITS, CHOSEN_BITS or MAXIMUM_BITS.
Exceptions
GLExceptionin case the renderbuffer couldn't be allocated or one is already attached.
IllegalArgumentException
See also
getDepthAttachment()
getStencilAttachment()

Definition at line 1690 of file FBObject.hpp.

◆ attachRenderbuffer() [2/2]

final void gamp::render::gl::FBObject::attachRenderbuffer ( final GL gl,
final int internalFormat ) throws GLException, IllegalArgumentException
inline

Attaches one depth, stencil or packed-depth-stencil buffer to this FBO's instance, depending on the internalFormat.

Stencil and depth buffer can be attached only once.

Use getDepthAttachment() and/or getStencilAttachment() to retrieve details about the attached buffer. The details cannot be returned, since it's possible 2 buffers are being created, depth and stencil.

Leaves the FBO bound.

Parameters
glthe current GL context
internalFormatGL#GL_DEPTH_COMPONENT16, GL#GL_DEPTH_COMPONENT24, GL#GL_DEPTH_COMPONENT32, GL#GL_STENCIL_INDEX1, GL#GL_STENCIL_INDEX4, GL#GL_STENCIL_INDEX8 or GL#GL_DEPTH24_STENCIL8
Exceptions
GLExceptionin case the renderbuffer couldn't be allocated or one is already attached.
IllegalArgumentException
See also
getDepthAttachment()
getStencilAttachment()

Definition at line 1765 of file FBObject.hpp.

◆ attachRenderbufferImpl()

final void gamp::render::gl::FBObject::attachRenderbufferImpl ( final GL gl,
final Attachment.Type atype,
final int internalFormat ) throws GLException
inlineprotected

Definition at line 1773 of file FBObject.hpp.

Here is the caller graph for this function:

◆ detachColorbuffer()

final Colorbuffer gamp::render::gl::FBObject::detachColorbuffer ( final GL gl,
final int attachmentPoint,
final boolean dispose ) throws IllegalArgumentException
inline

Detaches a Colorbuffer, i.e.

ColorAttachment or TextureAttachment.

Leaves the FBO bound!

Parameters
gl
attachmentPoint
disposetrue if the Colorbuffer shall be disposed
Returns
the detached Colorbuffer
Exceptions
IllegalArgumentException

Definition at line 1856 of file FBObject.hpp.

◆ detachRenderbuffer()

final void gamp::render::gl::FBObject::detachRenderbuffer ( final GL gl,
final Attachment.Type atype,
final boolean dispose ) throws IllegalArgumentException
inline
Parameters
gl
disposetrue if the Colorbuffer shall be disposed
reqATypeType#DEPTH, Type#DEPTH or Type#DEPTH_STENCIL

Definition at line 1981 of file FBObject.hpp.

◆ isDepthStencilPackedFormat()

final boolean gamp::render::gl::FBObject::isDepthStencilPackedFormat ( )
inline

Definition at line 1992 of file FBObject.hpp.

Here is the caller graph for this function:

◆ detachAll()

final void gamp::render::gl::FBObject::detachAll ( final GL gl)
inline

Detaches all ColorAttachments, TextureAttachments and RenderAttachments and disposes them.

Leaves the FBO bound, if initialized!

An attached sampling sink texture will be detached as well, see getSamplingTextureSink().

Parameters
glthe current GL context

Definition at line 2148 of file FBObject.hpp.

◆ detachAllColorbuffer()

final void gamp::render::gl::FBObject::detachAllColorbuffer ( final GL gl)
inline

Detaches all ColorAttachments and TextureAttachments and disposes them.

Leaves the FBO bound, if initialized!

An attached sampling sink texture will be detached as well, see getSamplingTextureSink().

Parameters
glthe current GL context

Definition at line 2164 of file FBObject.hpp.

◆ detachAllTexturebuffer()

final void gamp::render::gl::FBObject::detachAllTexturebuffer ( final GL gl)
inline

Detaches all TextureAttachments and disposes them.

Leaves the FBO bound, if initialized!

An attached sampling sink texture will be detached as well, see getSamplingTextureSink().

Parameters
glthe current GL context

Definition at line 2179 of file FBObject.hpp.

◆ detachAllRenderbuffer()

final void gamp::render::gl::FBObject::detachAllRenderbuffer ( final GL gl)
inline

Definition at line 2197 of file FBObject.hpp.

◆ destroy()

final void gamp::render::gl::FBObject::destroy ( final GL gl)
inline
Parameters
glthe current GL context

Definition at line 2252 of file FBObject.hpp.

◆ resetSamplingSink()

final boolean gamp::render::gl::FBObject::resetSamplingSink ( final GL gl) throws GLException
inline

Manually validates the MSAA sampling sink, if used.

If MSAA is being used and no sampling sink is attached via setSamplingSink(FBObject) a new sampling sink is being created.

If the sampling sink size or attributes differs from the source, its attachments are reset to match the source.

Automatically called by reset(GL, int, int, int, boolean) and syncSamplingSink(GL).

It is recommended to call this method after initializing the FBO and attaching renderbuffer etc for the 1st time if access to sampling sink resources is required.

Leaves the FBO bound state untouched

Parameters
glthe current GL context
Returns
true if this instance has been modified, otherwise false.
Exceptions
GLExceptionin case of an error, i.e. size too big, etc ..

Definition at line 2344 of file FBObject.hpp.

Here is the caller graph for this function:

◆ setSamplingSink()

FBObject gamp::render::gl::FBObject::setSamplingSink ( final FBObject newSamplingSink) throws IllegalStateException, GLException
inline

Setting this FBO sampling sink.

Parameters
newSamplingSinkthe new and initialized FBO sampling sink to use, or null to remove current sampling sink
Returns
the previous sampling sink or null if none was attached
Exceptions
GLExceptionif this FBO doesn't use MSAA or the given sink uses MSAA itself
IllegalStateExceptionif the newSamplingSink is not null and not initialized

Definition at line 2504 of file FBObject.hpp.

◆ bind()

final void gamp::render::gl::FBObject::bind ( final GL gl) throws GLException
inline

Bind this FBO, i.e.

bind write framebuffer to getWriteFramebuffer().

If multisampling is used, it sets the read framebuffer to the sampling sink getWriteFramebuffer().

In case you have attached more than one color buffer, you may want to setup GL2ES3#glDrawBuffers(int, int[], int).

Parameters
glthe current GL context
Exceptions
GLException

Definition at line 2539 of file FBObject.hpp.

Here is the caller graph for this function:

◆ unbind()

final void gamp::render::gl::FBObject::unbind ( final GL gl) throws GLException
inline

Unbind this FBO, i.e.

bind read and write framebuffer to default, see GLBase#getDefaultDrawFramebuffer().

If full FBO is supported, sets the read and write framebuffer individually to default, hence not disturbing an optional operating MSAA FBO, see GLBase#getDefaultReadFramebuffer() and GLBase#getDefaultDrawFramebuffer()

Parameters
glthe current GL context
Exceptions
GLException

Definition at line 2562 of file FBObject.hpp.

Here is the caller graph for this function:

◆ markUnbound()

final void gamp::render::gl::FBObject::markUnbound ( )
inline

Method simply marks this FBO unbound w/o interfering w/ the bound framebuffer as perfomed by unbind(GL).

Only use this method if a subsequent unbind(GL), use(GL, TextureAttachment) or bind(GL) follows on any FBO.

Definition at line 2583 of file FBObject.hpp.

Here is the caller graph for this function:

◆ isBound() [1/2]

final boolean gamp::render::gl::FBObject::isBound ( final GL gl)
inline

Returns true if framebuffer object is bound via bind(GL), otherwise false.

Method verifies the bound state via GL#getBoundFramebuffer(int).

Parameters
glthe current GL context

Definition at line 2594 of file FBObject.hpp.

◆ isBound() [2/2]

final boolean gamp::render::gl::FBObject::isBound ( )
inline

Returns true if framebuffer object is bound via bind(GL), otherwise false.

Definition at line 2600 of file FBObject.hpp.

Here is the caller graph for this function:

◆ syncSamplingSink()

final void gamp::render::gl::FBObject::syncSamplingSink ( final GL gl)
inline

If multisampling is being used and flagged dirty by a previous call of bind(GL) or after initialization, the msaa-buffers are sampled to it's sink getSamplingTextureSink().

Method also resets the sampling sink configuration via resetSamplingSink(GL) if used and required.

Method is called automatically by use(GL, TextureAttachment).

Method always resets the framebuffer binding to default in the end. If full FBO is supported, sets the read and write framebuffer individually to default after sampling, hence not disturbing an optional operating MSAA FBO, see GLBase#getDefaultReadFramebuffer() and GLBase#getDefaultDrawFramebuffer()

In case you use this FBO w/o the GLFBODrawable and intend to employ glReadPixels(..) you may want to call glBindFramebuffer(GL2ES3#GL_READ_FRAMEBUFFER, getReadFramebuffer());

Leaves the FBO unbound.

Parameters
glthe current GL context
taTextureAttachment to use, prev. attached w/ attachTexture2D(..)
Exceptions
IllegalArgumentException

Definition at line 2626 of file FBObject.hpp.

Here is the caller graph for this function:

◆ use()

final void gamp::render::gl::FBObject::use ( final GL gl,
final TextureAttachment ta ) throws IllegalArgumentException
inline

Synchronize the sampling sink and bind the given TextureAttachment, if not null.

If using a TextureAttachment and multiple texture units, ensure you call GL#glActiveTexture(int) first!

syncSamplingSink(GL) is being called

Leaves the FBO unbound!

Parameters
glthe current GL context
taTextureAttachment to use, prev. attached w/ attachTexture2D(..), may be null in case no TextureAttachment is used.
Exceptions
IllegalArgumentException

Definition at line 2671 of file FBObject.hpp.

◆ unuse()

final void gamp::render::gl::FBObject::unuse ( final GL gl)
inline

Unbind texture, ie bind 'non' texture 0.

Leaves the FBO unbound.

Definition at line 2683 of file FBObject.hpp.

◆ hasFullFBOSupport()

final boolean gamp::render::gl::FBObject::hasFullFBOSupport ( ) throws GLException
inline
See also
GL#hasFullFBOSupport()

Definition at line 2689 of file FBObject.hpp.

◆ supportsRGBA8()

final boolean gamp::render::gl::FBObject::supportsRGBA8 ( ) throws GLException
inline

Returns true if renderbuffer accepts internal format GL#GL_RGB8 and GL#GL_RGBA8, otherwise false.

Exceptions
GLExceptionif init(GL) hasn't been called.

Definition at line 2695 of file FBObject.hpp.

◆ supportsDepth()

final boolean gamp::render::gl::FBObject::supportsDepth ( final int bits) throws GLException
inline

Returns true if GL#GL_DEPTH_COMPONENT16, GL#GL_DEPTH_COMPONENT24 or GL#GL_DEPTH_COMPONENT32 is supported, otherwise false.

Parameters
bits16, 24 or 32 bits
Exceptions
GLExceptionif init(GL) hasn't been called.

Definition at line 2702 of file FBObject.hpp.

◆ supportsStencil()

final boolean gamp::render::gl::FBObject::supportsStencil ( final int bits) throws GLException
inline

Returns true if GL#GL_STENCIL_INDEX1, GL#GL_STENCIL_INDEX4, GL#GL_STENCIL_INDEX8 or GL2GL3#GL_STENCIL_INDEX16 is supported, otherwise false.

Parameters
bits1, 4, 8 or 16 bits
Exceptions
GLExceptionif init(GL) hasn't been called.

Definition at line 2717 of file FBObject.hpp.

◆ supportsPackedDepthStencil()

final boolean gamp::render::gl::FBObject::supportsPackedDepthStencil ( ) throws GLException
inline

Returns true if GL#GL_DEPTH24_STENCIL8 is supported, otherwise false.

Exceptions
GLExceptionif init(GL) hasn't been called.

Definition at line 2732 of file FBObject.hpp.

◆ getMaxColorAttachments()

final int gamp::render::gl::FBObject::getMaxColorAttachments ( ) throws GLException
inline

Returns the maximum number of colorbuffer attachments.

Exceptions
GLExceptionif init(GL) hasn't been called.

Definition at line 2738 of file FBObject.hpp.

◆ getMaxTextureSize()

final int gamp::render::gl::FBObject::getMaxTextureSize ( ) throws GLException
inline

Definition at line 2740 of file FBObject.hpp.

◆ getMaxRenderbufferSize()

final int gamp::render::gl::FBObject::getMaxRenderbufferSize ( ) throws GLException
inline

Definition at line 2741 of file FBObject.hpp.

◆ getMaxSamples()

final int gamp::render::gl::FBObject::getMaxSamples ( ) throws GLException
inline
See also
GL#getMaxRenderbufferSamples()

Definition at line 2744 of file FBObject.hpp.

◆ isInitialized()

final boolean gamp::render::gl::FBObject::isInitialized ( )
inline

Returns true if this instance has been initialized with reset(GL, int, int) or reset(GL, int, int, int, boolean), otherwise false

Definition at line 2750 of file FBObject.hpp.

Here is the caller graph for this function:

◆ getWidth()

final int gamp::render::gl::FBObject::getWidth ( )
inline

Returns the width.

Definition at line 2752 of file FBObject.hpp.

Here is the caller graph for this function:

◆ getHeight()

final int gamp::render::gl::FBObject::getHeight ( )
inline

Returns the height.

Definition at line 2754 of file FBObject.hpp.

Here is the caller graph for this function:

◆ getNumSamples()

final int gamp::render::gl::FBObject::getNumSamples ( )
inline

Returns the number of samples for multisampling (MSAA).

zero if no multisampling is used.

Definition at line 2756 of file FBObject.hpp.

◆ getWriteFramebuffer()

final int gamp::render::gl::FBObject::getWriteFramebuffer ( )
inline

Returns the framebuffer name to render to.

Definition at line 2758 of file FBObject.hpp.

Here is the caller graph for this function:

◆ getReadFramebuffer()

final int gamp::render::gl::FBObject::getReadFramebuffer ( )
inline

Returns the framebuffer name to read from.

Depending on multisampling, this may be a different framebuffer.

Definition at line 2760 of file FBObject.hpp.

Here is the caller graph for this function:

◆ getDefaultDrawBuffer()

final int gamp::render::gl::FBObject::getDefaultDrawBuffer ( )
inline

Definition at line 2764 of file FBObject.hpp.

◆ getDefaultReadBuffer()

final int gamp::render::gl::FBObject::getDefaultReadBuffer ( )
inline

Definition at line 2766 of file FBObject.hpp.

◆ getColorbufferCount()

final int gamp::render::gl::FBObject::getColorbufferCount ( )
inline

Return the number of attached Colorbuffers.

Definition at line 2769 of file FBObject.hpp.

Here is the caller graph for this function:

◆ getTextureAttachmentCount()

final int gamp::render::gl::FBObject::getTextureAttachmentCount ( )
inline

Return the number of attached TextureAttachments.

Definition at line 2771 of file FBObject.hpp.

◆ getStencilAttachment()

final RenderAttachment gamp::render::gl::FBObject::getStencilAttachment ( )
inline

Return the stencil RenderAttachment attachment, if exist.

Maybe share the same Attachment#getName() as getDepthAttachment(), if packed depth-stencil is being used.

Definition at line 2773 of file FBObject.hpp.

◆ getDepthAttachment()

final RenderAttachment gamp::render::gl::FBObject::getDepthAttachment ( )
inline

Return the depth RenderAttachment attachment.

Maybe share the same Attachment#getName() as getStencilAttachment(), if packed depth-stencil is being used.

Definition at line 2775 of file FBObject.hpp.

◆ getSamplingSinkFBO()

final FBObject gamp::render::gl::FBObject::getSamplingSinkFBO ( )
inline

Return the complete multisampling FBObject sink, if using multisampling.

Definition at line 2778 of file FBObject.hpp.

◆ getSamplingSink()

final Colorbuffer gamp::render::gl::FBObject::getSamplingSink ( )
inline

Return the multisampling Colorbuffer sink, if using multisampling.

Definition at line 2781 of file FBObject.hpp.

Here is the caller graph for this function:

◆ isSamplingBufferDirty()

final boolean gamp::render::gl::FBObject::isSamplingBufferDirty ( )
inline

Returns true if the multisampling colorbuffer (msaa-buffer) has been flagged dirty by a previous call of bind(GL), otherwise false.

Definition at line 2788 of file FBObject.hpp.

◆ isModified()

final boolean gamp::render::gl::FBObject::isModified ( )
inline

Returns true if size, sample-count or any attachment of this instance or its sampling-sink has been modified since last sync, use, reset or resetSamplingSink.

Otherwise method returns false.

Definition at line 2799 of file FBObject.hpp.

Here is the caller graph for this function:

◆ objectHashCode()

int gamp::render::gl::FBObject::objectHashCode ( )
inline

Definition at line 2801 of file FBObject.hpp.

Here is the caller graph for this function:

◆ toString() [3/3]

final String gamp::render::gl::FBObject::toString ( )
inline

Definition at line 2804 of file FBObject.hpp.

Member Data Documentation

◆ dataFormat

class ColorAttachment extends RenderAttachment implements gamp::render::gl::FBObject::Colorbuffer gamp::render::gl::FBObject::dataFormat
static

Texture FBO attachment.

details of the texture setup

◆ dataType

class ColorAttachment extends RenderAttachment implements gamp::render::gl::FBObject::Colorbuffer gamp::render::gl::FBObject::dataType
static

◆ magFilter

class ColorAttachment extends RenderAttachment implements gamp::render::gl::FBObject::Colorbuffer gamp::render::gl::FBObject::magFilter
static

◆ minFilter

class ColorAttachment extends RenderAttachment implements gamp::render::gl::FBObject::Colorbuffer gamp::render::gl::FBObject::minFilter
static

◆ wrapS

class ColorAttachment extends RenderAttachment implements gamp::render::gl::FBObject::Colorbuffer gamp::render::gl::FBObject::wrapS
static

◆ wrapT

class ColorAttachment extends RenderAttachment implements gamp::render::gl::FBObject::Colorbuffer gamp::render::gl::FBObject::wrapT
static

◆ DEFAULT_BITS

final int gamp::render::gl::FBObject::DEFAULT_BITS = 0
static

Request default bit count for depth- or stencil buffer (depth 24 bits, stencil 8 bits), value {@value}.

Definition at line 1647 of file FBObject.hpp.

◆ REQUESTED_BITS

final int gamp::render::gl::FBObject::REQUESTED_BITS = -1
static

Request current context drawable's requested depth- or stencil-bits; value {@value}.

Definition at line 1652 of file FBObject.hpp.

◆ CHOSEN_BITS

final int gamp::render::gl::FBObject::CHOSEN_BITS = -2
static

Request current context drawable's chosen depth- or stencil-bits; value {@value}.

Definition at line 1657 of file FBObject.hpp.

◆ MAXIMUM_BITS

final int gamp::render::gl::FBObject::MAXIMUM_BITS = -3
static

Request maximum bit count for depth- or stencil buffer (depth 32 bits, stencil 16 bits), value {@value}.

Definition at line 1660 of file FBObject.hpp.


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