#ifndef COMPONENTS_SCENEUTIL_SHADOW_H #define COMPONENTS_SCENEUTIL_SHADOW_H #include <osgShadow/ViewDependentShadowMap> namespace SceneUtil { class MWShadow : public osgShadow::ViewDependentShadowMap { public: static const int numberOfShadowMapsPerLight = 3; static const bool debugHud = true; MWShadow(); const static int baseShadowTextureUnit = 8 - numberOfShadowMapsPerLight; virtual void cull(osgUtil::CullVisitor& cv); protected: const int debugTextureUnit; std::vector<osg::ref_ptr<osg::Camera>> debugCameras; osg::ref_ptr<osg::Program> debugProgram; std::vector<osg::ref_ptr<osg::Node>> debugGeometry; }; } #endif //COMPONENTS_SCENEUTIL_SHADOW_H