01 / SCENE & CAMERATerrain explorer ↗
An annotated heightfield with world-anchored labels, picking, and parent transforms. Flatten the hills to update the peak or compare labels across all three renderers.
Interactive terminal scenes with GPU, software, and wireframe rendering.
01 / SCENE & CAMERAAn annotated heightfield with world-anchored labels, picking, and parent transforms. Flatten the hills to update the peak or compare labels across all three renderers.
02 / SHADER TEXTURESA GPU shader paints the surface before the scene renders. Watch the plasma animate, pause its phase, and compare the software fallback.
03 / DYNAMIC GEOMETRYMoving objects surround a deforming wave. Hold the mesh, add orbiters, or remove them while the scene keeps moving.
04 / SHAPE BUILDERSSpheres, cylinders, cones, tori, and cuboids, lit and UV-mapped. Switch their normals between as built, flat, and smooth.
05 / MESH FILESSTL, OBJ, and 3MF read by nt3dmesh: components and mirroring, painted faces, corner colors, textures, and concave polygons.
06 / DENSE MESHES735,000 triangles: drawn whole in software, outlined in wireframe, and picked through an index built in the background.
07 / CUTOUT TEXTURESSpot the cow in shell fur colored by its own texture, swaying in the wind by moving nodes alone. Cycle the shell count to see the layers build strands.
08 / MIPMAPSA tiled floor runs to the horizon. Turn mipmaps off to see far texels shimmer into moiré; on, the floor settles into an even tone, and anisotropic filtering keeps its detail toward the horizon, on the GPU and in software alike.
09 / INSTANCINGThousands of trees from three shared meshes, each uploaded once and drawn in one instanced call, swaying in the wind. Switch to separate copies to compare.
10 / LIGHTINGA gradient sky and image-based lighting ground the scene. Compare sky and panorama presets with sunlight and point-light shadows. Lift the shapes to see drop shadows stay on the floor.
11 / PARTICLESA fire, its smoke, and drifting dust of up to 100,000 points moved every frame: soft and sized in world units, glowing additively or blended by alpha in depth order, on the GPU and in software alike.
12 / ANIMATIONA ribbon with two joints, morph targets, and transform tracks, driven by the generic animation API.
Play the animation →
13 / GLTF SAMPLESAn articulated assembly with authored cameras and transformed textures, plus three tiny Khronos samples demonstrating morphs, skinning, and rotation.
14 / CHARACTERSA minion, corgi, and duck with named idle, attack, dead, and walk clips. Three embedded CC0 characters share the generic animation player.
15 / GAUSSIANSA small embedded 3DGS PLY with anisotropic, sorted, alpha-blended ellipses. Orbit and compare all three renderers.
Explore Gaussians →
16 / CLUSTERINGA galaxy of up to a million points, grouped into clusters once. Each frame keeps only the clusters in view and thins the far ones, so zooming out stays quick in every renderer. Switch the clustering off to compare.
17 / SPATIAL INDEXScattered boxes indexed by a dynamic AABB tree. Click a box to see its ancestors as nested wireframes, from the leaf up to the root, then set the boxes drifting and watch the tree update.
18 / WATERDrive a craft over directional waves, launch off crests, and land under gravity. Deform the water with boat wakes and landing disturbances, with foam and spray above them. Explore shoreline foam, flowing ripples, refractive shallows, and larger tiled water.
Press 1 for GPU, 2 for software, or 3 for wireframe. GPU rendering falls back to software when unavailable.
From the repository, run task terrain, task procedural, task dynamic, task shapes, task models, task large, task fur, task mipmaps, task forest, task lights, task particles, task gaussians, task animation, task animate, task characters, task cloud, task aabb, or task water in Kitty, or task meshes -- model.stl for your own files. Use --help for options.