fglReferencePlaneSGIX(3G)
fglReferencePlaneSGIX - define a reference plane for coplanar geometry
Showing IRIX 6.5.30 (default release). Unchanged since IRIX 6.5.
NAME fglReferencePlaneSGIX - define a reference plane for coplanar geometry FORTRAN SPECIFICATION SUBROUTINE fglReferencePlaneSGIX( CHARACTER*8 equation ) PARAMETERS equation Specifies a four-element array containing the plane equation coefficients of a reference plane which will be used to generate depth values for pixel fragments. The coefficients of x, y, and z are the first three elements of the array, respectively, and the constant term is the fourth. The plane equation is specified in object coordinates. The default is equivalent to (0,0,1,0) in window coordinates. DESCRIPTION The SGIX_reference_plane extension allows a group of coplanar primitives to be rendered without depth-buffering artifacts. This is accomplished by generating depth values for all pixel fragments from a single ``reference plane'' rather than from the primitives themselves. This ensures that all the primitives in the group will have exactly the same depth value at any given sample point, no matter what imprecision may exist in the original specification of the primitives or in the GL's coordinate transformation process. As a result, depth tests for equality (GL_EQUAL, GL_LEQUAL, GL_GEQUAL) may be used with impunity. The process of generating depth values from the reference plane is enabled by executing fglEnable with argument GL_REFERENCE_PLANE_SGIX. The plane equation of the reference plane is specified with fglReferencePlaneSGIX. equation must be an array with four elements: the x coefficient, y coefficient, z coefficient, and constant term of the reference plane's equation, in that order. The plane equation is specified in object coordinates, and transformed by the transpose-adjoint of the object-to- clip transformation in order to derive a plane equation in clip coordinates. The clip coordinates are transformed to window coordinates when the reference plane is enabled. Let the window-coordinate version of the reference plane equation be ax+by+cz+d=0. If the reference plane is enabled, and a pixel fragment has window coordinates (x,y), then its z coordinate will become -(d+ax+by)/c. If the generated z coordinate is outside the valid depth buffer range, then the resulting depth value is undefined. If the reference plane does not intersect the viewing frustum, it is as if the default coefficients (0,0,1,0) (in window coordinates) are used. NOTES The reference plane coefficients specified by fglReferencePlaneSGIX are in object coordinates, while the coefficients returned by fglGetDoublev with argument GL_REFERENCE_PLANE_EQUATION_SGIX are in clip coordinates. fglReferencePlaneSGIX is part of the SGIX_reference_plane extension, not part of the core GL command set. If GL_SGIX_reference_plane is included in the string returned by fglGetString when called with argument GL_EXTENSIONS, extension SGIX_reference_plane is supported by the connection. See fglIntro for more information about using extensions. ERRORS GL_INVALID_OPERATION is generated if fglReferencePlaneSGIX is executed between the execution of fglBegin and the corresponding execution of fglEnd. ASSOCIATED GETS fglGetDoublev with argument GL_REFERENCE_PLANE_EQUATION_SGIX MACHINE DEPENDENCIES SGIX_reference_plane is supported only on InfiniteReality systems. SEE ALSO fglEnable, fglPolygonOffsetEXT