VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Static Private Member Functions
makVrv::DtWeatherEffect Class Reference

this class is used to create weather effects around the eye to represent effects such as mist, rain and hail. More...

Classes

struct  BlendData
 A structure to hold blending control data for things like particle amount per intensity. More...
 
struct  DrawData
 A structure used to hold data for drawing. More...
 
struct  MeshGroup
 A structure used to define a mesh group (voa, positions, coords). More...
 
struct  Particle
 A structure used to define a simulation particle. More...
 
struct  SimulationUpdateJobData
 A structure to hold data for a simluation update job. More...
 
struct  SortJobData
 A structure to hold data for a sorting job. More...
 

Public Types

enum  EffectType { EffectTypePrecipitation = 0, EffectTypeParticle }
 An enumeration to define the effect type. More...
 
enum  SurfaceHitType { SurfaceHitTypeNone = 0, SurfaceHitTypeHail }
 An enumeration to define a surface hit effect. More...
 

Public Member Functions

 DtWeatherEffect (makVrv::DtDe &de)
 CTOR. More...
 
virtual ~DtWeatherEffect ()
 DTOR. More...
 
virtual void init (int particleCount, float particleSize, float radius, EffectType type)
 Initialize the effect. More...
 
virtual void releaseGLObjects (osg::State *state) const
 Release all gl objects used by this object. More...
 
virtual void simulationUpdate (float timeStep, double currentTime, DtJobSplitter *jobSplitter)
 Run a simulation update to simulate particle movement. More...
 
virtual void postSimulationUpdate (float timeStep, double currentTime)
 Run a post simulation update. More...
 
virtual void draw (DtWeatherEffect::DrawData &drawData, const osg::Vec3 &baseColor) const
 Issues the drawing command for the effect. More...
 
virtual void cullUpdate (const osg::Vec3d &camPos, const osg::Matrixd &basis, DtJobSplitter *jobSplitter)
 Prepares the effect for drawing based on the camera position. More...
 
virtual void setSurfaceHitType (SurfaceHitType type)
 Sets a type used to generate hit particles on the ground surface. More...
 
virtual void setWind (float windDirectionRad, float windSpeedMps)
 Sets the current wind. More...
 
virtual void setWindSpeedMultiplier (float multiplier)
 Sets a wind speed multiplier used for particle physics. More...
 
virtual void setWindLiftMultiplier (float multiplier)
 Sets a wind lift multiplier used for particle physics. More...
 
virtual void setWindTurbulence (float multiplier)
 Sets a wind turbulence multiplier for particle physics. More...
 
virtual void setStreak (float multiplier)
 Sets a streak value to control particle streaking based on movement. More...
 
virtual void setCameraStreakEnable (bool enable)
 Sets the flag to enable particle camera movement streak effect. More...
 
virtual void setEffectFade (float fade)
 Sets a (0.0 - 1.0) value to control the effect fade. More...
 
virtual void setIntensity (float intensity)
 Sets a (0.0 - 1.0) value to control the effect intensity. More...
 
virtual void setFadePerIntensity (float fadeMin, float fadeMax, float intensityMin, float intensityMax)
 Sets an effect fade ramp based on the current intensity. More...
 
virtual void setFadePerWind (float fadeMin, float fadeMax, float windMin, float windMax)
 Sets an effect fade ramp based on the current wind in mps. More...
 
virtual void setParticlesPerIntensity (float percentMin, float percentMax, float intensityMin, float intensityMax)
 Sets a particles percentage ramp based on the current intensity. More...
 
virtual void setColorMult (float r, float g, float b)
 Sets a base color color multiplier. More...
 
virtual void setAdditiveBlend (bool enable)
 Enables additive blending mode for rendering. More...
 
virtual bool additiveBlend () const
 Returns the additive blend mode flag. More...
 
virtual void setVelocity (float x, float y, float z)
 Sets a velocity for all effect particles. More...
 
virtual void setInitRotationVariation (float rotationDeg)
 Sets particle +- initial random rotation. More...
 
virtual float radius () const
 Returns the radius of the effect. More...
 
virtual void setTextureAtlasCell (unsigned char numColumns, unsigned char numRows, unsigned char col, unsigned char row)
 Sets the texture cell to use for a texture atlas. More...
 
