that removeChild(Node*), removeChild(uint) and equivilant Geode methods are
now inline methods, not designed to be overriden, and seperated out the
multiple remove method to be called removeChildren(uint, uint) which is
now the only virtual method. There removeChildren is now the method to
override in subclasses.
This reorganisation requires some call code to be rename removeChild usage
to removeChildren.
particles will appear at the location it was disabled at. The problem
is that the previous local to world matrix is not being updated while
it is disabled. I modified the particle processor so that it will set
the dirty flag for the previous local to world matrix when the
processor is skipped for a frame, since the value will no longer be
relevant."
Normally the automatic setup is useful, but in the case of the .osg support this automatic
update was forcing premature loading of imagery that wasn't necessarily, and can lead to
reports of looking for files that arn't present.
the position of the emitter in the previous frame and the new position in the new
frame, the number of particles added also scales up to compensate for this movement.
"The first is with
Particle.cpp. I made a change so that when the lifetime is 0 (lasts
forever) the sizeRange, colorRange, and alphaRange are used to create
a random size, color, and alpha."
"The second change is with range and SectorPlacer. The distribution of
particles across the sector was not uniform. I added get_random_sqrtf()
function where it is used in SectorPlacer::Place(). This seems to make
the distribution uniform (at least when minimum radius is 0)."
Clients just have to call Particle::setTextureTile() and specify the number of
horizontal and vertical tiles that make the animation up in the texture image."
value to float, and converted the internal code across to use value_type. This
allows Matrix to be converted to use double's simply by change the definition
of value_type. Added Matrix::glLoadlMatrix and Matrix::glMultMatrix() to
help encapsulate the changes between float and double matrix usage.
Updated code that uses Matrix so it doesn't assume float or double matrices.
email from Marco)
"Most relevant news:
1) particle systems now have the "freezeOnCull" property set to false by
default. Since it is an optimization, and using it may cause some unwanted
behaviors if not handled properly, it makes more sense to turn it off by
default.
2) new "LINE" shape mode which uses GL_LINES to draw line segments that
point to the direction of motion.
3) particles can now have a rotation angle and angular velocity.
4) new AngularAccelOperator applies angular acceleration to particles.
5) particle processors such as emitters and programs can have a "start",
"end" and "reset" time coordinate. For example, an emitter may be instructed
to start emitting particles only after a certain time, stop after another
amount of time and then start again.
Update (2) is from Gideon May.
Updates (3) to (5) are from Douglas A. Pouk."