Re: Z-fighting

New Message Reply Date view Thread view Subject view Author view

Allan Schaffer (allan++at++sgi.com)
Wed, 22 Dec 1999 16:25:36 -0800 (PST)


On Dec 22, 2:54pm, Hans-Peter.Hofer++at++se.admin.ch wrote:
> The visual selected by pfuChooseFBConfig has normally 23 bit depth.
> When I load my OpenFlight terrain database, I see a flickering (Z-fighting)
> of the coplanar polygons (ex: at the
> roadborder). The database has been loaded with the pfdCombineLayer option.
> When I configure the pipe window in a way, that I get only 15 bit depth, the
> flickering disappears.
>
> Does anybody know this effect ?

Could you clarify whether the road polygons have been put into a
pfLayer node? pfdCombineLayer merges already existing pfLayers
together, but it doesn't collect 'randomly' coplanar objects from
around the database and make them into layers.

If the objects are already in pfLayers then I'd cast my suspicion on
issues related to glPolygonOffset. The behavior did change recently
(and is now a bit more flexible). Here's what's in the relnotes about
this:

       6.3.2 New_features_in_IRIS_Performer_2.2.5

       6.3.2.1 Support_for_OpenGL_1.1_glPolygonOffset()

       This release modifies the routines used for coplanar polygon
       displacement to one based upon the polygon offset
       functionality in OpenGL 1.1. The changes apply to all
       platforms using OpenGL 1.1 except the Impact series.

       Users may revert to the prior (Performer 2.2) behavior by
       setting the environment variable
       PF_FORCE_EXT_POLYGON_OFFSET.

       Likewise, users may choose to force the new functionality to
       be used on Impact systems (despite known bugs at this time)
       by setting the environment variable
       PF_FORCE_ARB_POLYGON_OFFSET.

       In case the results of the new offset behavior are not ideal
       for a particular system or database, users may tune the
       values set internally by IRIS Performer. The environment
       variables PF_ARB_POLYGON_OFFSET_FACTOR and
       PF_ARB_POLYGON_OFFSET_UNITS can be set to floating point
       values which will then be used internally as arguments to
       glPolygonOffset(). See the glPolygonOffset(3G) man page for
       further details of the effect of these settings.

       Although the OpenGL 1.1 glPolygonOffset() changes were
       intended to resolve machine dependency issues, please note
       that the ideal offset factor and units value may still vary
       from system to system. The glPolygonOffset() values set by
       IRIS Performer were chosen for typical database settings on
       InfiniteReality systems and may require adjustment on other
       OpenGL 1.1 systems, using the environment variables
       described above.

Allan

-- 
Allan Schaffer                                            allan++at++sgi.com
Silicon Graphics                           http://reality.sgi.com/allan

New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Wed Dec 22 1999 - 16:25:42 PST

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.