virtual void setDepthSoftness (float softness)
 Sets the softness for transparency fade when close to a surface. More...
 
virtual float depthSoftness () const
 Returns the softness for transparency fade when close to a surface. More...
 
virtual void setDragCoefficient (float coefficient)
 Sets the drag coefficient for particles. More...
 
virtual float dragCoefficient () const
 Returns the drag coefficient for particles. More...
 
virtual void setSortEnable (bool enable)
 Sets the flag to enable sorting particles within the effect. More...
 
virtual bool sortEnable () const
 Returns the flag to enable sorting particles within the effect. More...
 
virtual void runSort (const osg::Vec3 &localCamPos)
 Sorts particles for the current view. More...
 

Protected Member Functions

virtual void runSimulationUpdateJob (float timeStep, double currentTime)
 Called during a muti-thread update job to run a simulation update. More...
 
virtual void updateHailSurfaceHit (float timeStep)
 Does an update for the Hail surface hit type. More...
 
virtual void computeSortDepth (const osg::Vec3 &reference)
 Computes the sort depth for all cells. More...
 
virtual void fillSortedParticles ()
 Fills the gpu buffer with sorted particle data. More...
 
virtual bool bindMeshGroupData (MeshGroup *meshGroup, osg::RenderInfo &renderInfo) const
 Binds the mesh group data to the vbo's. More...
 
virtual bool bindDynamicMeshGroupData (MeshGroup *meshGroup, osg::RenderInfo &renderInfo) const
 Binds the dynamic mesh group data to the vbo's. More...
 
virtual bool bindVaoToMeshGroup (GLuint vao, MeshGroup *meshGroup, osg::RenderInfo &renderInfo) const
 Binds the given voa to vbo's for a mesh group. More...
 
virtual void simulatePrecipitationParticles (float timeStep, double currentTime)
 Simulates particles (movements, etc...) for precipitation. More...
 
virtual void simulateParticles (float timeStep, double currentTime, osg::Vec3d &basisPosChange)
 Simulates particles (life, movements, etc...). More...
 
void wrapPosition (float &posX, float &posY, float &posZ)
 Keeps the given position in the effect radius. More...
 
ParticlegetFreeParticle (void)
 Returns a particle from the free list. More...
 
void freeParticle (Particle *particle)
 Adds the given particle to the free list. More...
 
void spawnHailParticle (const osg::Vec3d &position, const osg::Vec3 &normal, bool usePhysics)
 Spawns a hail particle at the given location. More...
 
const osg::Vec3 crossProduct (const osg::Vec3 &v0, const osg::Vec3 &v1)
 Returns the cross product of the given 2 vectors. More...
 
float computeRandomMinMax (float fMin, float fMax)
 Computes a random floating point value in the min max range. More...
 
void computeRandomPointInRadius (osg::Vec2 &point, float radius)
 Computes a random point in a radius with even distribution. More...
 
bool clampPosition (osg::Vec3d &position, osg::Vec3 &normal, const osg::Vec3 &up)
 Clamps the given position to a ground surface. More...
 
virtual float computeBlendControl (const BlendData &data, float blendPos) const
 Computes an ouput value based on the given blending data and blend position. More...
 

Protected Attributes

DtDemyDe
 
osg::Matrixd myBasisRot
 
osg::Vec3d myBasisPos
 
osg::Vec3d myLastBasisPos
 
bool myBasisDirty
 
EffectType myEffectType
 
SurfaceHitType mySurfaceHitType
 
float mySurfaceHitTimer
 
osg::Vec3 myScroll
 
float myRadius
 
float myWindDirectionRad
 
float myWindSpeedMps
 
float myWindSpeedMultiplier
 
float myWindLiftMultiplier
 
float myWindTurbulence
 
float myDragCoefficient
 
osg::Vec3 myVelocity
 
float myInitRotationRad
 
float myEffectFade
 
float myIntensity
 
BlendData myFadeByIntensity
 
BlendData myFadeByWind
 
BlendData myParticlesByIntensity
 
float myParticleSize
 
osg::Vec3 myColorMult
 
bool myAdditiveBlend
 
osg::ref_ptr< osg::BlendFunc > myBlendFunc
 
