Class NVConservativeRasterPreSnapTriangles


  • public class NVConservativeRasterPreSnapTriangles
    extends java.lang.Object
    When CONSERVATIVE_RASTERIZATION_NV is enabled, the fragments generated for a primitive are conservative with respect to the primitive after snapping to sub-pixel grid. This extension provides a new mode of rasterization for triangles where the fragments generated are conservative with respect to the primitive at infinite precision before vertex snapping.

    When the conservative raster mode is set to CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV, triangles are rasterized more conservatively, and may generate fragments not generated when the mode is CONSERVATIVE_RASTER_MODE_POST_SNAP_NV (default). In particular it may generate fragments for pixels covered by triangles with zero area, or for pixels that are adjacent to but not covered by any triangle. This modified behavior may be useful in compensating for rounding errors caused by snapping vertex positions to a sub-pixel grid during rasterization. It's possible that a non-degenerate triangle becomes degenerate due to snapping. It's additionally possible that rounding errors in computing the position of a vertex or from snapping may cause a primitive that would cover a pixel at infinite precision to fail to cover the pixel post-snap. Rasterizing such primitives more conservatively may be useful for "binning" algorithms described in NV_conservative_raster.

    Requires NV_conservative_raster.