Class NVConservativeRasterPreSnapTriangles
- java.lang.Object
-
- org.lwjgl.opengl.NVConservativeRasterPreSnapTriangles
-
public class NVConservativeRasterPreSnapTriangles extends java.lang.Object
WhenCONSERVATIVE_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 isCONSERVATIVE_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 inNV_conservative_raster
.
-
-
Field Summary
Fields Modifier and Type Field and Description static int
GL_CONSERVATIVE_RASTER_MODE_NV
Accepted by thepname
parameter of ConservativeRasterParameteriNV.static int
GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV
GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NVAccepted by theparam
parameter of ConservativeRasterParameteriNV.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static void
glConservativeRasterParameteriNV(int pname, int param)
WhenCONSERVATIVE_RASTERIZATION_NV
is enabled, the rasterization behavior may be controlled by calling the this command.
-
-
-
Field Detail
-
GL_CONSERVATIVE_RASTER_MODE_NV
Accepted by thepname
parameter of ConservativeRasterParameteriNV.
-
GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV, GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV
Accepted by theparam
parameter of ConservativeRasterParameteriNV.
-
-
Method Detail
-
glConservativeRasterParameteriNV
public static void glConservativeRasterParameteriNV(int pname, int param)
WhenCONSERVATIVE_RASTERIZATION_NV
is 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_NV
the 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_NV
param
- specifies the conservative raster mode to be used. One of:CONSERVATIVE_RASTER_MODE_POST_SNAP_NV
CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV
-
-