float myStreak
 
float myStreakAdjustment
 
bool myCameraStreak
 
float myTextureAtlasCols
 
float myTextureAtlasRows
 
float myTextureAtlasCol
 
float myTextureAtlasRow
 
float myDepthSoftness
 
bool mySortEnable
 
MeshGroupmyMeshGroup
 
DtGlVaoManagermyVaoManager
 
ParticlemyParticlesMemoryPool
 
int myParticleMemoryPoolCount
 
ParticlemyParticlesFree
 
ParticlemyParticlesActive
 
int myParticleActiveCount
 
Particle ** myRenderList
 
int myRenderParticleCount
 
SimulationUpdateJobData mySimulationUpdateJobData
 
DtJobSplitterJob mySimulationUpdateJob
 
SortJobData mySortJobData
 
DtJobSplitterJob mySortJob
 
DtRandomNumberGenerator myRandomNumberGen
 

Private Member Functions

 DtWeatherEffect ()
 Default Constructor not implemented. More...
 
 DtWeatherEffect (const DtWeatherEffect &other)
 Copy Constructor not implemented - Copy not allowed. More...
 
DtWeatherEffectoperator= (const DtWeatherEffect &other)
 Assignment Operator not implemented - Assignment not allowed. More...
 

Static Private Member Functions

static void theSimulationUpdateJob (void *data)
 simulation update job function used as a callback for job splitting More...
 
static int theSortBackToFront (const void *arg0, const void *arg1)
 sort function used for qsorting particles More...
 
static void theSortJob (void *data)
 sort job function used as a callback for job splitting More...
 

Detailed Description

this class is used to create weather effects around the eye to represent effects such as mist, rain and hail.

The effect is made from a particle system with simple physics applied. There are 2 initialiation types for this class: precipitation and particles. The precipitation type is an infinite scolling box of particles around the eye used for items such as mist or falling rain. The particle type is for dynamic particles such as surface hits. This class is not a stand-alone class as it relies on a larger system to initiate drawing and update methods (see DtWeatherLayerGroup and DtWeatherEffectDrawable).

Member Enumeration Documentation

An enumeration to define the effect type.

Precipitation is an ageless effect that's infinite in a scrolling box. Precipitation would be used for something like falling rain. Particle is a particle simulation that has a life span. Particle would be used for something like splashes at a specific location.

Enumerator
EffectTypePrecipitation 
EffectTypeParticle 

An enumeration to define a surface hit effect.

A surface hit effect creates particles based on surface heights around the weather effect's current location. Note that the weather effect must be of type EffectTypeParticle to use surface hits. The Hail type spawns a few hail particles at a surface loaction.

Enumerator
SurfaceHitTypeNone 
SurfaceHitTypeHail 

Constructor & Destructor Documentation

makVrv::DtWeatherEffect::DtWeatherEffect ( makVrv::DtDe de)

CTOR.

virtual makVrv::DtWeatherEffect::~DtWeatherEffect ( )
virtual

DTOR.

makVrv::DtWeatherEffect::DtWeatherEffect ( )
private

Default Constructor not implemented.

makVrv::DtWeatherEffect::DtWeatherEffect ( const DtWeatherEffect other)
private

Copy Constructor not implemented - Copy not allowed.

Member Function Documentation

DtWeatherEffect& makVrv::DtWeatherEffect::operator= ( const DtWeatherEffect other)
private

Assignment Operator not implemented - Assignment not allowed.

virtual void makVrv::DtWeatherEffect::init ( int  particleCount,
float  particleSize,
float  radius,
EffectType  type 
)
virtual

Initialize the effect.

virtual void makVrv::DtWeatherEffect::releaseGLObjects ( osg::State *  state) const
virtual

Release all gl objects used by this object.

virtual void makVrv::DtWeatherEffect::simulationUpdate ( float  timeStep,
double  currentTime,
DtJobSplitter jobSplitter 
)
virtual

Run a simulation update to simulate particle movement.

Parameters
timeStepThe time step to simulate.
currentTimeThe current simulation time.
jobSplitterA job splitter to add simulation jobs to.
virtual void makVrv::DtWeatherEffect::postSimulationUpdate ( float  timeStep,
double  currentTime 
)
virtual

