![]() |
VR-Forces 5.0.3 Developer's Guide
|

Public Member Functions | |
| DtTritonDrawable (makVrv::DtDe &de, const DtTritonManager &tritonManager, DtEnvironmentInfo &environmentInfo, bool geocentric, osg::TextureCubeMap *environmentMap=NULL) | |
| virtual bool | isSameKindAs (const Object *obj) const |
| virtual Object * | cloneType () const |
| virtual Object * | clone (const osg::CopyOp ©op) const |
| virtual Triton::Ocean * | ocean () |
| virtual const Triton::Camera * | closestCameraTo (const DtVector &position) const |
| virtual Triton::Environment * | environment () |
| virtual const Triton::Camera * | tritonCamera (const osg::Camera *osgCamera) const |
| virtual void | setBeach (const osg::Vec3 &beachOrigin, const osg::Vec3 &normal) |
| virtual void | syncHeightMapToGpu (DtHeightMapManager *heightMapMgr, const osg::State *state, const osg::Camera *camera) |
| virtual void | drawImplementation (osg::RenderInfo &renderInfo) const |
| virtual void | setPlanarReflectionsEnabled (bool enabled) |
| virtual bool | planarReflectionsFlag () const |
| virtual void | setMaxReflectionWindSpeed (double metersPerSecond) |
| virtual bool | isInitialized () const |
| virtual void | setAllowUnderwaterEffects (bool allow) |
| virtual bool | allowUnderwaterEffects () const |
| virtual void | enableReflections (bool enabled) |
| virtual void | releaseGLObjects (osg::State *state=0) const |
| virtual void | setHeightMapChanged () |
| virtual void | setBreakingWavesMapChanged () |
| virtual osg::ref_ptr < DtPlanarReflection > | getPlanarReflection (osg::Camera *camera) |
| virtual DtHeightMapManager * | getOrCreateHeightMapManager (osg::RenderInfo &renderInfo) |
| virtual DtTritonBreakingWavesMapManager * | getOrCreateBreakingWavesMapManager (osg::RenderInfo &renderInfo) |
| virtual void | setWindSpeed (double windSpeed) |
| virtual bool | geocentricFlag () |
| virtual void | setOceanMaskTextureEnabled (bool myOceanMaskTextureEnabled) |
| virtual bool | isOceanMaskTextureEnabled () const |
| virtual const DtTritonRenderingParameters & | renderingParameters (void) const |
| virtual DtTritonRenderingParameters & | renderingParameters (void) |
| virtual void | setBreakingWaveAmplitude (float meters) |
| virtual float | getBreakingWaveAmplitude () const |
| virtual void | setHeightMap (bool enabled) |
| virtual bool | heightMap () const |
| virtual void | setBreakingWavesMap (bool enabled) |
| virtual bool | breakingWavesMap () const |
| virtual void | setUnderwaterFogColor (const osg::Vec4 &color) |
| virtual const osg::Vec4 & | underwaterFogColor () const |
| virtual void | setUnderwaterVisibility (double visibility) |
| virtual double | underwaterVisibility () const |
| virtual void | setWaterVisibility (double visibility) |
| virtual double | waterVisibility () const |
| virtual void | setSurgeDepth (float depth) |
| virtual float | surgeDepth () const |
| virtual void | setHeightMapResolution (float metersPerTexel) |
| virtual float | heightMapResolution () const |
| virtual void | setBreakingWavesMapResolution (float metersPerTexel) |
| virtual float | breakingWavesMapResolution () const |
| virtual osg::Group * | getTritonGeode () |
| virtual const osg::Group * | getTritonGeode () const |
Public Attributes | |
| boost::signalslib::signal< void()> | signal_postInitialize |
Protected Types | |
| typedef std::map < osg::GraphicsContext *, void * > | ContextToHandleMap |
Protected Member Functions | |
| virtual | ~DtTritonDrawable () |
| virtual void | shaderUpdateLightUniforms (osg::RenderInfo &info, void *context, Triton::Camera *camera) const |
| virtual void | updateImguiAndConstantsOffOfImgui () |
| virtual void | updateImguiHeightMapDebugOverlay (bool needUpdate, osg::RenderInfo &renderInfo) |
| virtual bool | setup (osg::RenderInfo &renderInfo) |
| virtual void | cleanup (void) |
| virtual void | removePlanarReflections () |
| virtual void | slot_reloadShader () |
| virtual void | initShaderUniformHandles (void *context, Triton::Camera *camera) const |
| virtual void | applyLighting (osg::RenderInfo &info, void *context, Triton::Camera *camera) const |
| virtual void | applyQuality () const |
| virtual void | applySpectralModel (void) const |
| virtual void | setUpNearFarIfNecessary (void) const |
| virtual void | updateShader (osg::Node *node, osg::State &state, void *context, Triton::Camera *camera) const |
| virtual void | slot_heightMapChanged (DtHeightMapManager &manager) |
| virtual void | slot_heightMapCameraChanged () |
| virtual void | flushInvalidCameras () |
| virtual void | onPostTick (void) |
| virtual void | prepEnvironmentMap (const DtOsgSkyObject *skyObject, const osg::Camera *camera, const osg::State &state) const |
| virtual void | prepHeightMapAndBreakingWavesMaps (DtHeightMapManager *heightMapMgr, DtTritonBreakingWavesMapManager *breakingWavesMapMgr, const osg::State &state, osg::RenderInfo &renderInfo) const |
| virtual void | prepReflectionMap (osg::ref_ptr< DtPlanarReflection > planarReflectionCamera, const osg::State &state) const |
| virtual void | setupTritonLightFogVisibility (const osg::Camera *camera, DtOsgSkyObject *skyObject, bool isAboveWater, bool skyEnabled) const |
| virtual void | setUpTritonParticlesAdditiveBlend (void) const |
| virtual void | setUpGodRaysFading (const DtOsgCullVisitorParameters *params) const |
| virtual void | setUpZoomLevel (const DtOsgCullVisitorParameters *params) const |
| virtual void | setUpViewport (Triton::Camera *tritonCamera, osg::Camera *camera) const |
| virtual void | checkGlErrors (void) const |
| virtual void | restoreOsgState (osg::State &state) const |
| virtual void | updatePlanarReflectionCamera (DtPlanarReflection *planarReflection, bool skyEnabled) const |
| virtual void | slot_windowToBeDestroyed (DtWindow *window) |
| virtual void | addGraphicsContextIfNecessary (osg::GraphicsContext *key) |
| virtual void | setUpOceanMaskIfNecessary () |
| virtual const osg::StateSet * | shadowTechniqueStateSet (const osg::Camera *osgCamera) const |
| virtual void | updateSunIntensity (const osg::Camera *osgCamera) const |
| virtual void | updateLighingBasedonSensorFX (osg::Camera *osgCamera) const |
| virtual void | setSpecularThreshold (float threshold) |
| virtual float | specularThreshold () const |
Private Member Functions | |
| DtTritonDrawable ()=delete | |
| DtTritonDrawable (const DtTritonDrawable &drawable)=delete | |
| DtTritonDrawable & | operator= (const DtTritonDrawable &)=delete |
Friends | |
| class | DtTritonImGuiHelper |
|
protected |
| makVrv::DtTritonDrawable::DtTritonDrawable | ( | makVrv::DtDe & | de, |
| const DtTritonManager & | tritonManager, | ||
| DtEnvironmentInfo & | environmentInfo, | ||
| bool | geocentric, | ||
| osg::TextureCubeMap * | environmentMap = NULL |
||
| ) |
CTOR.
|
protectedvirtual |
Destructor.
|
privatedelete |
Default Constructor not implemented.
|
privatedelete |
Copy Constructor not implemented – Copy not allowed use clone instead.
|
privatedelete |
Assignment Operator not implemented – Copy not allowed use clone.
|
virtual |
osg overridden functions for creating a derived class
|
virtual |
osg overridden functions for creating a derived class
|
virtual |
osg overridden functions for creating a derived class
|
virtual |
Return the underlying Triton::Ocean object.
|
virtual |
Closest triton camera, to the point in question.
|
virtual |
Return the underlying Triton::Environment object.
|
virtual |
The triton camera corresponding to osg camera.
|
virtual |
Pass info to Triton about the local ocean depth and floor slope.
|
virtual |
sends the height map to the gpu .
|
virtual |
Perform drawing of the Ocean from the render thread.
|
virtual |
Toggle use of planar reflections of local objects.
|
virtual |
|
virtual |
Set/get height of breaking waves at shorelines. Set to 0 to disable.
|
virtual |
Set/get height of breaking waves at shorelines. Set to 0 to disable.
|
virtual |
Toggle use of automatically generated height maps for coastal effects Only enable if you have bathymetry and no sea-level ocean polygons in the database!
|
virtual |
Toggle use of automatically generated height maps for coastal effects Only enable if you have bathymetry and no sea-level ocean polygons in the database!
|
virtual |
Toggle use of shapefile-based breaking wave areas and directions If off, breaking waves will be everywhere and direction determined from bathymetry.
|
virtual |
Toggle use of shapefile-based breaking wave areas and directions If off, breaking waves will be everywhere and direction determined from bathymetry.
|
virtual |
Set the wind speed at which we blend out planar reflections (default 20 m/s)
|
virtual |
Set/get the base (unlit) fog color when underwater.
|
virtual |
Set/get the base (unlit) fog color when underwater.
|
virtual |
Set/get the visibility when underwater.
|
virtual |
Set/get the visibility when underwater.
|
virtual |
The visibility of the water when viewed from above (affects the transparency)
|
virtual |
The visibility of the water when viewed from above (affects the transparency)
|
virtual |
The depth at which we start dampening wave displacement.
|
virtual |
The depth at which we start dampening wave displacement.
|
virtual |
Whether Triton has been fully initialized (after its first frame.)
|
virtual |
Whether underwater fog etc. is triggered when eye goes under the water surface.
|
virtual |
Whether underwater fog is enabled.
|
virtual |
Get/set the resolution of the height map for shallow water effects (meters per texel)
|
virtual |
Get/set the resolution of the height map for shallow water effects (meters per texel)
|
virtual |
Get/set the resolution of the breaking waves direction map (meters per texel)
|
virtual |
Get/set the resolution of the breaking waves direction map (meters per texel)
|
virtual |
Temporarily enable or disable the planar reflection camera(s).
|
virtual |
Destroy the openGL objects.
|
virtual |
Notify the drawable of an updated height map.
|
virtual |
Notify the drawable of an updated breaking waves map.
|
virtual |
accessor for the DtPlanarReflection object for a camera. SensorFX needs access to setup the shaders correctly.
|
virtual |
accessor for the triton geode object
|
virtual |
accessor for the triton geode object
|
virtual |
get or create the height map manager for the current camera based on the renderInfo
|
virtual |
get or create the breaking waves map manager for the current camera based on the renderInfo
|
virtual |
set the current wind speed to use
|
virtual |
get whether or not the ocean is using the geocentric coordinate sysetem or not
|
virtual |
set/get whether or not to enable the ocean mask used by DtTritonManager. If you want to set this call DtTritonManager::setOceanMaskTextureEnabled
|
virtual |
|
virtual |
get the rendering parameters (const)
|
virtual |
get the rendering parameters (cnon-const)
|
protectedvirtual |
update the light uniforms for a particular shader
|
protectedvirtual |
setup the IMGui and read back any information from ImGui widgets
|
protectedvirtual |
create the height map debug overlay
|
protectedvirtual |
setup the triton drawable based on the render info called the first time the ocean is rendered or if the shaders are regenerated.
|
protectedvirtual |
called by the destructor or releaseGL objects to cleanup this drawable's state
|
protectedvirtual |
tell the planar reflection manager to cleanup all its reflections
|
protectedvirtual |
connected to the shared state reload shader signal in order to clean up the triton shaders
|
protectedvirtual |
initialize the uniform handles for the current context
|
protectedvirtual |
setup and apply the lighting for this frame
|
protectedvirtual |
update the drawable to use the current quality setting for the triton ocean
|
protectedvirtual |
change spectral model if necessary
|
protectedvirtual |
update clip planes if needed(e.g. if reverse z changed somehow)
|
protectedvirtual |
called every time the drawable renders to check if the shader state has changed and if so it updates the shaders
|
protectedvirtual |
What percent cloudiness causes the ocean not to show specular.
|
protectedvirtual |
What percent cloudiness causes the ocean not to show specular.
|
protectedvirtual |
Handles the signal for when a height map changes.
|
protectedvirtual |
Handles the signal for when an associated height map camera changes.
|
protectedvirtual |
check if the osg::Camera still is valid. If not then destroy the corrisponding triton camera
|
protectedvirtual |
connected to the post tick signal and is used to call the triton ocean's post draw function
|
protectedvirtual |
setup the environment map by getting it from the sky object
|
protectedvirtual |
utility function for setting up the height map and breaking wave maps for rendering.
|
protectedvirtual |
utility function for setting up the reflection map for rendering.
|
protectedvirtual |
calculate the current fog value based on if the camera is under the water or not
|
protectedvirtual |
sets up the particle blend setting in triton based on if HDR is on or off
|
protectedvirtual |
sets up the amount to fade the god rays based on the camera movement
|
protectedvirtual |
set the triton internal zoom level based on the cull params zoom level or use the triton override value if it is enabled.
|
protectedvirtual |
setup the triton camera's viewport based on the current osg camera's viewport
|
protectedvirtual |
check for any gl errors and if it is a debug build then print out the errors.
|
protectedvirtual |
restore the opengl state to match the expected osg opengl state
|
protectedvirtual |
update the planar refelction camera, pass it the mirror matrix and update the fog color
|
protectedvirtual |
slot for when a window is about to be destroyed so we can let triton know to clean up the VAO's
|
protectedvirtual |
gets the current graphics context handle and stores it in a map with the osg GraphicsContext so we can clean up VAO's correctly needs to have the osg::GraphicsContext be the current active context so it should really only be called from a drawImplemenation()
|
protectedvirtual |
setup the ocean mask if it has not been setup yet.
|
protectedvirtual |
get the state set for the DtOsgShadowTechnique for the passed in osg camera
|
protectedvirtual |
Update the sun intensity for triton environment based upon silverlining/skyobject & hdr.
|
protectedvirtual |
Update the directional light position and intensity if SensorFX has been enabled.
|
friend |
| boost::signalslib::signal<void()> makVrv::DtTritonDrawable::signal_postInitialize |
Emitted when Triton has been initialized.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |