From: Yair Kurzion (yair++at++polygon.engr.sgi.com)
Date: 10/05/2001 14:21:04
Hi Jason !
> it was my understanding that in the creation of a
> pfFlux, the size of the buffer(s) must be provided at
> the time of initialization. im in a situation where
> the size of the buffer changes given the user's whim,
> guess i have s'more reading to do. :)
>
> i could theoretically just create a mesh with a fairly
> large number of verticies in a pfFlux, call that the
> upper bound and go from there but that doesnt sound all
> that elegant to me. it seems that the fluxed_gset.C
> example does something like this. the primitive count
> changes, but the size of the buffer does not. ill have to
> go back through it.
In Fluxed geosets (as in fluxed_gset.C), you can modify all you want on
a geoset every frame. This includes assigning new attribute arrays for
coordinates, and deleting the old attribute arrays.
-yair
> > By default, Performer uses multiple processes for processing
> > the scene graph.
> > These processes run as a pipeline: When your application
> > works on frame N,
> > a Performer CULL process works on frame (N-1), and a DRAW
> > process works on
> > frame (N-2).
> >
> > All your scene graph internal nodes (not pfGeoSets) are
> > multi-buffered. So,
> > each phase in the pipeline owns a copy of all the internal nodes.
> > Plain pfGeoSets are not multi-buffered so if you change them
> > in your application
> > program, your changes interfere with other pipeline stages
> > (and may crash your
> > program).
> >
> > You can create multi-buffered pfGeoSets explicitly by using a
> > pfFlux. There
> > are multiple short sample programs for using pfFluxes under
> > /usr/share/Performer/src/pguide/libpf
> > I suggest that you take a look at:
> > /usr/share/Performer/src/pguide/libpf/C++/fluxed_gset.C
> > and read the man pages on pfFlux and on pfFluxedGSetInit.
> > Also, the Performer
> > programmer's guide contains a chapter on pfFluxes called
> > `Dynamic Data'.
> >
> > -yair
> >
> >
> > > im generating the geosets on the fly, and on occasion, i need to
> > > rebuild the
> > > scene graph given a new mesh density. the issue is that
> > im getting a
> > > segfault
> > > in various places within the app process.
> > >
> > > in order to regenerate the scene graph, i setScene(
> > NULL ) on the
> > > channel,
> > > remove the geoset from the geode, pfFree the vertex, tex coord &
> > > index arrays,
> > > pfMalloc them to their new sizes, re calc them, and
> > stuff them back
> > > in the
> > > geoset. i then reattach everthing. ( im currently working with
> > > meshs of
> > > quads of N x N size )
> > >
> > > i can remesh the geosets as much as i want ( which includes the
> > > destruction &
> > > reallocation of the various arrays ) as long as the
> > _sizes_ of the
> > > arrays do not change.
> > > when they do change, i will get the segfault but only for some
> > > sizes, and not
> > > others. it seems to like odd sizes, and crashes on
> > even sizes for
> > > some reason.
> > > this is just what ive noticed so far.
> > >
> > > if anyone has any insight or if anything sounds amiss, please
> > > advise.
> > >
> > > thx.
> > >
> > > ~J
> > >
> > > // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> > > Jason M. Coposky, 3D Software Engineer
> > > jasonc++at++elumens.com
> > > // =-=-=-=-=-=-=-=-=-=
> > >
> > >
> > --------------------------------------------------------------
> > ---------
> > > 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
> > >
> > --------------------------------------------------------------
> > ---------
> > >
> >
> >
> > --
> > \_________ \_____ \__ \__ \_____
> > \_________ \_____ \__ \__ \_____ Yair Kurzion
> > \__ \__ \____\__ \__ yair++at++sgi.com
> > \__ \__ \__ (650) 933-6502
> > \__ \__ \__
> > \__ \__ \__
> >
> -----------------------------------------------------------------------
> 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
> -----------------------------------------------------------------------
>
--
\_________ \_____ \__ \__ \_____
\_________ \_____ \__ \__ \_____ Yair Kurzion
\__ \__ \____\__ \__ yair++at++sgi.com
\__ \__ \__ (650) 933-6502
\__ \__ \__
\__ \__ \__
This archive was generated by hypermail 2b29 : Fri Oct 05 2001 - 14:21:07 PDT