Class OitFramebuffer

java.lang.Object
dev.engine_room.flywheel.backend.engine.indirect.OitFramebuffer

public class OitFramebuffer extends Object
  • Field Details

    • CLEAR_TO_ZERO

      public static final float[] CLEAR_TO_ZERO
    • DEPTH_RANGE_DRAW_BUFFERS

      public static final int[] DEPTH_RANGE_DRAW_BUFFERS
    • RENDER_TRANSMITTANCE_DRAW_BUFFERS

      public static final int[] RENDER_TRANSMITTANCE_DRAW_BUFFERS
    • ACCUMULATE_DRAW_BUFFERS

      public static final int[] ACCUMULATE_DRAW_BUFFERS
    • DEPTH_ONLY_DRAW_BUFFERS

      public static final int[] DEPTH_ONLY_DRAW_BUFFERS
    • fbo

      public int fbo
    • depthBounds

      public int depthBounds
    • coefficients

      public int coefficients
    • accumulate

      public int accumulate
  • Constructor Details

    • OitFramebuffer

      public OitFramebuffer(OitPrograms programs)
  • Method Details

    • prepare

      public void prepare()
      Set up the framebuffer.
    • depthRange

      public void depthRange()
      Render out the min and max depth per fragment.
    • renderTransmittance

      public void renderTransmittance()
      Generate the coefficients to the transmittance function.
    • renderDepthFromTransmittance

      public void renderDepthFromTransmittance()
      If any fragment has its transmittance fall off to zero, search the transmittance function to determine at what depth that occurs and write out to the depth buffer.
    • accumulate

      public void accumulate()
      Sample the transmittance function and accumulate.
    • composite

      public void composite()
      Composite the accumulated luminance onto the main framebuffer.
    • delete

      public void delete()