Make an invisible process inspectable#
A frame contains geometry, transfer layouts, animation poses, resource dependencies, and overlapping queues. These laboratories expose a small controlled version of each idea. They use visible state, meaningful controls, and a reset, so an observation can be repeated. All scenes and timelines here are browser illustrations or simulations. They are not engine captures or native performance benchmarks. The material lab names its simplified shading model; the culling lab names its point-based approximation; the animation lab distinguishes planar angle blending from native quaternion poses.
How to explore#
Change one setting at a time and predict what should happen. Move the second triangle in front and behind another. Scrub an animation to one fixed time, then blend. Increase the GPU duration while keeping CPU duration unchanged. Open the matching chapter to connect that observation to code and ownership. The browser loads lab code near the viewport. Offscreen playback pauses, and reduced-motion preferences disable automatic scene rotation. Core articles and static diagrams remain readable when graphics or JavaScript cannot run.
Coordinate transforms & cameras
Move model transforms independently of camera distance and projection.
Explore chapter Labs / CHAPTERRasterization & depth
Inspect covered pixel centers, barycentric colors, overlapping triangles, and the effect of draw order.
Explore chapter Labs / CHAPTERTexture transfer & mipmaps
Step from a disk file to a sampled material, compare backend staging rules, and inspect prefiltered detail.
Explore chapter Labs / CHAPTERMaterial & lighting playground
Spread a highlight, tint metal reflection, move the light, and separate a readable browser approximation from the native material design.
Explore chapter Labs / CHAPTERSkeletal animation & blending
Scrub an actual joint hierarchy, combine two clips, and inspect weighted mesh deformation.
Explore chapter Labs / CHAPTERFrustum culling & LOD
Rotate a camera volume, switch visibility submission, and inspect an illustrative geometry budget.
Explore chapter Labs / CHAPTERCPU/GPU scheduling
Change producer and consumer durations, inspect frame-slot waits, and see why extra buffering has a cost.
Explore chapter Labs / CHAPTERRender graph & resource lifetimes
Step across producers and consumers, inspect first/last use, and distinguish an alias candidate from legal native aliasing.
Explore chapter Labs / CHAPTERStep through a frame
Follow the handoffs from input to retirement with a backend-specific command view.
Explore chapter Labs / CHAPTERFixed-step physics
Change restitution and timestep, then step a simple falling body into a floor contact.
Explore chapter Labs / CHAPTERPositional audio relationships
Move a source around a listener and inspect illustrative attenuation and stereo coefficients.
Explore chapter