ImplicitSurface.h
Go to the documentation of this file.
1 // This file is a part of the OpenSurgSim project.
2 // Copyright 2015, SimQuest Solutions Inc.
3 //
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 // http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 
16 #ifndef SURGSIM_BLOCKS_IMPLICITSURFACE_H
17 #define SURGSIM_BLOCKS_IMPLICITSURFACE_H
18 
22 #include "SurgSim/Math/Vector.h"
23 
24 namespace SurgSim
25 {
26 namespace Blocks
27 {
28 static const std::string GROUP_IMPLICIT_SURFACE = "ImplicitSurface";
29 
52 std::vector<std::shared_ptr<Framework::SceneElement>> createImplicitSurfaceEffect(
53  std::shared_ptr<Framework::Component> view,
54  std::shared_ptr<Framework::Component> light,
55  std::shared_ptr<Framework::SceneElement> lightMapPass,
56  float sphereRadius,
57  float sphereScale,
58  float blurRadius,
59  const Math::Vector4f& diffuseColor,
60  const Math::Vector4f& specularColor,
61  const std::string diffuseEnvMap,
62  float diffusePct,
63  const std::string specularEnvMap,
64  float specularPct,
65  float shininess,
66  float shadowBias,
67  float shadowIntensity,
68  bool showDebug);
69 
70 } // Blocks
71 } // SurgSim
72 
73 #endif // SURGSIM_BLOCKS_IMPLICITSURFACE_H
Definition: CompoundShapeToGraphics.cpp:29
Eigen::Matrix< float, 4, 1 > Vector4f
A 4D vector of floats.
Definition: Vector.h:45
Definitions of small fixed-size vector types.
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