ShadowMapping.h
Go to the documentation of this file.
// This file is a part of the OpenSurgSim project.
// Copyright 2013, SimQuest Solutions Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef SURGSIM_BLOCKS_SHADOWMAPPING_H
#define SURGSIM_BLOCKS_SHADOWMAPPING_H
#include <string>
#include <memory>
#include <array>
#include <vector>
namespace SurgSim
{
namespace Graphics
{
class OsgMaterial;
}
namespace Framework
{
class SceneElement;
class Component;
}
namespace Blocks
{
static const std::string GROUP_SHADOW_CASTER = "Shadowing";
static const std::string GROUP_SHADOW_RECEIVER = "Shadowed";
std::vector<std::shared_ptr<Framework::SceneElement>> 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);
}
}
#endif
SurgSim
Definition: CompoundShapeToGraphics.cpp:29
SurgSim::Blocks::createShadowMapping
std::vector< std::shared_ptr< Framework::SceneElement > > 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 c...
Definition: ShadowMapping.cpp:182