Re: zwritemask modification

New Message Reply Date view Thread view Subject view Author view

John Rohlf (jrohlf++at++tubes)
Tue, 23 Nov 93 12:27:55 -0800


>Trying to modify the zwritemask (to 0x0) for entire branches of the
>database tree we found that Performer re-enables the z-writing
>(for example while drawing light points or transparent geometry).
>
>So I have the following questions:
>
>1) Can I tell Performer to keep the zwritemask at the given state?

        Not at this time.

>2) Is there a list of Performer functions where zwritemask is switched?

        pfTransparency and pfDecal(PFDECAL_BASE_DISPLACE) both set
        zwritemask.

>3) In those functions, is the zwritemask switched at the end of the
> function or somewhere in the middle?
> If the latter is true I think I have to avoid such geometry !
> For the first I would have to live with zwritemask(0x0)'s in
> all (critical) post draw callbacks.

        pfLightPoints and pfLayer nodes call pfTransparency and pfDecal
        respectively. You can choose to use stencil-type decaling
        with pfLayerMode(layer, PFDECAL_BASE_STENCIL) which will
        not modify the zwritemask.

        To get around pfTransparency setting the zwritemask you will
        have to use post-draw callbacks on all transparent geometry
        to be safe. Alternately you can globally disable transparency
        with pfOverride.


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:06 PDT

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