Class NVConditionalRender

java.lang.Object
org.lwjgl.opengl.NVConditionalRender

public class NVConditionalRender extends Object
Native bindings to the NV_conditional_render extension.

This extension provides support for conditional rendering based on the results of an occlusion query. This mechanism allows an application to potentially reduce the latency between the completion of an occlusion query and the rendering commands depending on its result. It additionally allows the decision of whether to render to be made without application intervention.

This extension defines two new functions, BeginConditionalRenderNV and EndConditionalRenderNV, between which rendering commands may be discarded based on the results of an occlusion query. If the specified occlusion query returns a non-zero value, rendering commands between these calls are executed. If the occlusion query returns a value of zero, all rendering commands between the calls are discarded.

If the occlusion query results are not available when BeginConditionalRenderNV is executed, the mode parameter specifies whether the GL should wait for the query to complete or should simply render the subsequent geometry unconditionally.

Additionally, the extension provides a set of "by region" modes, allowing for implementations that divide rendering work by screen regions to perform the conditional query test on a region-by-region basis without checking the query results from other regions. Such a mode is useful for cases like split-frame SLI, where a frame is divided between multiple GPUs, each of which has its own occlusion query hardware.

  • Field Details

    • GL_QUERY_WAIT_NV

      public static final int GL_QUERY_WAIT_NV
      Accepted by the mode parameter of BeginConditionalRenderNV.
      See Also:
    • GL_QUERY_NO_WAIT_NV

      public static final int GL_QUERY_NO_WAIT_NV
      Accepted by the mode parameter of BeginConditionalRenderNV.
      See Also:
    • GL_QUERY_BY_REGION_WAIT_NV

      public static final int GL_QUERY_BY_REGION_WAIT_NV
      Accepted by the mode parameter of BeginConditionalRenderNV.
      See Also:
    • GL_QUERY_BY_REGION_NO_WAIT_NV

      public static final int GL_QUERY_BY_REGION_NO_WAIT_NV
      Accepted by the mode parameter of BeginConditionalRenderNV.
      See Also:
  • Method Details

    • glBeginConditionalRenderNV

      public static void glBeginConditionalRenderNV(int id, int mode)
    • glEndConditionalRenderNV

      public static void glEndConditionalRenderNV()