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

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

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

Public Member Functions

 DtVolumetricLighting (DtDe &de, const std::string &postProcessType, bool handles2D)
 
virtual ~DtVolumetricLighting ()
 
virtual bool update (DtChannel *channel)
 
virtual void slot_reloadShaders ()
 
virtual void slot_setGodRayEffects (bool enabled)
 
virtual osg::Texture * outputTexture ()
 
virtual bool localEnabled ()
 
virtual bool postProcessorEnabled () override
 
virtual void setInputTexture (const DtChannel *channel, osg::Texture *texture) override
 
virtual bool needsOcclusionTexture () const override
 
- Public Member Functions inherited from makVrv::DtPostProcessor
 DtPostProcessor (DtDe &de, const std::string &postProcessType, bool handles2D)
 
virtual ~DtPostProcessor ()
 
virtual void setFragmentShaderSource (const char *source)
 
virtual void setVertexShaderSource (const char *source)
 
virtual void setFragmentShaderFile (const std::string &fileName)
 
virtual void setVertexShaderFile (const std::string &fileName)
 
virtual void setIsFinalEffect (const DtChannel *channel, bool final)
 
virtual osg::Camera * cameraForChannel (const DtChannel *channel)
 
virtual void slot_releaseResources ()
 
virtual void releaseGLObjects ()
 
virtual bool hasEffect (const std::string &effect)
 
virtual bool effectEnabled (const std::string &effect)
 
virtual bool anyEffectEnabled ()
 
virtual std::list< std::string > supportedEffects ()
 
virtual bool handles2D () const
 
virtual const std::string & type () const
 
virtual bool enableEffect (const std::string &effect)
 
virtual bool disableEffect (const std::string &effect)
 
virtual void enablePostProcessor ()
 
virtual void disablePostProcessor ()
 

Protected Attributes

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
 
DtDemyDe
 
DtSignalConnectionManager mySignals
 

Private Member Functions

 DtVolumetricLighting ()
 
 DtVolumetricLighting (const DtVolumetricLighting &)
 
DtVolumetricLightingoperator= (const DtVolumetricLighting &)
 

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
 
- Protected Member Functions inherited from makVrv::DtPostProcessor
virtual bool effectItrEnabled (const EffectMap::iterator &effect) const
 
virtual void initialize ()
 
virtual void addEffect (std::string effect)
 
virtual void setEnablePostProcessor (bool enabled)
 

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::postProcessorEnabled ( )
overridevirtual

Is this post processor enabled?

Reimplemented from makVrv::DtPostProcessor.

virtual void makVrv::DtVolumetricLighting::setInputTexture ( const DtChannel channel,
osg::Texture *  texture 
)
overridevirtual

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. Managed by the DtPostProcessManager, you shouldn't need to call this yourself.

Reimplemented from makVrv::DtPostProcessor.

virtual bool makVrv::DtVolumetricLighting::needsOcclusionTexture ( ) const
overridevirtual

Volumetric lighting needs an occlusion texture when enabled.

Reimplemented from makVrv::DtPostProcessor.

Member Data Documentation

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 Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)