Class NVConservativeRasterPreSnapTriangles
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.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intAccepted by thepnameparameter of ConservativeRasterParameteriNV.static final intAccepted by theparamparameter of ConservativeRasterParameteriNV.static final intAccepted by theparamparameter of ConservativeRasterParameteriNV. -
Method Summary
Modifier and TypeMethodDescriptionstatic voidglConservativeRasterParameteriNV(int pname, int param) WhenCONSERVATIVE_RASTERIZATION_NVis enabled, the rasterization behavior may be controlled by calling the this command.
-
Field Details
-
GL_CONSERVATIVE_RASTER_MODE_NV
public static final int GL_CONSERVATIVE_RASTER_MODE_NVAccepted by thepnameparameter of ConservativeRasterParameteriNV.- See Also:
-
GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV
public static final int GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NVAccepted by theparamparameter of ConservativeRasterParameteriNV.- See Also:
-
GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV
public static final int GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NVAccepted by theparamparameter of ConservativeRasterParameteriNV.- See Also:
-
-
Method Details
-
glConservativeRasterParameteriNV
public static void glConservativeRasterParameteriNV(int pname, int param) WhenCONSERVATIVE_RASTERIZATION_NVis enabled, the rasterization behavior may be controlled by calling the this command.If the mode is set to
CONSERVATIVE_RASTER_MODE_POST_SNAP_NV, the generated fragments are conservative w.r.t the primitive after it is snapped to sub-pixel grid. If the mode is set toCONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NVthe fragments generated for triangles will be conservative w.r.t the triangle at infinite precision. Since non-degenerate triangles may become degenerate due to vertex snapping, this mode will generate fragments for zero area triangles that are otherwise culled when the mode isCONSERVATIVE_RASTER_MODE_POST_SNAP_NV. This mode may also generate fragments for pixels that are within half a sub-pixel distance away from a triangle's infinite precision boundary. The default mode is set toCONSERVATIVE_RASTER_MODE_POST_SNAP_NV.- Parameters:
pname- the parameter to set. Must be:CONSERVATIVE_RASTER_MODE_NVparam- specifies the conservative raster mode to be used. One of:CONSERVATIVE_RASTER_MODE_POST_SNAP_NVCONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV
-