Back to API Reference
Class
ExtrudeModifier
Inherits:EffectModifier
Implements:IModifierCommitChanges
Adds a 3D extrude/bevel effect by appending a stack of progressively offset duplicate quads behind the face, shaded across a near→far colour gradient.
Remarks
Layers are flushed back-to-front in layer-major order across all glyphs (every glyph's deepest slice first, then every glyph's next-deeper slice, …, then face). Naïve per-glyph fanout would invert that order at glyph boundaries when the cumulative offset exceeds glyph advance, leaving farther slices of glyph N+1 covering closer slices of glyph N. Per-layer buffers preserve the painter order regardless of overlap. Parameter: offset ("x y") + [,#nearColor][,#farColor][,dilate][,softness]. Defaults: offset = (0.3, -0.3) in em (scaled by the glyph metric factor; with
FixedPixelSize the values are fixed pixels instead), near = white, far = black, dilate = 0, softness = 0.Layer-major flush: every glyph's deepest slice first, then every glyph's next slice, …, then the face. Each layer maintains its own emit buffer, so painter order survives inter-glyph overlap when the cumulative extrusion offset exceeds glyph advance. All slices record the sequence captured for their glyph; the generator's stable sort then keeps the deepest-first emission order within the layer.
Not used — ExtrudeModifier bypasses the base emit-queue indirection and writes all per-layer slots directly inside its OnFlush override.
