Mercator
0.4.0
|
Shader for adding grass to the terrain. More...
#include <GrassShader.h>
Public Member Functions | |
GrassShader (float lowThreshold=default_lowThreshold, float highThreshold=default_highThreshold, float cutoff=default_cutoff, float intercept=default_intercept) | |
Constructor. More... | |
GrassShader (const Parameters ¶ms) | |
Constructor. More... | |
float | lowThreshold () const |
Accessor for level above which the shader renders. | |
float | highThreshold () const |
Accessor for level below which the shader renders. | |
float | cutoff () const |
Accessor for slope below which grass is opaque. | |
float | intercept () const |
Accessor for slope steeper than which no grass grows. | |
virtual bool | checkIntersect (const Segment &) const |
Check whether this Shader has any effect on the given Segment. More... | |
virtual void | shade (Surface &) const |
Populate a Surface with data. | |
![]() | |
virtual | ~Shader () |
Destructor does nothing interesting. | |
bool | getColor () const |
Accessor for color flag. | |
bool | getAlpha () const |
Accessor for alpha flag. | |
Surface * | newSurface (const Segment &) const |
Create a new Surface which matches the requirements of this shader. More... | |
Static Public Attributes | |
static const std::string | key_lowThreshold |
Key string used when specifying the low threshold parameter. | |
static const std::string | key_highThreshold |
Key string used when specifying the high threshold parameter. | |
static const std::string | key_cutoff |
Key string used when specifying the cutoff parameter. | |
static const std::string | key_intercept |
Key string used when specifying the intercept parameter. | |
static const float | default_lowThreshold = 1.f |
Default level above which the shader renders. | |
static const float | default_highThreshold = 20.f |
Default level below which the shader renders. | |
static const float | default_cutoff = 1.f |
Default slope below which grass is opaque. | |
static const float | default_intercept = 2.f |
Default slope steeper than which no grass grows. | |
Additional Inherited Members | |
![]() | |
typedef std::map< std::string, float > | Parameters |
STL map of parameter values for a shader constructor. | |
![]() | |
Shader (bool color=false, bool alpha=true) | |
Protected constructor for classes which inherit from this one. More... | |
Shader for adding grass to the terrain.
This shader is used to add grassy vegetation to some terrain. The mask generated by this shader depends on two factors. The altitude of the terrain, and its slope. Two parameter specify the low and high altitude values between which vegetation grows. The low value will typically be just above sea level, and the high value could be anything up to the height above which plants cannot grow.
|
explicit |
Constructor.
lowThreshold | level above which the shader renders. |
highThreshold | level above which the shader renders. |
cutoff | slope below which grass is opaque. |
intercept | slope steeper than which no grass grows. |
|
explicit |
Constructor.
params | a map of parameters for the shader. |
|
virtual |
Check whether this Shader has any effect on the given Segment.
Implements Mercator::Shader.