Re: Subface performance in Z buffer?

New Message Reply Date view Thread view Subject view Author view

John Rohlf (jrohlf++at++tubes)
Tue, 5 Jul 94 10:51:15 PDT


>
>
> Hello all,
>
> I have a terrain database which implements some roads
> as subfaces to the underlying terrain polygons. I
> also have some buildings which when viewed such that
> the subfaced roads are on the far side of the building,
> the roads are still seen. This effect is proportional
> to the distance from the building the camera is located.
> Hence, if I am far away, the road is easily seen to be
> rendered in front of the building polygons, and as I move
> closer, the roads slowly recede and rendered correctly.
> This behavior suggests that subfaces in 1.2 are implemented
> by simply hashing the road polygons one z-buffer-bin higher
> then the underlying polygon, and thus rendered in front.
> However, at the same time, the buildings are also hashed
> into the same z-buffer and false rendering occur. My database
> is modelled in Multigen and is structured such that a tile
> of terrain is under a group bead. Under which, in a preorder
> traversal of object beads, are land (terrain w/ subfaced roads),
> trees, buildings). The DB is loaded by LoadFlt, so pfFlatten
> and pfClean are called by default. This DB rendered fine in
> GVS.
>

This is a result of the default displacepolygon mode used by pfLayer nodes.
From the pfLayer man page:

     The use of displacements for rendering coplanar geometry can cause visual
     artifacts such as decals "Z fighting" or "flimmering" when viewed
     perpendicularly and punching through geometry that should be in front of
     them when viewed obliquely. In these cases, the database should be
     modified to eliminate the need for coplanar rendering or
     PFDECAL_BASE_HIGH_QUALITY/PFDECAL_BASE_STENCIL used.


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:50:23 PDT

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