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

The DtOsgShadowTechnique class implements a robust shadow mapping system. More...

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

Classes

struct  CascadeImportanceData
struct  CloudShadowPreDrawCallback
struct  CsmSplitData
struct  PerChannelData

Public Member Functions

 DtOsgShadowTechnique (DtDe &de)
 CTOR.
 DtOsgShadowTechnique (const DtOsgShadowTechnique &es, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
 DTOR.
virtual osg::Object * cloneType () const
 Creates a new object of Type DtOsgShadowTechnique.
virtual osg::Object * clone (const osg::CopyOp &copyop) const
 Creates a new copy of DtOsgShadowTechnique object.
virtual bool isSameKindAs (const osg::Object *obj) const
 Returns true if object is of the DtOsgShadowTechnique class. Otherwise, returns false.
virtual const charlibraryName () const
 Returns the namespace string.
virtual const charclassName () const
 Returns the class name string.
virtual void init ()
 Overrides the osgShadow::ShadowTechnique::init method.
virtual void update (osg::NodeVisitor &nv)
 Overrides the osgShadow::ShadowTechnique::update method.
virtual void cull (osgUtil::CullVisitor &cv)
 Overrides the osgShadow::ShadowTechnique::cull method.
virtual void cleanSceneGraph ()
 Overrides the osgShadow::ShadowTechnique::cleanSceneGraph method.
void setChannelShadowState (DtOsgChannel *osgChannel, bool enable)
 Set the shadow mode for channels.
bool getChannelShadowSettings (DtOsgChannel *osgChannel, DtShadowSettingsObject **shadowSettingObject, bool *isPlanView)
 Gets the shadow settings for this channel.
bool getChannelCloudShadowMap (DtOsgChannel *osgChannel, unsigned int *textureIndex, osg::Matrix *textureViewProjMatrix)
 Gets the cloud shadow map for this channel.
bool getCameraCloudShadowMap (osg::Camera *camera, unsigned int *textureIndex, osg::Matrix *textureViewProjMatrix)
 Gets the cloud shadow map for this camera.
void setGlobalLight (osg::LightSource *light)
 Sets global light source.
const osg::LightSource * getGlobalLight () const
 Gets global light source.

Static Public Member Functions

static const std::string & shadowCameraPrefixString (void)
static const std::string & shadowSDSMCameraPrefixString (void)

Protected Types

typedef std::map< const
osg::Camera *, osg::ref_ptr
< PerChannelData > > 
PerChannelDataMap

Protected Member Functions

virtual void reInitialize (unsigned int quality)
 Re-initialize perChannelData using the specified quality setting.
virtual bool configureShadowTraversalNodeMask (bool traverseEntities, bool traverseProps, bool traverseTerrain)
virtual std::string generateVertexShader (PerChannelData *perChannelData, DtShadowSettingsObject *shadowSettingObject)
 Generates an optimized vertex shader given the shadow settings.
virtual std::string generateFragmentShader (PerChannelData *perChannelData, DtShadowSettingsObject *shadowSettingObject)
 Generates an optimized fragment shader given the shadow settings.
virtual std::string generateCloudShadowVertexShader (PerChannelData *perChannelData, DtShadowSettingsObject *shadowSettingObject)
 Generates an cloud shadow vertex shader given the shadow settings.
virtual std::string generateCloudShadowFragmentShader (PerChannelData *perChannelData, DtShadowSettingsObject *shadowSettingObject)
 Generates an optimized fragment shader given the shadow settings.
unsigned int getFilterCount (DtShadowSettingsObject *shadowSettingObject)
 Gets the number of taps for percentage closer filtering(PCF)
virtual osg::Matrixd oglRevDepthOrtho (double left, double right, double bottom, double top, double zNear, double zFar)
 For Reverse Z buffer - get a reverse (near = 1, far = 0) orthographic matrix This should be moved into its own singleton or vrvUtil.
virtual bool getRevZProjectionMatrixAsFrustum (const osg::Matrix &mat, double &left, double &right, double &bottom, double &top, double &zNear, double &zFar)
 For Reverse Z buffer - extract the frustum parameters out of a reverse projection matrix (near = 1, far = 0) This should be moved into its own singleton or vrvUtil.
virtual bool getRevPerspective (const osg::Matrix &mat, double &fovy, double &aspectRatio, double &zNear, double &zFar)
 For Reverse Z buffer - extract the frustum parameters out of a reverse projection matrix (near = 1, far = 0) This should be moved into its own singleton or vrvUtil.
virtual osg::Matrix makeRevFrustum (double left, double right, double bottom, double top, double zNear, double zFar)
 For Reverse Z buffer - create a reverse projection matrix (near = 1, far = 0) out of frustum parameters This should be moved into its own singleton or vrvUtil.
virtual osg::Matrix makeRevPerspective (double fovy, double aspectRatio, double zNear, double zFar)
 For Reverse Z buffer - create a reverse projection matrix (near = 1, far = 0) out of frustum parameters This should be moved into its own singleton or vrvUtil.
virtual ~DtOsgShadowTechnique ()
 DTOR.

Protected Attributes

PerChannelDataMap myPerChannelDataMap
osg::ref_ptr< osg::LightSource > myGlobalLight
unsigned int myTextureUnitOffset
DtDemyDe

Static Protected Attributes

static const std::string myShadowCameraPrefixString
static const std::string mySDSMShadowCameraPrefixString

Private Member Functions

std::string generatePoissonDiscArray (PerChannelData *perChannelData, DtShadowSettingsObject *shadowSettingObject)
 Generates an optimized fragment poisson disc array given the shadow settings.
std::string generateHelperFunctions (PerChannelData *perChannelData, DtShadowSettingsObject *shadowSettingObject)
 Generates an optimized fragment helper functions given the shadow settings.
std::string generateFragmentComputeShadowFunction (PerChannelData *perChannelData, DtShadowSettingsObject *shadowSettingObject)
 Generates an optimized fragment compute shadow function given the shadow settings.
std::string generateFragmentUniformAndVariables (PerChannelData *perChannelData, DtShadowSettingsObject *shadowSettingObject)
 Generates an optimized fragment uniforms and variables given the shadow settings.
std::string generateFragmentMain (PerChannelData *perChannelData, DtShadowSettingsObject *shadowSettingObject)
 Generates an optimized fragment main given the shadow settings.
std::string generateFragmentVisualizeCascadeMain (PerChannelData *perChannelData, DtShadowSettingsObject *shadowSettingObject)
 Generates an optimized fragment visualize cascade main given the shadow settings.
bool getCameraSettings (osg::Camera *viewCamera, PerChannelData **perChannelData, DtShadowSettingsObject **shadowSettingObject, bool *isPlanView)
 Gets camera shadow settings.
void initPerChannelData (PerChannelData *perChannelData, DtShadowSettingsObject *shadowSettingObject)
 Initializes per channel data.
void installVirtualProgramAndSharedStateSet (PerChannelData *perChannelData, DtShadowSettingsObject *shadowSettingObject)
 Initializes the virtual program and shared stateset for perChannelData.
void packTextureAtlas (PerChannelData *perChannelData, DtShadowSettingsObject *shadowSettingObject)
 Computes the total width and height for perChannelData.
void installSDSM (PerChannelData *perChannelData, DtShadowSettingsObject *shadowSettingObject)
 Install SDSM.
void traverseSDSMCameras (PerChannelData *perChannelData, DtShadowSettingsObject *shadowSettingObject, osgUtil::CullVisitor &cv, double cameraMagnification)
 Traverses SDSM Cameras.
void installCloudShadows (PerChannelData *perChannelData, DtShadowSettingsObject *shadowSettingObject)
 Initializes per channel cloud shadows.
void updateCloudShadows (osg::Camera *camera)
 Updates per camera cloud shadows.
void updateCloudShadows (PerChannelData *perChannelData, DtShadowSettingsObject *shadowSettingObject, const osg::Matrix &inverseViewMatrix)
 Updates per channel cloud shadows.
void updateCascadeImportance (PerChannelData *perChannelData, DtShadowSettingsObject *shadowSettingObject)
 Updates Cascade Importance.
osg::Program * getProgramFromFile (const std::string &szVertexShader, const std::string &szFragmentShader)
 Creates a Program with a vertex and fragment shader.
void installPreFilter (PerChannelData *perChannelData, DtShadowSettingsObject *shadowSettingObject, osg::Camera *depthCamera, osg::Camera *xBlurCamera, osg::Camera *yBlurCamera, osg::Texture2D *texture, osg::StateSet *stateSet, unsigned int textureUnit)
 Installs PreFilter for texture 2d.
void installPreFilter (PerChannelData *perChannelData, DtShadowSettingsObject *shadowSettingObject, osg::Camera *depthCamera, osg::Camera *xBlurCamera, osg::Camera *yBlurCamera, unsigned int textureLayer, osg::Texture2DArray *texture2DArray, osg::Texture2DArray *preFilterTexture2DArray1, osg::Texture2DArray *preFilterTexture2DArray2)
 Installs PreFilter for texture 2d Array.
osg::Texture2D * createTexture2D (int width, int height, GLenum internalFormat, GLenum sourceFormat, GLenum sourceType, bool shadowComparisonMode, osg::Texture2D::FilterMode minFilter=osg::Texture2D::NEAREST, osg::Texture2D::FilterMode magFilter=osg::Texture2D::NEAREST)
 Creates 2d texture.
osg::Texture2DArray * createTexture2DArray (int width, int height, int depth, GLenum internalFormat, GLenum sourceFormat, GLenum sourceType, bool shadowComparisonMode, osg::Texture2DArray::FilterMode minFilter=osg::Texture2DArray::NEAREST, osg::Texture2DArray::FilterMode magFilter=osg::Texture2DArray::NEAREST)
 Creates 2d texture array.
osg::Camera * createCamera (int width, int height, GLbitfield clearMask)
 Creates a simple camera.
osg::Geode * createFullScreenQuad (const osg::Vec2 &size, const osg::Vec2 &uvStart, const osg::Vec2 &uvStop)
 Creates a full screen quad.
osg::Camera * createHudCamera (int width, int height, GLbitfield clearMask)
 Creates a hud camera with a full screen quad.
double computeUniformSplit (double nearDistance, double farDistance, unsigned int splitIndex, unsigned int numSplits)
 Compute uniform split distance for specified cascade.
double computeLogarithmicSplit (double nearDistance, double farDistance, unsigned int splitIndex, unsigned int numSplits)
 Compute logarithm split distance for specified cascade.
void constructSplitLightCamera (PerChannelData *perChannelData, DtShadowSettingsObject *shadowSettingObject, CsmSplitData &csmSplit, const osg::Vec3 &lightDirection, const osg::Matrix &cameraViewMatrix, const osg::Matrix &cameraProjectionMatrix, double cameraMagnification)
 Compute logarithm split distance for specified cascade.
void setDirty (bool dirty)
 Sets dirty for shadow technisue to true or false.

Detailed Description

The DtOsgShadowTechnique class implements a robust shadow mapping system.

Member Typedef Documentation

typedef std::map< const osg::Camera*, osg::ref_ptr<PerChannelData> > makVrv::DtOsgShadowTechnique::PerChannelDataMap
protected

Constructor & Destructor Documentation

makVrv::DtOsgShadowTechnique::DtOsgShadowTechnique ( DtDe de)

CTOR.

makVrv::DtOsgShadowTechnique::DtOsgShadowTechnique ( const DtOsgShadowTechnique es,
const osg::CopyOp &  copyop = osg::CopyOp::SHALLOW_COPY 
)

DTOR.

virtual makVrv::DtOsgShadowTechnique::~DtOsgShadowTechnique ( )
inlineprotectedvirtual

DTOR.

Member Function Documentation

virtual osg::Object* makVrv::DtOsgShadowTechnique::cloneType ( ) const
inlinevirtual

Creates a new object of Type DtOsgShadowTechnique.

virtual osg::Object* makVrv::DtOsgShadowTechnique::clone ( const osg::CopyOp &  copyop) const
inlinevirtual

Creates a new copy of DtOsgShadowTechnique object.

virtual bool makVrv::DtOsgShadowTechnique::isSameKindAs ( const osg::Object *  obj) const
inlinevirtual

Returns true if object is of the DtOsgShadowTechnique class. Otherwise, returns false.

virtual const char* makVrv::DtOsgShadowTechnique::libraryName ( ) const
inlinevirtual

Returns the namespace string.

virtual const char* makVrv::DtOsgShadowTechnique::className ( ) const
inlinevirtual

Returns the class name string.

virtual void makVrv::DtOsgShadowTechnique::init ( )
virtual

Overrides the osgShadow::ShadowTechnique::init method.

virtual void makVrv::DtOsgShadowTechnique::update ( osg::NodeVisitor &  nv)
virtual

Overrides the osgShadow::ShadowTechnique::update method.

virtual void makVrv::DtOsgShadowTechnique::cull ( osgUtil::CullVisitor &  cv)
virtual

Overrides the osgShadow::ShadowTechnique::cull method.

virtual void makVrv::DtOsgShadowTechnique::cleanSceneGraph ( )
virtual

Overrides the osgShadow::ShadowTechnique::cleanSceneGraph method.

void makVrv::DtOsgShadowTechnique::setChannelShadowState ( DtOsgChannel osgChannel,
bool  enable 
)

Set the shadow mode for channels.

bool makVrv::DtOsgShadowTechnique::getChannelShadowSettings ( DtOsgChannel osgChannel,
DtShadowSettingsObject **  shadowSettingObject,
bool isPlanView 
)

Gets the shadow settings for this channel.

bool makVrv::DtOsgShadowTechnique::getChannelCloudShadowMap ( DtOsgChannel osgChannel,
unsigned int textureIndex,
osg::Matrix *  textureViewProjMatrix 
)

Gets the cloud shadow map for this channel.

bool makVrv::DtOsgShadowTechnique::getCameraCloudShadowMap ( osg::Camera *  camera,
unsigned int textureIndex,
osg::Matrix *  textureViewProjMatrix 
)

Gets the cloud shadow map for this camera.

void makVrv::DtOsgShadowTechnique::setGlobalLight ( osg::LightSource *  light)
inline

Sets global light source.

const osg::LightSource* makVrv::DtOsgShadowTechnique::getGlobalLight ( ) const
inline

Gets global light source.

static const std::string& makVrv::DtOsgShadowTechnique::shadowCameraPrefixString ( void  )
static
static const std::string& makVrv::DtOsgShadowTechnique::shadowSDSMCameraPrefixString ( void  )
static
virtual void makVrv::DtOsgShadowTechnique::reInitialize ( unsigned int  quality)
protectedvirtual

Re-initialize perChannelData using the specified quality setting.

virtual bool makVrv::DtOsgShadowTechnique::configureShadowTraversalNodeMask ( bool  traverseEntities,
bool  traverseProps,
bool  traverseTerrain 
)
protectedvirtual
virtual std::string makVrv::DtOsgShadowTechnique::generateVertexShader ( PerChannelData perChannelData,
DtShadowSettingsObject shadowSettingObject 
)
protectedvirtual

Generates an optimized vertex shader given the shadow settings.

virtual std::string makVrv::DtOsgShadowTechnique::generateFragmentShader ( PerChannelData perChannelData,
DtShadowSettingsObject shadowSettingObject 
)
protectedvirtual

Generates an optimized fragment shader given the shadow settings.

virtual std::string makVrv::DtOsgShadowTechnique::generateCloudShadowVertexShader ( PerChannelData perChannelData,
DtShadowSettingsObject shadowSettingObject 
)
protectedvirtual

Generates an cloud shadow vertex shader given the shadow settings.

virtual std::string makVrv::DtOsgShadowTechnique::generateCloudShadowFragmentShader ( PerChannelData perChannelData,
DtShadowSettingsObject shadowSettingObject 
)
protectedvirtual

Generates an optimized fragment shader given the shadow settings.

unsigned int makVrv::DtOsgShadowTechnique::getFilterCount ( DtShadowSettingsObject shadowSettingObject)
protected

Gets the number of taps for percentage closer filtering(PCF)

virtual osg::Matrixd makVrv::DtOsgShadowTechnique::oglRevDepthOrtho ( double  left,
double  right,
double  bottom,
double  top,
double  zNear,
double  zFar 
)
protectedvirtual

For Reverse Z buffer - get a reverse (near = 1, far = 0) orthographic matrix This should be moved into its own singleton or vrvUtil.

virtual bool makVrv::DtOsgShadowTechnique::getRevZProjectionMatrixAsFrustum ( const osg::Matrix &  mat,
double left,
double right,
double bottom,
double top,
double zNear,
double zFar 
)
protectedvirtual

For Reverse Z buffer - extract the frustum parameters out of a reverse projection matrix (near = 1, far = 0) This should be moved into its own singleton or vrvUtil.

virtual bool makVrv::DtOsgShadowTechnique::getRevPerspective ( const osg::Matrix &  mat,
double fovy,
double aspectRatio,
double zNear,
double zFar 
)
protectedvirtual

For Reverse Z buffer - extract the frustum parameters out of a reverse projection matrix (near = 1, far = 0) This should be moved into its own singleton or vrvUtil.

virtual osg::Matrix makVrv::DtOsgShadowTechnique::makeRevFrustum ( double  left,
double  right,
double  bottom,
double  top,
double  zNear,
double  zFar 
)
protectedvirtual

For Reverse Z buffer - create a reverse projection matrix (near = 1, far = 0) out of frustum parameters This should be moved into its own singleton or vrvUtil.

virtual osg::Matrix makVrv::DtOsgShadowTechnique::makeRevPerspective ( double  fovy,
double  aspectRatio,
double  zNear,
double  zFar 
)
protectedvirtual

For Reverse Z buffer - create a reverse projection matrix (near = 1, far = 0) out of frustum parameters This should be moved into its own singleton or vrvUtil.

std::string makVrv::DtOsgShadowTechnique::generatePoissonDiscArray ( PerChannelData perChannelData,
DtShadowSettingsObject shadowSettingObject 
)
private

Generates an optimized fragment poisson disc array given the shadow settings.

std::string makVrv::DtOsgShadowTechnique::generateHelperFunctions ( PerChannelData perChannelData,
DtShadowSettingsObject shadowSettingObject 
)
private

Generates an optimized fragment helper functions given the shadow settings.

std::string makVrv::DtOsgShadowTechnique::generateFragmentComputeShadowFunction ( PerChannelData perChannelData,
DtShadowSettingsObject shadowSettingObject 
)
private

Generates an optimized fragment compute shadow function given the shadow settings.

std::string makVrv::DtOsgShadowTechnique::generateFragmentUniformAndVariables ( PerChannelData perChannelData,
DtShadowSettingsObject shadowSettingObject 
)
private

Generates an optimized fragment uniforms and variables given the shadow settings.

std::string makVrv::DtOsgShadowTechnique::generateFragmentMain ( PerChannelData perChannelData,
DtShadowSettingsObject shadowSettingObject 
)
private

Generates an optimized fragment main given the shadow settings.

std::string makVrv::DtOsgShadowTechnique::generateFragmentVisualizeCascadeMain ( PerChannelData perChannelData,
DtShadowSettingsObject shadowSettingObject 
)
private

Generates an optimized fragment visualize cascade main given the shadow settings.

bool makVrv::DtOsgShadowTechnique::getCameraSettings ( osg::Camera *  viewCamera,
PerChannelData **  perChannelData,
DtShadowSettingsObject **  shadowSettingObject,
bool isPlanView 
)
private

Gets camera shadow settings.

void makVrv::DtOsgShadowTechnique::initPerChannelData ( PerChannelData perChannelData,
DtShadowSettingsObject shadowSettingObject 
)
private

Initializes per channel data.

void makVrv::DtOsgShadowTechnique::installVirtualProgramAndSharedStateSet ( PerChannelData perChannelData,
DtShadowSettingsObject shadowSettingObject 
)
private

Initializes the virtual program and shared stateset for perChannelData.

void makVrv::DtOsgShadowTechnique::packTextureAtlas ( PerChannelData perChannelData,
DtShadowSettingsObject shadowSettingObject 
)
private

Computes the total width and height for perChannelData.

void makVrv::DtOsgShadowTechnique::installSDSM ( PerChannelData perChannelData,
DtShadowSettingsObject shadowSettingObject 
)
private

Install SDSM.

void makVrv::DtOsgShadowTechnique::traverseSDSMCameras ( PerChannelData perChannelData,
DtShadowSettingsObject shadowSettingObject,
osgUtil::CullVisitor &  cv,
double  cameraMagnification 
)
private

Traverses SDSM Cameras.

void makVrv::DtOsgShadowTechnique::installCloudShadows ( PerChannelData perChannelData,
DtShadowSettingsObject shadowSettingObject 
)
private

Initializes per channel cloud shadows.

void makVrv::DtOsgShadowTechnique::updateCloudShadows ( osg::Camera *  camera)
private

Updates per camera cloud shadows.

void makVrv::DtOsgShadowTechnique::updateCloudShadows ( PerChannelData perChannelData,
DtShadowSettingsObject shadowSettingObject,
const osg::Matrix &  inverseViewMatrix 
)
private

Updates per channel cloud shadows.

void makVrv::DtOsgShadowTechnique::updateCascadeImportance ( PerChannelData perChannelData,
DtShadowSettingsObject shadowSettingObject 
)
private

Updates Cascade Importance.

osg::Program* makVrv::DtOsgShadowTechnique::getProgramFromFile ( const std::string &  szVertexShader,
const std::string &  szFragmentShader 
)
private

Creates a Program with a vertex and fragment shader.

void makVrv::DtOsgShadowTechnique::installPreFilter ( PerChannelData perChannelData,
DtShadowSettingsObject shadowSettingObject,
osg::Camera *  depthCamera,
osg::Camera *  xBlurCamera,
osg::Camera *  yBlurCamera,
osg::Texture2D *  texture,
osg::StateSet *  stateSet,
unsigned int  textureUnit 
)
private

Installs PreFilter for texture 2d.

void makVrv::DtOsgShadowTechnique::installPreFilter ( PerChannelData perChannelData,
DtShadowSettingsObject shadowSettingObject,
osg::Camera *  depthCamera,
osg::Camera *  xBlurCamera,
osg::Camera *  yBlurCamera,
unsigned int  textureLayer,
osg::Texture2DArray *  texture2DArray,
osg::Texture2DArray *  preFilterTexture2DArray1,
osg::Texture2DArray *  preFilterTexture2DArray2 
)
private

Installs PreFilter for texture 2d Array.

osg::Texture2D* makVrv::DtOsgShadowTechnique::createTexture2D ( int  width,
int  height,
GLenum  internalFormat,
GLenum  sourceFormat,
GLenum  sourceType,
bool  shadowComparisonMode,
osg::Texture2D::FilterMode  minFilter = osg::Texture2D::NEAREST,
osg::Texture2D::FilterMode  magFilter = osg::Texture2D::NEAREST 
)
private

Creates 2d texture.

osg::Texture2DArray* makVrv::DtOsgShadowTechnique::createTexture2DArray ( int  width,
int  height,
int  depth,
GLenum  internalFormat,
GLenum  sourceFormat,
GLenum  sourceType,
bool  shadowComparisonMode,
osg::Texture2DArray::FilterMode  minFilter = osg::Texture2DArray::NEAREST,
osg::Texture2DArray::FilterMode  magFilter = osg::Texture2DArray::NEAREST 
)
private

Creates 2d texture array.

osg::Camera* makVrv::DtOsgShadowTechnique::createCamera ( int  width,
int  height,
GLbitfield  clearMask 
)
private

Creates a simple camera.

osg::Geode* makVrv::DtOsgShadowTechnique::createFullScreenQuad ( const osg::Vec2 &  size,
const osg::Vec2 &  uvStart,
const osg::Vec2 &  uvStop 
)
private

Creates a full screen quad.

osg::Camera* makVrv::DtOsgShadowTechnique::createHudCamera ( int  width,
int  height,
GLbitfield  clearMask 
)
private

Creates a hud camera with a full screen quad.

double makVrv::DtOsgShadowTechnique::computeUniformSplit ( double  nearDistance,
double  farDistance,
unsigned int  splitIndex,
unsigned int  numSplits 
)
private

Compute uniform split distance for specified cascade.

double makVrv::DtOsgShadowTechnique::computeLogarithmicSplit ( double  nearDistance,
double  farDistance,
unsigned int  splitIndex,
unsigned int  numSplits 
)
private

Compute logarithm split distance for specified cascade.

void makVrv::DtOsgShadowTechnique::constructSplitLightCamera ( PerChannelData perChannelData,
DtShadowSettingsObject shadowSettingObject,
CsmSplitData csmSplit,
const osg::Vec3 &  lightDirection,
const osg::Matrix &  cameraViewMatrix,
const osg::Matrix &  cameraProjectionMatrix,
double  cameraMagnification 
)
private

Compute logarithm split distance for specified cascade.

void makVrv::DtOsgShadowTechnique::setDirty ( bool  dirty)
inlineprivate

Sets dirty for shadow technisue to true or false.

Member Data Documentation

PerChannelDataMap makVrv::DtOsgShadowTechnique::myPerChannelDataMap
protected
osg::ref_ptr<osg::LightSource> makVrv::DtOsgShadowTechnique::myGlobalLight
protected
unsigned int makVrv::DtOsgShadowTechnique::myTextureUnitOffset
protected
DtDe& makVrv::DtOsgShadowTechnique::myDe
protected
const std::string makVrv::DtOsgShadowTechnique::myShadowCameraPrefixString
staticprotected
const std::string makVrv::DtOsgShadowTechnique::mySDSMShadowCameraPrefixString
staticprotected

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

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)