Commit Graph

71 Commits

Author SHA1 Message Date
Robert Osfield
43f0efd6d2 Reorganised the Group::removeChild and Geode::removeDrawable methods so
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.
2006-05-02 09:45:31 +00:00
Robert Osfield
039457700d Implemented seemless update of precipitation properties. 2006-04-25 12:39:00 +00:00
Robert Osfield
58e759619c Moved LessFunctor into header. 2006-04-24 21:48:23 +00:00
Robert Osfield
10f2feeac5 Moved PrecipitationParameters directly into PrecipitationEffect. 2006-04-24 16:21:10 +00:00
Robert Osfield
2e6532ccd3 Added depth sorting of cells. 2006-04-24 11:24:08 +00:00
Robert Osfield
92131fca19 Added near/far compute. 2006-04-24 10:32:33 +00:00
Robert Osfield
49a5ef9ee1 Added support for wind. 2006-04-24 06:36:26 +00:00
Robert Osfield
e8fa0433b3 Moved PrecipitationEffect node into osgParticle. 2006-04-22 15:08:07 +00:00
Robert Osfield
c69c9d2070 From Farshid Lashkari, "I noticed that sometimes when a particle emitter is re-enabled, a few
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."
2006-03-08 15:26:39 +00:00
Robert Osfield
4b4c77c420 Added clamping of the wind force contribution to acceletion of particle so
that the de-acceleration never exceed the actual wind vector itself.
2006-02-24 13:56:07 +00:00
Robert Osfield
3baf9f51d2 From Brad Anderegg, add _frameNumber and associated code to ensure that particles
only get updated once per frame.
2006-02-04 21:12:45 +00:00
Robert Osfield
d0c9ef1e14 Added the ability for osgParticle::ParticleEffect to switch off the automatic setup.
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.
2005-11-18 17:04:55 +00:00
Robert Osfield
0e16b64665 Coverted tabs to space in core libraries. 2005-11-17 13:35:53 +00:00
Robert Osfield
258425d649 Bumped the version numbers up to 1.0 in preparation for 1.0-rc1. 2005-11-09 10:49:56 +00:00
Robert Osfield
758ee8ed80 Changes to fix divide by 0 warning under VS. 2005-10-24 18:51:36 +00:00
Robert Osfield
fe1536ebd6 Fixed compile warnings. 2005-10-24 13:46:31 +00:00
Robert Osfield
1e508d432b Added SmokeTrailEffect which renders created particles as single quad or line
strip, in the case of the quad strip the strip is aligned to the be orthogonal with
the eye point.
2005-10-12 18:42:36 +00:00
Robert Osfield
540e676dae Added new shell of new class ConnectedParticleSystem, which will be used
for managing connect particle system for the purpose of doing missile trails etc.
2005-10-11 09:47:28 +00:00
Robert Osfield
be285c62c0 Added support for rapid movement of the emitter, with particle now seeding between
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.
2005-08-25 14:12:08 +00:00
Robert Osfield
24849f3c70 Renamed ExplosionDebriEffect to ExplosionDebrisEffect 2005-05-25 16:42:36 +00:00
Robert Osfield
1dd553ed0e Bumped version numbers to 0.9.9 in rediness for 0.9.9 release. 2005-05-16 17:17:53 +00:00
Robert Osfield
bf4d63f6ea Added new Node/Drawable::s/getInitialBound and Node/Drawable::s/getComputeBoundCallback
methods and reimplement computeBound so that it passes back a bounding volume rather
than modifying the local one.
2005-05-12 14:03:22 +00:00
Robert Osfield
ad2bd31ac8 Added setTextureFileName method. 2005-05-12 08:58:28 +00:00
Robert Osfield
afb92b2372 Added .osg support for new ParticleEffect::s/getDefaultParticleTemplate. 2005-05-11 16:05:27 +00:00
Robert Osfield
52666a6dee Added support for setting the texture filename and more fine control over
the particle template used in ParticleEffects
2005-05-11 15:26:16 +00:00
Robert Osfield
6b5238c294 Moved osgParticle across to standard OSG coding style. 2005-04-29 09:47:57 +00:00
Robert Osfield
678b22ce83 Updated Copyright notices to 1998-2005. 2005-04-14 21:41:28 +00:00
Robert Osfield
0d8bd24250 Fixed typo 2005-04-09 11:17:12 +00:00
Robert Osfield
9e5d905b05 Renamed _A and _B to make them more meanigful 2005-04-04 20:25:57 +00:00
Robert Osfield
2e91a74f14 Added FluidProgram 2005-04-04 10:05:35 +00:00
Robert Osfield
22e446dbc9 Improved ParticleEffects 2005-04-04 07:54:52 +00:00
Robert Osfield
aee1e88f15 Added extra controls for ParticleEffects. 2005-03-23 17:05:21 +00:00
Robert Osfield
0b2ac40fe8 Moved ParticleSystemUpdater into ParticleEffect nodes to simplify usage
of nodes.
2005-03-22 20:26:45 +00:00
Robert Osfield
1c808e4959 Fixed the double transform of ParticleEffects 2005-03-22 17:00:41 +00:00
Don BURNS
1771cdbcc7 Update version numbers in files 2004-12-04 23:38:24 +00:00
Robert Osfield
b70ff91eaf Changed ABSOLUTE and RELATIVE to ABSOLUTE_RF and RELATIVE_RF to avoid stooppid Win32 #define 2004-10-24 20:04:00 +00:00
Robert Osfield
6821a80e14 Changed the ReferenceFrame enums to be RELEATIVE and ABSOLUTE, and
deprecated the RELATIVE_TO_ABSOLUTE and RELATIVE_TO_PARENTS.
2004-10-22 19:26:45 +00:00
Robert Osfield
7e5c87de6a Changed the version strings to use OpenSceneGaph rather than "Open Scene Graph" 2004-09-27 12:07:34 +00:00
Robert Osfield
ddb7423e46 Set version numbers for 0.9.7 release 2004-08-05 08:02:48 +00:00
Robert Osfield
e122b34858 From Tom Jolly. a couple of small changes to osgParticle.
"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)."
2004-08-02 07:25:28 +00:00
Robert Osfield
ae5aefac0e Added the beginings of new osgParticle Explosion, Fire and SmokeEffects.
Added support for generation explosion, fire and smoke effects in osgsimulation
2004-05-13 22:09:23 +00:00
Robert Osfield
89d9ca11c9 From Marco Jez, on behalf of Farshid Lashkari. Details from Marco's email: "I've just received an addition to osgParticle from Farshid Lashkari. It enhances the generation of texture coordinates on particles so that animated textures can be used, with the current frame of animation being computed from each particle's current age.
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."
2004-03-05 15:44:15 +00:00
Robert Osfield
d3251dc9d8 From Sondra Iverson:
small optimization to ParticleSystem.cpp moving sqrtf out of inner loop.
     fix of copy and past error changing erronous cullTimes to drawTimes.
2003-11-06 22:06:44 +00:00
Robert Osfield
c91a2d3d3e Updated version numbers and ChangeLog for the release. 2003-09-16 21:25:25 +00:00
Robert Osfield
5b93250eb0 Added support for Matrixd and Matrixf implementations, with the default
Matrix typedef's to either Matrixd or Matrixf.
2003-09-05 20:48:42 +00:00
Robert Osfield
bd44cfcfd8 Added a Matrix::value_type typedef'd trait into osg::Matrix, defaulting its
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.
2003-09-03 10:47:25 +00:00
Robert Osfield
4761442005 Merged changed to osgParticle from Marco Jez, the changes are (quoted from
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."
2003-09-02 20:39:41 +00:00
Robert Osfield
2ce08d8088 Warning fixes from Gideon May. 2003-07-23 11:45:37 +00:00
Robert Osfield
cc529aebe0 Bumped up version numbers in preperation for the 0.9.5 release. 2003-07-23 08:54:29 +00:00
Robert Osfield
4c576770fb Integrated various fixes from users. 2003-07-05 19:08:30 +00:00