Aaron M. Hightower (aaron++at++skips.dseg.ti.com)
Tue, 17 May 94 12:04:40 CDT
My dag looks something like this
ViewState->Scenegroup
| |
(group1 = LoadFile()) group2 -+- pfSwitch - pfGeode - pfGeoSet -+- pfGeoState
|- pfSwitch - pfGeode - pfGeoSet -|
|- pfSwitch - pfGeode - pfGeoSet -|
|- pfSwitch - pfGeode - pfGeoSet -|
|- pfSwitch - pfGeode - pfGeoSet -|
|- pfSwitch - pfGeode - pfGeoSet -|
|- pfSwitch - pfGeode - pfGeoSet -|
...
|- pfSwitch - pfGeode - pfGeoSet -|
Each GeoSet is being modified as needed via a pfList of a structure like
this:
typedef struct {
pfSwitch *sw; /* Whether or not this thing is being drawn */
pfGeoSet *gset; /* Geoset for this strip */
pfVec3 *p; /* Two points */
pfVec4 *c; /* Two colors */
} Tracer;
-------------------------------------------------------------------------
This all worked fine, but only when the origin was in view. So I
figured that the bounding box was not being set when I modified the
geometry. So I tried using pfNodeBSphere().
No luck.
So I disabled culling on the pfGroup:
pfNodeTravMask(group2,PFTRAV_CULL,0,PFTRAV_SELF,PF_SET);
that contains all of the pfSwitches. This worked, so I thought. And
was good enough for the demo.
But problems remain. I still suffer from the Geode disappearing when the
group1 object gets too far away from a channel. And I would prefer a more
efficient solution if such exists (more efficient than disabling culling on
the subgraph).
-------------------------------------------------------------------------
So my questions are:
(1) How do I recompute BSpheres when modifying pfGeoSets as illustrated in
the figure above?
(2) Why, when I am completely disabling culling on group2, does the Geometry
still disappear when it should not?
-------------------------------------------------------------------------
_ _
Thanks, | | *-------------------------------------------* | |
__| |___ | Aaron.Hightower++at++dseg.ti.com 214.575.6759 | __| |___
\ / | Simulation & Planning Technology | \ /
\_ / | 6620 Chase Oaks Blvd M/S 8518 | \_ /
\ ( | Plano TX 75023 | \ (
\/ *-------------------------------------------* \/
This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:50:16 PDT