Re: Trav Masks

New Message Reply Date view Thread view Subject view Author view

From: Benedikt Kessler (bjk++at++munich.sgi.com)
Date: 05/08/2001 00:27:37


Hi Stephane!

You should set the PFTRAV_DRAW in both channels; as you set the DRAW
mask in the first chanel and the CULL mask in the second this results
still in a DRAW mask of 0xffffffff in the second channel. This explains
why your node with mask 0x1 is also drawn in the second channel.

What is the CULL mask for (see man pfTraverser):

/* Disable view culling if cull mask test fails */
if ((cullMask & nodeCullMask) == 0)
        disableViewCulling();

Bye! Benedikt

Stephane Jaeger wrote:
>
> Hi,
> I am currently having problems with trav masks. I share the same scene
> with 2 different channels. But I want some nodes of the scene to be
> taken into account only by one of the channel or by both of them. So I
> set my first channel with mask 0x01 and the second one with mask 0x02.
> When I want some node to be displayed by both channels I set it to 0x03,
> if I want it to be rendered only by the second channel and not the first
> one I set it to 0x02. These two former case work fine. However I now
> have a node I d like to be drawn only by the first channel and not by
> the second one. I set it to 0x01 and it doesn't work: it ' s drawn by
> both channels, I really don t understand. Does anybody know how to fix
> this ?
> Thanks ,
> Stephane
>
> //two channels
> firstpass->setTravMask(PFTRAV_DRAW,0x01);
> chan->setTravMask(PFTRAV_CULL,0x02);
>
> //Set trav Masks for the different passes
>
> group->setTravMask(PFTRAV_DRAW,0x03,PFTRAV_SELF|PFTRAV_DESCEND,PF_SET);
>
> studioDCS->setTravMask(PFTRAV_DRAW,0x02,PFTRAV_SELF|PFTRAV_DESCEND,PF_SET);
>
> projDCS2->setTravMask(PFTRAV_DRAW,0x02,PFTRAV_SELF|PFTRAV_DESCEND,PF_SET);
>
> projDCS->setTravMask(PFTRAV_DRAW,0x02,PFTRAV_SELF|PFTRAV_DESCEND,PF_SET);
>
> projDCS3->setTravMask(PFTRAV_DRAW,0x02,PFTRAV_SELF|PFTRAV_DESCEND,PF_SET);
>
> billDCS->setTravMask(PFTRAV_DRAW,0x01,PFTRAV_SELF|PFTRAV_DESCEND,PF_SET);
>
> -----------------------------------------------------------------------
> List Archives, FAQ, FTP: http://www.sgi.com/software/performer/
> Open Development Project: http://oss.sgi.com/projects/performer/
> Submissions: info-performer++at++sgi.com
> Admin. requests: info-performer-request++at++sgi.com

-- 
+---------------------------------+----------------------------------+
|Benedikt J. Kessler              | Silicon Graphics GmbH            |
|Professional Services            | Am Hochacker 3 - Technopark      |
|SGI                              | 85630 Grasbrunn-Neukeferloh, FRG |
|    ---  __o       ,__o          |                                  |
| ------_ \<,_    _-\_<,          | Phone: (+49) 89 46108-366 or -0  |
|----- (*)/ (*)  (*)/'(*)         | Fax:   (+49) 89 46107-366        |
+---------------------------------+----------------------------------+
|E-Mail: bjk++at++sgi.com    Web (private): http://reality.sgi.com/bjk    |
|   Web: http://www.sgi.de/dienstleistungen/                         |
+--------------------------------------------------------------------+


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Tue May 08 2001 - 00:27:51 PDT

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