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

This class provides an implementation of crepuscular rays as a post process. More...

Inheritance diagram for makVrv::DtVolumetricLighting:
Inheritance graph
[legend]

Public Member Functions

 DtVolumetricLighting (DtDe &de, const std::string &postProcessType, bool handles2D)
 Constructor. More...
 
virtual ~DtVolumetricLighting ()
 Destructor. More...
 
virtual bool update (DtChannel *channel)
 Called once per frame from the DtPostProcessManager. More...
 
virtual void slot_reloadShaders ()
 slot for handling when the shaders are reloaded which recreates the Drawable More...
 
virtual void slot_setGodRayEffects (bool enabled)
 
virtual osg::Texture * outputTexture ()
 get the output texture More...
 
virtual bool localEnabled ()
 is locally enabled? More...
 
virtual bool effectItrEnabled (EffectMap::iterator &effect)
 Is this effect (post processor sub-component) enabled? More...
 
virtual bool postProcessorEnabled () const
 Is this post processor enabled? More...
 
- Public Member Functions inherited from makVrv::DtPostProcessor
 DtPostProcessor (const std::string &postProcessType, bool handles2D)
 CTOR. More...
 
virtual ~DtPostProcessor ()
 DTOR. More...
 
virtual void setFragmentShaderSource (const char *source)
 Sets fragment shader source for this post-processor. More...
 
virtual void setVertexShaderSource (const char *source)
 Sets vertex shader source for this post-processor. More...
 
virtual void setFragmentShaderFile (const std::string &fileName)
 Sets fragment shader file for this post-processor. More...
 
virtual void setVertexShaderFile (const std::string &fileName)
 Sets vertex shader file for this post-processor. More...
 
virtual void setInputTexture (const DtChannel *channel, osg::Texture *texture)
 Sets the image that is postprocessed; this may be the 3D scene rendered to a texture, or the output texture of a chained post processor. More...
 
virtual void setIsFinalEffect (const DtChannel *channel, bool final)
 Called by the DtPostProcessManager to indicate if this is the last post processor in the chain, and should render to the framebuffer. More...
 
virtual osg::Camera * cameraForChannel (const DtChannel *channel)
 Gets the Camera node associated with this effect and channel. More...
 
virtual void releaseGLObjects ()
 
virtual bool hasEffect (const std::string &effect)
 Does this post processor support this effect? More...
 
virtual bool effectEnabled (const std::string &effect)
 Is this effect (post processor sub-component) enabled? More...
 
virtual bool anyEffectEnabled ()
 Are any effects enabled? More...
 
virtual std::list< std::string > supportedEffects ()
 Get a list of supported effects for this post processor. More...
 
virtual bool handles2D () const
 Retrieves whether this post processor should be used in 2D orthographic views, as specified in its constructor. More...
 
virtual const std::string & type () const
 Gets the type of the post processor. More...
 
virtual bool enableEffect (const std::string &effect)
 Enable a particular post processing technique For example, "wateroncamera" has techniques "rainsplash", "oceanspray", and "wavesplash". More...
 
virtual bool disableEffect (const std::string &effect)
 
virtual void enablePostProcessor ()
 Enable or disable the post processor. More...
 
virtual void disablePostProcessor ()
 

Protected Member Functions

virtual void slot_windowRemoved (DtWindow *window)
 slot for when window gets removed More...
 
- Protected Member Functions inherited from makVrv::DtPostProcessor
virtual void initialize ()
 
virtual void addEffect (std::string effect)
 When constructing a post processor, add the names of the sub-components (effects) that can be enabled and disabled. More...
 
virtual void setEnablePostProcessor (bool enabled)
 Set the post processor enabled state (true = enabled) More...
 

Protected Attributes

DtDemyDe
 
DtSignalConnectionManager myConnections
 
DtVolumetricDrawablemyVolumeDrawable
 
bool myLocalEnabled
 
- Protected Attributes inherited from makVrv::DtPostProcessor
osg::ref_ptr< osg::Texture > myOutputTexture
 
osg::ref_ptr< osg::Texture > myInputTexture
 
osg::ref_ptr< osg::Program > myProgram
 
osg::ref_ptr< osg::Shader > myFragmentShader
 
osg::ref_ptr< osg::Shader > myVertexShader
 
osg::ref_ptr< osg::Geode > myQuad
 
CameraMap myCameraMap
 
bool myHandles2DFlag
 
bool myEnabledFlag
 
std::string myType
 
EffectMap myEffects
 
CallbackMap myCullCallbackMap
 

Private Member Functions

 DtVolumetricLighting ()
 private default constructor. not allowed. More...
 
 DtVolumetricLighting (const DtVolumetricLighting &)
 prevent copy-construction More...
 
DtVolumetricLightingoperator= (const DtVolumetricLighting &)
 prevent assignment More...
 

Additional Inherited Members

- Protected Types inherited from makVrv::DtPostProcessor
typedef boost::unordered_map
< std::string, bool
EffectMap
 
typedef std::map< const
DtChannel *, osg::ref_ptr
< osg::Camera > > 
CameraMap
 
typedef osg::ref_ptr
< DtPostProcessorCullVistorCallback
CallbackRefPtr
 
typedef std::map< const
DtChannel *, CallbackRefPtr
CallbackMap
 

Detailed Description

This class provides an implementation of crepuscular rays as a post process.

Constructor & Destructor Documentation

makVrv::DtVolumetricLighting::DtVolumetricLighting ( DtDe de,
const std::string &  postProcessType,
bool  handles2D 
)

Constructor.

virtual makVrv::DtVolumetricLighting::~DtVolumetricLighting ( )
virtual

Destructor.

makVrv::DtVolumetricLighting::DtVolumetricLighting ( )
private

private default constructor. not allowed.

makVrv::DtVolumetricLighting::DtVolumetricLighting ( const DtVolumetricLighting )
private

prevent copy-construction

Member Function Documentation

DtVolumetricLighting& makVrv::DtVolumetricLighting::operator= ( const DtVolumetricLighting )
private

prevent assignment

virtual bool makVrv::DtVolumetricLighting::update ( DtChannel channel)
virtual

Called once per frame from the DtPostProcessManager.

Implements makVrv::DtPostProcessor.

virtual void makVrv::DtVolumetricLighting::slot_reloadShaders ( )
virtual

slot for handling when the shaders are reloaded which recreates the Drawable

virtual void makVrv::DtVolumetricLighting::slot_setGodRayEffects ( bool  enabled)
virtual
virtual osg::Texture* makVrv::DtVolumetricLighting::outputTexture ( )
virtual

get the output texture

Reimplemented from makVrv::DtPostProcessor.

virtual bool makVrv::DtVolumetricLighting::localEnabled ( )
virtual

is locally enabled?

virtual bool makVrv::DtVolumetricLighting::effectItrEnabled ( EffectMap::iterator &  effect)
virtual

Is this effect (post processor sub-component) enabled?

Reimplemented from makVrv::DtPostProcessor.

virtual bool makVrv::DtVolumetricLighting::postProcessorEnabled ( ) const
virtual

Is this post processor enabled?

Reimplemented from makVrv::DtPostProcessor.

virtual void makVrv::DtVolumetricLighting::slot_windowRemoved ( DtWindow window)
protectedvirtual

slot for when window gets removed

Member Data Documentation

DtDe& makVrv::DtVolumetricLighting::myDe
protected
DtSignalConnectionManager makVrv::DtVolumetricLighting::myConnections
protected
DtVolumetricDrawable* makVrv::DtVolumetricLighting::myVolumeDrawable
protected
bool makVrv::DtVolumetricLighting::myLocalEnabled
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)