Run a post simulation update.

This is specifically here to update things that might not be job thread safe.

Parameters
timeStepThe time step to simulate.
virtual void makVrv::DtWeatherEffect::draw ( DtWeatherEffect::DrawData drawData,
const osg::Vec3 &  baseColor 
) const
virtual

Issues the drawing command for the effect.

virtual void makVrv::DtWeatherEffect::cullUpdate ( const osg::Vec3d &  camPos,
const osg::Matrixd &  basis,
DtJobSplitter jobSplitter 
)
virtual

Prepares the effect for drawing based on the camera position.

Parameters
camPosThe camera position.
basisRotThe basis rotation at the camera location.
jobSplitterA job splitter to add predraw jobs to.
virtual void makVrv::DtWeatherEffect::setSurfaceHitType ( SurfaceHitType  type)
virtual

Sets a type used to generate hit particles on the ground surface.

A surface hit effect creates particles based on surface heights around the weather effect's current location. The weather effect must be of type EffectTypeParticle to use surface hits.

Parameters
typeThe type of surface hit to enable.
virtual void makVrv::DtWeatherEffect::setWind ( float  windDirectionRad,
float  windSpeedMps 
)
virtual

Sets the current wind.

Parameters
windDirectionRadThe wind direction in radians.
windSpeedMpsThe wind speed in meters per second.
virtual void makVrv::DtWeatherEffect::setWindSpeedMultiplier ( float  multiplier)
virtual

Sets a wind speed multiplier used for particle physics.

Parameters
multiplierThe multiplier value.
virtual void makVrv::DtWeatherEffect::setWindLiftMultiplier ( float  multiplier)
virtual

Sets a wind lift multiplier used for particle physics.

Parameters
multiplierThe lift multiplier value can be positive (up) or negative (down).
virtual void makVrv::DtWeatherEffect::setWindTurbulence ( float  multiplier)
virtual

Sets a wind turbulence multiplier for particle physics.

Parameters
multiplierThe multiplier value (basically height deviation in meters).
virtual void makVrv::DtWeatherEffect::setStreak ( float  multiplier)
virtual

Sets a streak value to control particle streaking based on movement.

A streak value of 0 disables streaking. A value greater than 0 lengthens the particle based on how fast it is moving.

Parameters
multiplierThe streak multiplier value.
virtual void makVrv::DtWeatherEffect::setCameraStreakEnable ( bool  enable)
virtual

Sets the flag to enable particle camera movement streak effect.

If streak is enabled (see setStreak()), then this method enables or disables the camera movement streak effect.

Parameters
enableSet to true to enable camera streak (default if not enabled).
virtual void makVrv::DtWeatherEffect::setEffectFade ( float  fade)
virtual

Sets a (0.0 - 1.0) value to control the effect fade.

Parameters
fadeThe transparency multiplier.
virtual void makVrv::DtWeatherEffect::setIntensity ( float  intensity)
virtual

Sets a (0.0 - 1.0) value to control the effect intensity.

Parameters
intensityThe intensity scalar (0.0 - 1.0).
virtual void makVrv::DtWeatherEffect::setFadePerIntensity ( float  fadeMin,
float  fadeMax,
float  intensityMin,
float  intensityMax 
)
virtual

Sets an effect fade ramp based on the current intensity.

Fade will be 0 if intensity < intensityMin. Fade will be fadeMax if intensityMin = intensityMax.

Parameters
fadeMinThe fade value (0.0 to 1.0) when intensity = intensityMin.
fadeMaxThe fade value (0.0 to 1.0) when intensity = intensityMax.
intensityMinThe intensity (0.0 to 1.0) at which the ramp begins.
intensityMaxThe intensity (0.0 to 1.0) at which the ramp ends.
virtual void makVrv::DtWeatherEffect::setFadePerWind ( float  fadeMin,
float  fadeMax,
float  windMin,
float  windMax 
)
virtual

Sets an effect fade ramp based on the current wind in mps.

Fade will be 0 if wind < windMin. Fade will be fadeMax if windMin = windMax.

