Crate bevy_mod_outline
source ·Expand description
This crate provides a Bevy plugin, OutlinePlugin
, and associated components for
rendering outlines around meshes using the vertex extrusion method.
Outlines are rendered in a seperate pass following the main 3D pass. The effect of this pass is to present the outlines in depth sorted order according to the model translation of each mesh. This ensures that outlines are not clipped by other geometry.
The OutlineVolume
component will, by itself, cover the original object entirely with
the outline colour. The OutlineStencil
component must also be added to prevent the body
of an object from being filled it. This must be added to any entity which needs to appear on
top of an outline.
The OutlineBundle
and OutlineStencilBundle
bundles can be used to add the right
components, including the required ComputedOutlineDepth
component. Optionally, the
SetOutlineDepth
and InheritOutlineDepth
components may also be added to control the
depth ordering of outlines.
Vertex extrusion works best with meshes that have smooth surfaces. To avoid visual
artefacts when outlining meshes with hard edges, see the
OutlineMeshExt::generate_outline_normals
function and the
AutoGenerateOutlineNormalsPlugin
.
Structs
- Automatically runs
generate_outline_normals
on every mesh. - A component for storing the computed depth at which the outline lies.
- A component which specifies that this outline lies at the same depth as its parent.
- A bundle for rendering stenciled outlines around meshes.
- Adds support for rendering outlines.
- A component for specifying what layer(s) the outline should be rendered for.
- A component for stenciling meshes during outline rendering.
- A bundle for stenciling meshes in the outlining pass.
- A component for rendering outlines around meshes.
Enums
- Failed to generate outline normals for the mesh.
- A component which specifies how the outline depth should be computed.
Constants
- The direction to extrude the vertex when rendering the outline.
- Name of the render graph node which draws the outlines.
Traits
- Extension methods for [
Mesh
].