Re: pfLightSource Frustum Culling Question

New Message Reply Date view Thread view Subject view Author view

John Rohlf (jrohlf++at++tubes)
Tue, 24 Jan 95 10:55:49 PST


>
> The performer manual states that when I use pfLightSources with no bounding
> volume they won't be culled to a viewing frustum in the directed cull pass. I
> interpreted this to mean that even if the pfLightSources were in scene graph
> below nodes with a bound volume they wouldn't be culled if they had no volume
> themselves. Unfortunately even if I explicitly set the bound volume of a light
> source to be empty they still cull if a pfDCS node higher in the tree has a
> dynamically updating bound volume. I've also tried adding an empty pfDCS above
> the pfLight source as an experiment but this didn't help. The directed cull for
> lights still seems to be prunning the tree.
>
> I need my light sources to exist in the same hierarchy as my geometry but
> without culling to my frustums. As an added complication I have a custom cull
> callback which needs to return PFTRAV_PRUNE from some graph nodes and cull
> pfLightSources below. This all works as expected appart from the frustum
> culling of lights.
>
> I'm using Performer 1.2 with IRIX 5.2 on various platforms.
>
> My question is:
>
> Do I have to separate the pfLightSources from my geometry graph to avoid
> frustum pruning of lights (which means pfDCS duplication or matrix
> concatenation overheads) or have I overlooked something?
>
> Thanks in advance,
>
> Angus.
>

        Currently a node does not know if it has a pfLightSource
below it so culling will prune before a pfLightSource is reached.
If you want to always reach the lightsource, give it an infinite
bounding voume:

        sph.radius = PF_HUGEVAL;
        pfNodeBSphere(lsource, &sph, PFN_STATIC_BOUND);

I'll make this clearer in the man page.


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

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