OpenSceneGraph 3.6.5
MinimalCullBoundsShadowMap
Go to the documentation of this file.
1/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
2 *
3 * This library is open source and may be redistributed and/or modified under
4 * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
5 * (at your option) any later version. The full license is in LICENSE file
6 * included with this distribution, and on the openscenegraph.org website.
7 *
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * OpenSceneGraph Public License for more details.
12 *
13 * ViewDependentShadow codes Copyright (C) 2008 Wojciech Lewandowski
14 * Thanks to to my company http://www.ai.com.pl for allowing me free this work.
15*/
16
17#ifndef OSGSHADOW_MINIMALCULLBOUNDSSHADOWMAP
18#define OSGSHADOW_MINIMALCULLBOUNDSSHADOWMAP 1
19
21
22namespace osgShadow {
23
25 : public MinimalShadowMap
26{
27 public :
32
35
38 const MinimalCullBoundsShadowMap& mcbsm,
40
43
44 protected:
47
49 {
50 virtual void init( ThisClass * st, osgUtil::CullVisitor * cv );
51
52 virtual void cullShadowReceivingScene( );
53
54 virtual void aimShadowCastingCamera( const osg::Light *light,
55 const osg::Vec4 &worldLightPos,
56 const osg::Vec3 &worldLightDir,
57 const osg::Vec3 &worldLightUp
58 = osg::Vec3(0,1,0) );
59
60 typedef std::vector< osgUtil::RenderLeaf* > RenderLeafList;
61
62 static unsigned RemoveOldRenderLeaves
63 ( RenderLeafList &rllNew, RenderLeafList &rllOld );
64
66
68 ( RenderLeafList &rll, osg::Matrix & projectionToWorld );
69
71 ( RenderLeafList &rll, osg::Matrix & projectionToWorld, osg::Polytope & polytope );
72
73 static void GetRenderLeaves
75 };
76
78};
79
80} // namespace osgShadow
81
82#endif
#define META_ViewDependentShadowTechniqueData(ShadowTechnique, TechniqueData)
META_ViewDependentShadowTechniqueData macro defines initViewDependentData method used by derived shad...
Definition ViewDependentShadowTechnique:32
Vec3f Vec3
Definition Vec3:21
BoundingBoxd BoundingBox
Definition BoundingBox:257
Matrixd Matrix
Definition Matrix:27
Vec4f Vec4
Definition Vec4:21
The osgShadow library is a NodeKit that extends the core scene graph to add support for a range of sh...
Definition ConvexPolyhedron:33
Copy Op(erator) used to control whether shallow or deep copy is used during copy construction and clo...
Definition CopyOp:41
@ SHALLOW_COPY
Definition CopyOp:47
Light state class which encapsulates OpenGL glLight() functionality.
Definition Light:40
A Polytope class for representing convex clipping volumes made up of a set of planes.
Definition Polytope:26
MinimalShadowMap BaseClass
Convenient typedef used in definition of ViewData struct and methods.
Definition MinimalCullBoundsShadowMap:31
META_Object(osgShadow, MinimalCullBoundsShadowMap)
Declaration of standard OSG object methods.
MinimalCullBoundsShadowMap()
Classic OSG constructor.
MinimalCullBoundsShadowMap ThisClass
Convenient typedef used in definition of ViewData struct and methods.
Definition MinimalCullBoundsShadowMap:29
virtual ~MinimalCullBoundsShadowMap(void)
Classic protected OSG destructor.
MinimalCullBoundsShadowMap(const MinimalCullBoundsShadowMap &mcbsm, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
Classic OSG cloning constructor.
Definition MinimalCullBoundsShadowMap:49
static unsigned RemoveOldRenderLeaves(RenderLeafList &rllNew, RenderLeafList &rllOld)
static void GetRenderLeaves(osgUtil::RenderBin *rb, RenderLeafList &rll)
virtual void aimShadowCastingCamera(const osg::Light *light, const osg::Vec4 &worldLightPos, const osg::Vec3 &worldLightDir, const osg::Vec3 &worldLightUp=osg::Vec3(0, 1, 0))
static unsigned RemoveIgnoredRenderLeaves(RenderLeafList &rll)
virtual void init(ThisClass *st, osgUtil::CullVisitor *cv)
static osg::BoundingBox ComputeRenderLeavesBounds(RenderLeafList &rll, osg::Matrix &projectionToWorld, osg::Polytope &polytope)
std::vector< osgUtil::RenderLeaf * > RenderLeafList
Definition MinimalCullBoundsShadowMap:60
static osg::BoundingBox ComputeRenderLeavesBounds(RenderLeafList &rll, osg::Matrix &projectionToWorld)
MinimalShadowMap()
Classic OSG constructor.
Definition MinimalShadowMap:101
Basic NodeVisitor implementation for rendering a scene.
Definition CullVisitor:49
RenderBin base class.
Definition RenderBin:34
#define OSGSHADOW_EXPORT
Definition Export:39

osg logo
Generated at Wed Jul 23 2025 00:00:00 for the OpenSceneGraph by doxygen 1.14.0.