#ifndef MWVR_VRSHADOW_H #define MWVR_VRSHADOW_H #include #include #include namespace MWVR { class UpdateShadowMapSlaveCallback : public osg::View::Slave::UpdateSlaveCallback { public: void updateSlave(osg::View& view, osg::View::Slave& slave) override; }; class VrShadow { using SharedShadowMapConfig = SceneUtil::MWShadowTechnique::SharedShadowMapConfig; public: VrShadow(); void configureShadowsForCamera(osg::Camera* camera, bool master); void updateShadowConfig(osg::View& view); private: osg::ref_ptr mMasterConfig; osg::ref_ptr mSlaveConfig; }; } #endif