Classes |
class | PrecipitationDrawable |
| Internal drawable used to render batches of cells. More...
|
struct | PrecipitationDrawableSet |
Public Member Functions |
| PrecipitationEffect () |
| PrecipitationEffect (const PrecipitationEffect ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) |
virtual const char * | libraryName () const |
| return the name of the node's library.
|
virtual const char * | className () const |
| return the name of the node's class type.
|
virtual bool | isSameKindAs (const osg::Object *obj) const |
| return true if this and obj are of the same kind of object.
|
virtual void | accept (osg::NodeVisitor &nv) |
| Visitor Pattern : calls the apply method of a NodeVisitor with this node's type.
|
virtual void | traverse (osg::NodeVisitor &nv) |
| Traverse downwards : calls children's accept method with NodeVisitor.
|
void | rain (float intensity) |
| Set all the parameters to create an rain effect of specified intensity.
|
void | snow (float intensity) |
| Set all the parameters to create an snow effect of specified intensity.
|
void | setMaximumParticleDensity (float density) |
float | getMaximumParticleDensity () const |
void | setWind (const osg::Vec3 &wind) |
const osg::Vec3 & | getWind () const |
void | setPosition (const osg::Vec3 &position) |
const osg::Vec3 & | getPosition () const |
void | setCellSize (const osg::Vec3 &cellSize) |
const osg::Vec3 & | getCellSize () const |
void | setParticleSpeed (float particleSpeed) |
float | getParticleSpeed () const |
void | setParticleSize (float particleSize) |
float | getParticleSize () const |
void | setParticleColor (const osg::Vec4 &color) |
const osg::Vec4 & | getParticleColor () const |
void | setNearTransition (float nearTransition) |
float | getNearTransition () const |
void | setFarTransition (float farTransition) |
float | getFarTransition () const |
void | setUseFarLineSegments (bool useFarLineSegments) |
bool | getUseFarLineSegments () const |
void | setFog (osg::Fog *fog) |
osg::Fog * | getFog () |
const osg::Fog * | getFog () const |
osg::Geometry * | getQuadGeometry () |
osg::StateSet * | getQuadStateSet () |
osg::Geometry * | getLineGeometry () |
osg::StateSet * | getLineStateSet () |
osg::Geometry * | getPointGeometry () |
osg::StateSet * | getPointStateSet () |
Protected Types |
typedef std::pair
< osg::NodeVisitor
*, osg::NodePath > | ViewIdentifier |
typedef std::map
< ViewIdentifier,
PrecipitationDrawableSet > | ViewDrawableMap |
Protected Member Functions |
virtual | ~PrecipitationEffect () |
void | compileGLObjects (osg::RenderInfo &renderInfo) const |
void | update () |
void | createGeometry (unsigned int numParticles, osg::Geometry *quad_geometry, osg::Geometry *line_geometry, osg::Geometry *point_geometry) |
void | setUpGeometries (unsigned int numParticles) |
void | cull (PrecipitationDrawableSet &pds, osgUtil::CullVisitor *cv) const |
bool | build (const osg::Vec3 eyeLocal, int i, int j, int k, float startTime, PrecipitationDrawableSet &pds, osg::Polytope &frustum, osgUtil::CullVisitor *cv) const |
Protected Attributes |
bool | _dirty |
osg::Vec3 | _wind |
float | _particleSpeed |
float | _particleSize |
osg::Vec4 | _particleColor |
float | _maximumParticleDensity |
osg::Vec3 | _cellSize |
float | _nearTransition |
float | _farTransition |
bool | _useFarLineSegments |
osg::ref_ptr< osg::Fog > | _fog |
osg::ref_ptr< osg::Uniform > | _inversePeriodUniform |
osg::ref_ptr< osg::Uniform > | _particleSizeUniform |
osg::ref_ptr< osg::Uniform > | _particleColorUniform |
OpenThreads::Mutex | _mutex |
ViewDrawableMap | _viewDrawableMap |
osg::ref_ptr< osg::Geometry > | _quadGeometry |
osg::ref_ptr< osg::StateSet > | _quadStateSet |
osg::ref_ptr< osg::Geometry > | _lineGeometry |
osg::ref_ptr< osg::StateSet > | _lineStateSet |
osg::ref_ptr< osg::Geometry > | _pointGeometry |
osg::ref_ptr< osg::StateSet > | _pointStateSet |
float | _period |
osg::Vec3 | _origin |
osg::Vec3 | _du |
osg::Vec3 | _dv |
osg::Vec3 | _dw |
osg::Vec3 | _inverse_du |
osg::Vec3 | _inverse_dv |
osg::Vec3 | _inverse_dw |
double | _previousFrameTime |