ImplicitSurface.h
Go to the documentation of this file.
// This file is a part of the OpenSurgSim project.
// Copyright 2015, 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_IMPLICITSURFACE_H
#define SURGSIM_BLOCKS_IMPLICITSURFACE_H
#include "SurgSim/Framework/Component.h"
#include "SurgSim/Framework/SceneElement.h"
#include "SurgSim/Graphics/Uniform.h"
#include "SurgSim/Math/Vector.h"
namespace SurgSim
{
namespace Blocks
{
static const std::string GROUP_IMPLICIT_SURFACE = "ImplicitSurface";
std::vector<std::shared_ptr<Framework::SceneElement>> createImplicitSurfaceEffect(
std::shared_ptr<Framework::Component> view,
std::shared_ptr<Framework::Component> light,
std::shared_ptr<Framework::SceneElement> lightMapPass,
float sphereRadius,
float sphereScale,
float blurRadius,
const Math::Vector4f& diffuseColor,
const Math::Vector4f& specularColor,
const std::string diffuseEnvMap,
float diffusePct,
const std::string specularEnvMap,
float specularPct,
float shininess,
float shadowBias,
float shadowIntensity,
bool showDebug);
} // Blocks
} // SurgSim
#endif // SURGSIM_BLOCKS_IMPLICITSURFACE_H
SurgSim
Definition: CompoundShapeToGraphics.cpp:29
SurgSim::Math::Vector4f
Eigen::Matrix< float, 4, 1 > Vector4f
A 4D vector of floats.
Definition: Vector.h:45
Component.h
Uniform.h
Vector.h
Definitions of small fixed-size vector types.
SceneElement.h
SurgSim::Blocks::createImplicitSurfaceEffect
std::vector< std::shared_ptr< Framework::SceneElement > > createImplicitSurfaceEffect(std::shared_ptr< Framework::Component > view, std::shared_ptr< Framework::Component > light, std::shared_ptr< Framework::SceneElement > lightMapPass, float sphereRadius, float sphereScale, float blurRadius, const Math::Vector4f &diffuseColor, const Math::Vector4f &specularColor, const std::string diffuseEnvMap, float diffusePct, const std::string specularEnvMap, float specularPct, float shininess, float shadowBias, float shadowIntensity, bool showDebug)
Builds a series of SceneElements enabling the rendering of a screen-space surface, all graphics objects that should be rendered as a surface need to be in the render group GROUP_IMPLICIT_SURFACE.
Definition: ImplicitSurface.cpp:293