Parameters
fadeMinThe fade value (0.0 to 1.0) when wind = windMin.
fadeMaxThe fade value (0.0 to 1.0) when wind = windMax.
windMinThe wind speed at which the ramp begins.
windMaxThe wind speed at which the ramp ends.
virtual void makVrv::DtWeatherEffect::setParticlesPerIntensity ( float  percentMin,
float  percentMax,
float  intensityMin,
float  intensityMax 
)
virtual

Sets a particles percentage ramp based on the current intensity.

Percent will be 0 if intensity < intensityMin. Percent will be percentMax if intensityMin = intensityMax.

Parameters
percentMinThe percent value (0.0 to 1.0) when intensity = intensityMin.
percentMaxThe percent value (0.0 to 1.0) when intensity = intensityMax.
intensityMinThe intensity (0.0 to 1.0) at which the ramp begins.
intensityMaxThe intensity (0.0 to 1.0) at which the ramp ends.
virtual void makVrv::DtWeatherEffect::setColorMult ( float  r,
float  g,
float  b 
)
virtual

Sets a base color color multiplier.

Parameters
(r,g,b)The r,g,b multiplier values.
virtual void makVrv::DtWeatherEffect::setAdditiveBlend ( bool  enable)
virtual

Enables additive blending mode for rendering.

Parameters
enableSet to true for additive or false for alphablend.
virtual bool makVrv::DtWeatherEffect::additiveBlend ( ) const
virtual

Returns the additive blend mode flag.

virtual void makVrv::DtWeatherEffect::setVelocity ( float  x,
float  y,
float  z 
)
virtual

Sets a velocity for all effect particles.

Parameters
(x,y,z)The x,y,z local space velocity values.
virtual void makVrv::DtWeatherEffect::setInitRotationVariation ( float  rotationDeg)
virtual

Sets particle +- initial random rotation.

Parameters
rotationDegThe initial rotation variation in degrees.
virtual float makVrv::DtWeatherEffect::radius ( ) const
virtual

Returns the radius of the effect.

virtual void makVrv::DtWeatherEffect::setTextureAtlasCell ( unsigned char  numColumns,
unsigned char  numRows,
unsigned char  col,
unsigned char  row 
)
virtual

Sets the texture cell to use for a texture atlas.

Parameters
numColumnsThe number of columns in the texture.
numRowsThe number of rows in the texture.
colThe cell column to use.
rowThe cell row to use.
virtual void makVrv::DtWeatherEffect::setDepthSoftness ( float  softness)
virtual

Sets the softness for transparency fade when close to a surface.

Parameters
softnessThe distance in meters to start the softness fade.
virtual float makVrv::DtWeatherEffect::depthSoftness ( ) const
virtual

Returns the softness for transparency fade when close to a surface.

virtual void makVrv::DtWeatherEffect::setDragCoefficient ( float  coefficient)
virtual

Sets the drag coefficient for particles.

Parameters
coefficientThe coefficient value.
virtual float makVrv::DtWeatherEffect::dragCoefficient ( ) const
virtual

Returns the drag coefficient for particles.

virtual void makVrv::DtWeatherEffect::setSortEnable ( bool  enable)
virtual

Sets the flag to enable sorting particles within the effect.

Parameters
enableSet to true to enable sorting.
virtual bool makVrv::DtWeatherEffect::sortEnable ( ) const
virtual

Returns the flag to enable sorting particles within the effect.

virtual void makVrv::DtWeatherEffect::runSort ( const osg::Vec3 &  localCamPos)
virtual

Sorts particles for the current view.

Fills indice buffer.

Parameters
localCamPosThe local camera position.
virtual void makVrv::DtWeatherEffect::runSimulationUpdateJob ( float  timeStep,
double  currentTime 
)
protectedvirtual

Called during a muti-thread update job to run a simulation update.

Parameters
timeStepThe change in time.
currentTimeThe current simulation time.
virtual void makVrv::DtWeatherEffect::updateHailSurfaceHit ( float  timeStep)
protectedvirtual

Does an update for the Hail surface hit type.

virtual void makVrv::DtWeatherEffect::computeSortDepth ( const osg::Vec3 &  reference)
protectedvirtual

Computes the sort depth for all cells.

Parameters
referenceThe reference position to compute sort depth from.
virtual void makVrv::DtWeatherEffect::fillSortedParticles ( )
protectedvirtual

