Class FBObject.Attachment

    • Field Detail

      • type

        public final FBObject.Attachment.Type type
        immutable type [#COLOR, #DEPTH, #STENCIL, #COLOR_TEXTURE, #DEPTH_TEXTURE, #STENCIL_TEXTURE ]
      • format

        public final int format
        immutable the internal format
    • Method Detail

      • formatToGLCapabilities

        public final void formatToGLCapabilities​(GLCapabilities caps,
                                                 boolean rgba8Avail)
        Writes the internal format to the given GLCapabilities object.
        Parameters:
        caps - the destination for format bits
        rgba8Avail - whether rgba8 is available
      • getFormat

        public final int getFormat()
        immutable internal format of attachment
      • getWidth

        public final int getWidth()
        width of attachment
      • getHeight

        public final int getHeight()
        height of attachment
      • getName

        public final int getName()
        buffer name [1..max], maybe a texture or renderbuffer name, depending on type.
      • initialize

        public abstract boolean initialize​(GL gl)
                                    throws GLException
        Initializes the attachment and set it's parameter, if uninitialized, i.e. name is zero.
                    final boolean init = 0 == name;
                    if( init ) {
                        do init ..
                    }
                    return init;
         
        Returns:
        true if newly initialized, otherwise false.
        Throws:
        GLException - if buffer generation or setup fails. The just created buffer name will be deleted in this case.
      • free

        public abstract void free​(GL gl)
                           throws GLException
        Releases the attachment if initialized, i.e. name is not zero.
                    if(0 != name) {
                        do free ..
                        name = 0;
                    }
         
        Throws:
        GLException - if buffer release fails.