Part of #743 (Epic: Shaders). Depends on Slice A (shader assets must compile).
Goal
Register the stylized looks as presets in MaterialPresetLibrary so they flow into the existing preset → CLI → MCP → GUI surface automatically.
Work
- Extend
presetNames() (src/MaterialPresetLibrary.cpp ~line 140) with the grouped stylized set: "Toon", "Toon + Outline", "Outline", "Rim Light", "Matcap", "Hologram", "X-Ray", "Gooch", "Flat Shaded", "Vertex Color".
- In
applyPreset() (dispatch ~174–219), route stylized names to a new helper applyStylizedPreset(mat, look) that clones/instantiates the matching Stylized.material technique, sets tunables (toon band count, rim color/power, matcap texture, outline width/color, gooch warm/cool), then calls RTShaderHelper::finalizeShaderGenMaterial + mat->compile(/*autoManageTextureUnits=*/false).
- Reuse the existing
MaterialPresetCommand undo path and presetApplied signal unchanged.
- Bundle a matcap texture in
media/materials/textures/ for the Matcap preset.
Gotchas
compile(false) to preserve pass/slot layout (same as PBR presets).
- Verify a stylized preset on a skinned mesh (Rumba Dancing.fbx) animates correctly — RTSS skinning via
finalizeShaderGenMaterial/createShaderBasedTechnique.
Acceptance
Part of #743 (Epic: Shaders). Depends on Slice A (shader assets must compile).
Goal
Register the stylized looks as presets in
MaterialPresetLibraryso they flow into the existing preset → CLI → MCP → GUI surface automatically.Work
presetNames()(src/MaterialPresetLibrary.cpp~line 140) with the grouped stylized set:"Toon","Toon + Outline","Outline","Rim Light","Matcap","Hologram","X-Ray","Gooch","Flat Shaded","Vertex Color".applyPreset()(dispatch ~174–219), route stylized names to a new helperapplyStylizedPreset(mat, look)that clones/instantiates the matchingStylized.materialtechnique, sets tunables (toon band count, rim color/power, matcap texture, outline width/color, gooch warm/cool), then callsRTShaderHelper::finalizeShaderGenMaterial+mat->compile(/*autoManageTextureUnits=*/false).MaterialPresetCommandundo path andpresetAppliedsignal unchanged.media/materials/textures/for the Matcap preset.Gotchas
compile(false)to preserve pass/slot layout (same as PBR presets).finalizeShaderGenMaterial/createShaderBasedTechnique.Acceptance
--list-presetsand the GUI grid show the new names (auto viapresetNames()).