Feature Stencil¶
This plugin “drapes” vector feature data over the terrain using a stencil buffering technique.
Example usage:
<model driver="feature_stencil">
<features name="world" driver="ogr">
<url>../data/world.shp</url>
</features>
<styles>
<style type="text/css">
world {
stroke: #ffff007f;
stroke-width: 0.1;
}
</style>
</styles>
</model>
Properties:
- extrusion_distance
How far to extrude stencil volumes (meters)
- inverted
Whether to stencil the inversion of the feature data (true/false)
- mask
Whether to use the stenciled region as a terrain mask (true/false)
- show_volumes
For debugging; draws the actual stencil volume geometry
Shared properties:
All the feature-rendering drivers share the following properties (in addition to those above):
- styles
Stylesheet to use to render features (see: Symbology Reference)
- layout
Paged data layout (see: Features & Symbology)
- cache_policy
Caching policy (see: Caching)
- fading
Fading behavior (see: Fading)
- feature_name
Expression evaluating to the attribute name containing the feature name
- feature_indexing
Whether to index features for query (default is
false
)- lighting
Whether to override and set the lighting mode on this layer (t/f)
- max_granularity
Anglular threshold at which to subdivide lines on a globe (degrees)
- shader_policy
Options for shader generation (see: Shader Policy) :use_texture_arrays: Whether to use texture arrays for wall and roof skins if you’re card supports them. (default is
true
)
Also see:
feature_stencil_line_draping.earth
sample in the repo
Notes:
This plugin does NOT support paging (display layouts).
Fading¶
When fading is supported on a model layer, you can control it like so:
<model ...
<fading duration = "1.0"
max_range = "6000"
attenuation_distance = "1000" />
Properties:
- duration
Time over which to fade in (seconds)
- max_range
Distance at which to start the fade-in
- attenuation_distance
Distance over which to fade in
Shader Policy¶
Some drivers support a shader policy that lets you control how (or whether) to generate shaders for external geometry. For example, if you want to load an external model via a stylesheet, but do NOT want osgEarth to generate shaders for it:
<model ...
<shader_policy>disable</shader_policy>