Fills the gpu buffer with sorted particle data.

virtual bool makVrv::DtWeatherEffect::bindMeshGroupData ( MeshGroup meshGroup,
osg::RenderInfo &  renderInfo 
) const
protectedvirtual

Binds the mesh group data to the vbo's.

Parameters
meshGroupThe mesh group object to bind.
renderInfoThe current rendering info.
virtual bool makVrv::DtWeatherEffect::bindDynamicMeshGroupData ( MeshGroup meshGroup,
osg::RenderInfo &  renderInfo 
) const
protectedvirtual

Binds the dynamic mesh group data to the vbo's.

Parameters
meshGroupThe mesh group object to bind.
renderInfoThe current rendering info.
virtual bool makVrv::DtWeatherEffect::bindVaoToMeshGroup ( GLuint  vao,
MeshGroup meshGroup,
osg::RenderInfo &  renderInfo 
) const
protectedvirtual

Binds the given voa to vbo's for a mesh group.

Parameters
vaoThe GL VAO handle.
meshGroupThe mesh group to bind.
renderInfoThe current rendering info.
virtual void makVrv::DtWeatherEffect::simulatePrecipitationParticles ( float  timeStep,
double  currentTime 
)
protectedvirtual

Simulates particles (movements, etc...) for precipitation.

Parameters
timeStepThe change in time.
currentTimeThe current simulation time.
virtual void makVrv::DtWeatherEffect::simulateParticles ( float  timeStep,
double  currentTime,
osg::Vec3d &  basisPosChange 
)
protectedvirtual

Simulates particles (life, movements, etc...).

Parameters
timeStepThe change in time.
currentTimeThe current simulation time.
basisPosChangeThe change in basis position.
void makVrv::DtWeatherEffect::wrapPosition ( float &  posX,
float &  posY,
float &  posZ 
)
protected

Keeps the given position in the effect radius.

Parameters
posXThe X position to constrain.
posYThe Y position to constrain.
posZThe Z position to constrain.
Particle* makVrv::DtWeatherEffect::getFreeParticle ( void  )
protected

Returns a particle from the free list.

Makes the particle the head of the active list. NULL(0) if no particles are available.

void makVrv::DtWeatherEffect::freeParticle ( Particle particle)
protected

Adds the given particle to the free list.

Handles unlinking from the active list.

void makVrv::DtWeatherEffect::spawnHailParticle ( const osg::Vec3d &  position,
const osg::Vec3 &  normal,
bool  usePhysics 
)
protected

Spawns a hail particle at the given location.

Parameters
positionThe world location.
normalThe spawn direction.
usePhysicsTrue if the particle should use physics.
const osg::Vec3 makVrv::DtWeatherEffect::crossProduct ( const osg::Vec3 &  v0,
const osg::Vec3 &  v1 
)
protected

Returns the cross product of the given 2 vectors.

Parameters
v0The first vector.
v1The second vector.
float makVrv::DtWeatherEffect::computeRandomMinMax ( float  fMin,
float  fMax 
)
protected

Computes a random floating point value in the min max range.

Parameters
minThe minimum value.
maxThe maximum value.
void makVrv::DtWeatherEffect::computeRandomPointInRadius ( osg::Vec2 &  point,
float  radius 
)
protected

Computes a random point in a radius with even distribution.

Parameters
pointThe computed point (output).
radiusThe radius.
bool makVrv::DtWeatherEffect::clampPosition ( osg::Vec3d &  position,
osg::Vec3 &  normal,
const osg::Vec3 &  up 
)
protected

Clamps the given position to a ground surface.

Returns true if successful.

Parameters
positionThe input/output position to clamp.
normalThe output surface normal.
upThe up vector to use for detecting surfaces below the position.
virtual float makVrv::DtWeatherEffect::computeBlendControl ( const BlendData data,
float  blendPos 
) const
protectedvirtual

Computes an ouput value based on the given blending data and blend position.

Parameters
dataThe blending data (see BlendData struct for details).
blendPosThe blend position.
static void makVrv::DtWeatherEffect::theSimulationUpdateJob ( void *  data)
staticprivate

simulation update job function used as a callback for job splitting

