FrameBuffer

processing.opengl

## Class FrameBuffer

- Object
- - FrameBuffer

- All Implemented Interfaces:
    PConstants

      public class FrameBuffer
      extends Object
      implements PConstants

  Encapsulates a Frame Buffer Object for offscreen rendering. When created with onscreen == true, it represents the normal framebuffer. Needed by the stack mechanism in OPENGL2 to return to onscreen rendering after a sequence of pushFramebuffer calls. It transparently handles the situations when the FBO extension is not available. By Andres Colubri.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `int` | `glDepth`
    `int` | `glDepthStencil`
    `int` | `glFbo`
    `int` | `glMultisample`
    `int` | `glStencil`
    `int` | `height`
    `int` | `width`

    - ### Fields inherited from interface PConstants

      `ADD, ALPHA, ALT, AMBIENT, ARC, ARGB, ARROW, BACKSPACE, BASELINE, BEVEL, BEZIER_VERTEX, BLEND, BLUR, BOTTOM, BOX, BREAK, BURN, CENTER, CHATTER, CHORD, CLAMP, CLOSE, CODED, COMPLAINT, CONTROL, CORNER, CORNERS, CROSS, CURVE_VERTEX, CUSTOM, DARKEST, DEG_TO_RAD, DELETE, DIAMETER, DIFFERENCE, DILATE, DIRECTIONAL, DISABLE_DEPTH_MASK, DISABLE_DEPTH_SORT, DISABLE_DEPTH_TEST, DISABLE_NATIVE_FONTS, DISABLE_OPENGL_ERRORS, DISABLE_OPTIMIZED_STROKE, DISABLE_RETINA_PIXELS, DISABLE_STROKE_PERSPECTIVE, DISABLE_STROKE_PURE, DISABLE_TEXTURE_MIPMAPS, DODGE, DOWN, DXF, ELLIPSE, ENABLE_DEPTH_MASK, ENABLE_DEPTH_SORT, ENABLE_DEPTH_TEST, ENABLE_NATIVE_FONTS, ENABLE_OPENGL_ERRORS, ENABLE_OPTIMIZED_STROKE, ENABLE_RETINA_PIXELS, ENABLE_STROKE_PERSPECTIVE, ENABLE_STROKE_PURE, ENABLE_TEXTURE_MIPMAPS, ENTER, EPSILON, ERODE, ERROR_BACKGROUND_IMAGE_FORMAT, ERROR_BACKGROUND_IMAGE_SIZE, ERROR_PUSHMATRIX_OVERFLOW, ERROR_PUSHMATRIX_UNDERFLOW, ERROR_TEXTFONT_NULL_PFONT, ESC, EXCLUSION, GIF, GRAY, GROUP, HALF_PI, HAND, HARD_LIGHT, HINT_COUNT, HSB, IMAGE, INVERT, JAVA2D, JPEG, LANDSCAPE, LEFT, LIGHTEST, LINE, LINE_LOOP, LINE_STRIP, LINES, LINUX, MACOSX, MAX_FLOAT, MAX_INT, MIN_FLOAT, MIN_INT, MITER, MODEL, MODELVIEW, MOVE, MULTIPLY, NORMAL, OPAQUE, OPEN, OPENGL, ORTHOGRAPHIC, OTHER, OVERLAY, P2D, P3D, PATH, PDF, PERSPECTIVE, PI, PIE, platformNames, POINT, POINTS, POLYGON, PORTRAIT, POSTERIZE, PROBLEM, PROJECT, PROJECTION, QUAD, QUAD_BEZIER_VERTEX, QUAD_STRIP, QUADRATIC_VERTEX, QUADS, QUARTER_PI, RAD_TO_DEG, RADIUS, RECT, REPEAT, REPLACE, RETURN, RGB, RIGHT, ROUND, SCREEN, SHAPE, SHIFT, SOFT_LIGHT, SPHERE, SPOT, SQUARE, SUBTRACT, TAB, TARGA, TAU, TEXT, THIRD_PI, THRESHOLD, TIFF, TOP, TRIANGLE, TRIANGLE_FAN, TRIANGLE_STRIP, TRIANGLES, TWO_PI, UP, VERTEX, WAIT, WHITESPACE, WINDOWS, X, Y, Z`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `bind()`
    `void` | `clear()`
    `void` | `copy(FrameBuffer dest, FrameBuffer current)`
    `void` | `disableDepthTest()`
    `void` | `finish(PGraphicsOpenGL pg)`
    `int` | `getDefaultDrawBuffer()`
    `int` | `getDefaultReadBuffer()`
    `IntBuffer` | `getPixelBuffer()`
    `void` | `getPixels(int[] pixels)`
    `boolean` | `hasDepthBuffer()`
    `boolean` | `hasStencilBuffer()`
    `void` | `readPixels()`
    `void` | `setColorBuffer(Texture tex)`
    `void` | `setColorBuffers(Texture[] textures)`
    `void` | `setColorBuffers(Texture[] textures, int n)`
    `void` | `setFBO(int id)`
    `void` | `swapColorBuffers()`

    - ### Methods inherited from class Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### glFbo

          public int glFbo

    - #### glDepth

          public int glDepth

    - #### glStencil

          public int glStencil

    - #### glDepthStencil

          public int glDepthStencil

    - #### glMultisample

          public int glMultisample

    - #### width

          public int width

    - #### height

          public int height

  - ### Method Detail

    - #### clear

          public void clear()

    - #### copy

          public void copy(FrameBuffer dest,
                  FrameBuffer current)

    - #### bind

          public void bind()

    - #### disableDepthTest

          public void disableDepthTest()

    - #### finish

          public void finish(PGraphicsOpenGL pg)

    - #### readPixels

          public void readPixels()

    - #### getPixels

          public void getPixels(int[] pixels)

    - #### getPixelBuffer

          public IntBuffer getPixelBuffer()

    - #### hasDepthBuffer

          public boolean hasDepthBuffer()

    - #### hasStencilBuffer

          public boolean hasStencilBuffer()

    - #### setFBO

          public void setFBO(int id)

    - #### setColorBuffer

          public void setColorBuffer(Texture tex)

    - #### setColorBuffers

          public void setColorBuffers(Texture[] textures)

    - #### setColorBuffers

          public void setColorBuffers(Texture[] textures,
                             int n)

    - #### swapColorBuffers

          public void swapColorBuffers()

    - #### getDefaultReadBuffer

          public int getDefaultReadBuffer()

    - #### getDefaultDrawBuffer

          public int getDefaultDrawBuffer()