vrecko
virtual reality framework
|
#include <Cloud.h>
Classes | |
class | ParticleAwayComparison |
Public Member Functions | |
Cloud () | |
void | CalculateBoundingBox (void) |
void | ComputeUpRightVectors () |
void | LightCloud (void) |
void | RegularUpdate () |
void | InitCloudGeometry (osg::ref_ptr< osg::Geometry > cloudGeometry) |
void | UpdateCloudLotRocScale () |
void | UpdateCloudColor () |
void | UpdateCloud () |
void | Delete (void) |
void | SetLastCam (osg::Vec3f last_cam) |
Static Public Member Functions | |
static void | SetSunLight (SunLight &sun) |
static void | GenerateLightTexture (void) |
static void | DestroyLightTexture (void) |
static bool | AddToQueue (Cloud *cloudToUpdate) |
static void | RealizeQueue (void) |
static void | SetTranslateErrorTolerance (float tolerance) |
static void | SetMaxCloudUpdates (unsigned int max) |
static void | SetSceneInfo (const CloudSceneInfo &info) |
static void | SetCloudParticleTexture (osg::ref_ptr< osg::Texture2D > newCloudParticleTexture) |
static void | SetCamera (const osg::Vec3f &newCameraPosition, const osg::Vec3f &newCameraView, const osg::Vec3f &newCameraUp) |
static void | SetViewMatrix (const osg::Matrix &newViewMatrix) |
Public Attributes | |
AABoundingBox | boundingBox |
std::vector< CloudParticle > | cloudParticle |
class Cloud::ParticleAwayComparison | SortAway |
Represents a cloud and all data and functionality associated with it.
|
inline |
|
static |
Adds the cloud to the update queue.
cloud | Cloud to be added to the update queue. |
void Cloud::CalculateBoundingBox | ( | void | ) |
Computes the bounding box (bounding sphere, actually) of the cloud.
void Cloud::ComputeUpRightVectors | ( | ) |
void Cloud::Delete | ( | void | ) |
Deletes all the data associated with the cloud.
|
static |
Destroys the temporary texture used for the computation of lighting.
|
static |
Generates a temporary texture which is used for light computation. Based on the function used by Harris et al. (www.markmark.net/SkyWorks/)
void Cloud::InitCloudGeometry | ( | osg::ref_ptr< osg::Geometry > | cloudGeometry | ) |
Initializes the geometry of the cloud, its vertices and color and texture coordinates.
cloudGeometry | Geometry of the cloud which is used to create the cloud in it. |
void Cloud::LightCloud | ( | void | ) |
|
static |
Realizes the cloud update queue.
void Cloud::RegularUpdate | ( | ) |
Regular update of the cloud which is being called once per frame.
|
static |
Updates the camera data.
newCameraPosition | Current position vector of the camera. |
newCameraView | Current view vector of the camera. |
newCameraUp | Current up vector of the camera. |
|
inlinestatic |
|
inline |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
void Cloud::UpdateCloud | ( | ) |
Updates the vertices and color of the cloud.
void Cloud::UpdateCloudColor | ( | ) |
Updates the color of the cloud.
void Cloud::UpdateCloudLotRocScale | ( | ) |
Updates the vertices of the cloud.
AABoundingBox Cloud::boundingBox |
std::vector<CloudParticle> Cloud::cloudParticle |
class Cloud::ParticleAwayComparison Cloud::SortAway |