Thanks for the reply Robert

I think you can add function SetClampProducedParticles (min, max) .... how
do you think it can be implemented to version OSG 3.0?

If so, I will add this feature.

Thoughts?
Max.

2010/9/9 Robert Osfield <[email protected]>

> Hi Maxim,
>
> This is a interesting issue - down to a design issue with the crude
> particular simulation that osgParticle does, ideally one wouldn't have
> start and stops in the simulation unless that was directed by the
> simulation itself.
>
> In this particular case, having too many particles all thrown in at
> one time step clearly is inappropriate, just randomizing this value,
> like you've done , doesn't seem to be appropriate either, effectively
> your code is doing is assuming a time interval of 1, but only using
> this if more than the max number of particles are selected.  If one
> wanted this behaviour a better way of doing it would be to clamp the
> max dt used in the computation to 1, or to clamp the max number of
> particles to getRateRange().maximum.
>
> Thoughts?
> Robert.
>
> On Thu, Aug 26, 2010 at 8:25 AM, Maxim Gammer <[email protected]> wrote:
> > The problem with the system of particles:
> > in hiding the particle system and their subsequent screening creates a
> huge
> > number of particles (splash). But more than the big time difference
> between
> > concealment and display. The drawings depicted such a situation.
> > http://i35.tinypic.com/ridkhu.jpg
> > http://i33.tinypic.com/2nulhfd.jpg
> > The first figure shows the correct image, the second figure shows the
> > erroneous operation of the system of particles.
> > In addition, when a large number of particles occurs following warning:
> > Warning: State:: drawQuads (0, 72588) too large handle in remapping to
> > ushort glDrawElements.
> > Warning: State:: drawQuads (0, 72592) too large handle in remapping to
> > ushort glDrawElements.
> > Warning: State:: drawQuads (0, 72592) too large handle in remapping to
> > ushort glDrawElements.
> > Warning: State:: drawQuads (0, 72596) too large handle in remapping to
> > ushort glDrawElements.
> > fix this problem :
> >
> >  inline int RandomRateCounter::numParticlesToCreate(double dt) const
> >     {
> >         _np += dt * getRateRange().get_random();
> >         int n = static_cast<int>(_np);
> >         _np -= n;
> > if (n > getRateRange().maximum)
> > {
> > n = getRateRange().get_random(); //or .get_random
> > _np=0;
> > }
> >         return n;
> >     }
> >
> > in attached file....
> >
> > --
> > Maxim Gammer
> >
> >
> > _______________________________________________
> > osg-submissions mailing list
> > [email protected]
> >
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
> >
> >
> _______________________________________________
> osg-submissions mailing list
> [email protected]
>
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
>



-- 
Maxim Gammer
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to