static int makVrv::DtWeatherEffect::theSortBackToFront ( const void *  arg0,
const void *  arg1 
)
staticprivate

sort function used for qsorting particles

static void makVrv::DtWeatherEffect::theSortJob ( void *  data)
staticprivate

sort job function used as a callback for job splitting

Member Data Documentation

DtDe& makVrv::DtWeatherEffect::myDe
protected
osg::Matrixd makVrv::DtWeatherEffect::myBasisRot
protected
osg::Vec3d makVrv::DtWeatherEffect::myBasisPos
protected
osg::Vec3d makVrv::DtWeatherEffect::myLastBasisPos
protected
bool makVrv::DtWeatherEffect::myBasisDirty
protected
EffectType makVrv::DtWeatherEffect::myEffectType
protected
SurfaceHitType makVrv::DtWeatherEffect::mySurfaceHitType
protected
float makVrv::DtWeatherEffect::mySurfaceHitTimer
protected
osg::Vec3 makVrv::DtWeatherEffect::myScroll
protected
float makVrv::DtWeatherEffect::myRadius
protected
float makVrv::DtWeatherEffect::myWindDirectionRad
protected
float makVrv::DtWeatherEffect::myWindSpeedMps
protected
float makVrv::DtWeatherEffect::myWindSpeedMultiplier
protected
float makVrv::DtWeatherEffect::myWindLiftMultiplier
protected
float makVrv::DtWeatherEffect::myWindTurbulence
protected
float makVrv::DtWeatherEffect::myDragCoefficient
protected
osg::Vec3 makVrv::DtWeatherEffect::myVelocity
protected
float makVrv::DtWeatherEffect::myInitRotationRad
protected
float makVrv::DtWeatherEffect::myEffectFade
protected
float makVrv::DtWeatherEffect::myIntensity
protected
BlendData makVrv::DtWeatherEffect::myFadeByIntensity
protected
BlendData makVrv::DtWeatherEffect::myFadeByWind
protected
BlendData makVrv::DtWeatherEffect::myParticlesByIntensity
protected
float makVrv::DtWeatherEffect::myParticleSize
protected
osg::Vec3 makVrv::DtWeatherEffect::myColorMult
protected
bool makVrv::DtWeatherEffect::myAdditiveBlend
protected
osg::ref_ptr<osg::BlendFunc> makVrv::DtWeatherEffect::myBlendFunc
protected
float makVrv::DtWeatherEffect::myStreak
protected
float makVrv::DtWeatherEffect::myStreakAdjustment
protected
bool makVrv::DtWeatherEffect::myCameraStreak
protected
float makVrv::DtWeatherEffect::myTextureAtlasCols
protected
float makVrv::DtWeatherEffect::myTextureAtlasRows
protected
float makVrv::DtWeatherEffect::myTextureAtlasCol
protected
float makVrv::DtWeatherEffect::myTextureAtlasRow
protected
float makVrv::DtWeatherEffect::myDepthSoftness
protected
bool makVrv::DtWeatherEffect::mySortEnable
protected
MeshGroup* makVrv::DtWeatherEffect::myMeshGroup
protected
DtGlVaoManager* makVrv::DtWeatherEffect::myVaoManager
protected
Particle* makVrv::DtWeatherEffect::myParticlesMemoryPool
protected
int makVrv::DtWeatherEffect::myParticleMemoryPoolCount
protected
Particle* makVrv::DtWeatherEffect::myParticlesFree
protected
Particle* makVrv::DtWeatherEffect::myParticlesActive
protected
int makVrv::DtWeatherEffect::myParticleActiveCount
protected
Particle** makVrv::DtWeatherEffect::myRenderList
protected
int makVrv::DtWeatherEffect::myRenderParticleCount
protected
SimulationUpdateJobData makVrv::DtWeatherEffect::mySimulationUpdateJobData
protected
DtJobSplitterJob makVrv::DtWeatherEffect::mySimulationUpdateJob
protected
SortJobData makVrv::DtWeatherEffect::mySortJobData
protected
DtJobSplitterJob makVrv::DtWeatherEffect::mySortJob
protected
DtRandomNumberGenerator makVrv::DtWeatherEffect::myRandomNumberGen
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)