# Built-in effect studies

Run any numbered `.bb` file in **Extended** mode. Each scene is a complete,
independent study of one public `builtin:` alias. Models and textures are local;
there are no downloads or external shader compiler requirements.

Samples 29–36 cover the built-in Standard material, FXAA, TAA, tone mapping,
terrain, skybox, decals and MSAA depth resolve through their normal commands.

Every complete sentinel uses the skinned `sentinel_walk.glb`, including its
six-second `Idle_LookAround` clip when standing still. Studies 25 (SSR), 26
(volumetric fog) and 31 (TAA) use `Walk_Robotic` on a continuous patrol, with
travel matched to the authored stride. P freezes the skeleton and patrol as well
as the other scripted motion. The matcap bust remains a deliberately static sculpture.
The shared helpers apply material operations to the actual mesh children and map
picked robot parts back to the owning character.

- **Space** toggles the effect. Transparent exhibits disappear in the before view.
- **[ / ]** adjusts the named parameter shown on screen.
- **WASD / arrow keys** move / look; **Tab** restores the composition.
- **P** pauses robot animation and the sample's moving object or light. Shader wind/scan/noise time continues.
- **H** in the volumetric-fog study compares volume shadows without changing density.
- **37 / Repair-bay feedback:** F triggers a hit; M cycles steady/hit/pulse modes; T changes the right robot's base tint while preserving the overlay. P pauses the envelope and both robots. Space clears only the overlay. Brackets change its peak amount. The left robot remains a material reference.
- **38 / Pressure relief:** Space toggles contact softening on the same particles; P pauses the emitter. B changes steam/fire presets and starts a new plume. M switches billboard, stretched and mesh rendering without resetting particles. Brackets change SoftDistance. The small stationary puff also demonstrates CreateSprite compatibility.
- **39 / Salvage counter:** Click a prop in either view to choose that view's highlighted target. E adds/removes a second main-view highlight. H switches the main view between the default amber style and a cyan style with a subtle fill. Brackets set width and activate the custom style. Space toggles highlighting in both views; P pauses the sentinel. Picking remains ordinary sample game logic.
- **40 / Salvage transfer line:** The conveyor uses Standard with TextureScroll. Space compares directional flow on the energy bend and cascade; brackets change its strength. P pauses props, texture scrolling and the supplied flow Time together. R immediately rebases the still-bound belt texture with PositionTexture. The cascade is animated surface colour, without refraction or fluid simulation.
- **41 / Engine test bay:** Space compares heat haze; brackets change distortion in display pixels. P freezes the distortion map using PauseTextureScroll. G shows/hides a glass vessel behind the exhaust to expose the opaque-capture limitation: the haze cannot include earlier transparent glass in its distorted background.
- **42 / Salvage-yard streaming lane:** Space compares hard and dithered switching/fading; brackets change the LOD band width. R releases/restarts the repeatable camera path, P pauses it, T toggles TAA and L cycles directional/point/spot shadow lights. The HUD reports actual LOD submissions, draws and triangles. The default has AA off so the grain remains visible.
- **43 / Relic inspection studio:** R stops/starts object rotation; O orbits the camera 20 degrees about the exhibits. P pauses rotation, Space restores neutral lit materials, and brackets change matcap intensity.
- **45 / The plush workshop:** Space removes the coat, brackets change world length, 1–5 choose 0/8/16/24/32 outer shells, H toggles wind and P pauses the pose while removing wind deflection. The bear is an original procedural skinned GLB; rebuild it with `create_fur_plush.py`.
- **44 / Observatory reflection deck:** M selects the mirror, pool or facing reflectors. Space disables the selected capture and uses its fallback. V compares a polished opaque Standard surface with SSR; R cycles .25/.5/1 capture size; C crosses the active plane. Brackets change reflection weight and P pauses the courier/robot. Facing reflectors show the other receiver's teal fallback after one bounce.
- **F12** saves a PNG to the working directory; **Esc** exits.

Unlit, FXAA, TAA and MSAA depth resolve use Space without a numeric control.
The other studies expose the real named parameter shown on screen.

For repeatable review, compile a sample and launch it with `-capture` (48 frames),
optionally `-before` or `-variant` (maximum parameter; study 44 uses reflection weight .35). Put `-output=absolute-path.png`
last to choose a capture destination, including paths containing spaces.
Automatic captures omit the control overlay. Shader animation uses runtime time,
so animated images from separate launches need not be pixel-identical.

Read the illustrated [effects guide](../../../help/shaders/effects-guide.html).
The metadata and sources can be rebuilt with `tools/shader_showcase/create_samples.py`.
Blender source and its reproducible authoring script are retained in the repository.
