Namespaces | Functions
ShadowMapping.cpp File Reference
#include "SurgSim/Blocks/ShadowMapping.h"
#include "SurgSim/Graphics/OsgCamera.h"
#include "SurgSim/Graphics/OsgScreenSpaceQuadRepresentation.h"
#include "SurgSim/Graphics/OsgMaterial.h"
#include "SurgSim/Graphics/OsgRenderTarget.h"
#include "SurgSim/Graphics/Program.h"
#include "SurgSim/Graphics/RenderPass.h"
#include "SurgSim/Graphics/OsgScreenSpacePass.h"
#include "SurgSim/Framework/Scene.h"
#include "SurgSim/Framework/BasicSceneElement.h"
#include "SurgSim/Framework/TransferPropertiesBehavior.h"
#include "SurgSim/Framework/PoseComponent.h"
#include "SurgSim/Blocks/GraphicsUtilities.h"
#include "SurgSim/Graphics/OsgLight.h"
#include <osg/PolygonMode>

Namespaces

 SurgSim
 
 SurgSim::Blocks
 

Functions

std::shared_ptr< Graphics::Camera > SurgSim::Blocks::setupBlurPasses (std::shared_ptr< Graphics::RenderPass > shadowMapPass, int textureSize, double blurRadius, bool debug, std::vector< std::shared_ptr< Framework::SceneElement >> *elements)
 
std::shared_ptr< Graphics::RenderPass > SurgSim::Blocks::createLightMapPass (int textureSize, bool debug)
 Create the pass that renders the scene from the view of the light source the identifier GROUP_SHADOW_CASTER is used in all graphic objects to mark them as used in this pass. More...
 
std::shared_ptr< Graphics::RenderPass > SurgSim::Blocks::createShadowMapPass (int textureSize, double bias, double intensity, bool debug)
 Create the pass that renders shadowed pixels into the scene, the identifier GROUPD_SHADOW_RECEIVER is used in all graphics objects to mark them as used in this pass. More...
 
std::vector< std::shared_ptr< Framework::SceneElement > > SurgSim::Blocks::createShadowMapping (std::shared_ptr< Framework::Component > camera, std::shared_ptr< Framework::Component > light, int depthTextureSize, int shadowTextureSize, std::array< double, 6 > lightCameraProjection, double bias, double intensity, bool useBlur, double blurRadius, bool showDebug)
 Builds a series of SceneElements enabling the rendering of shadows, all graphics object that should cast shadows need to be in the render group GROUP_SHADOW_CASTER, all objects that should receive shadows should be in the render group GROUP_SHADOW_RECEIVER. More...