Motion & Media

3D & WebGL

Real-time 3D in the browser: rendering, materials, and what keeps it fast.

The territory

30 core terms mapped for this field, ranked by how often builders reach for them. Each one is a future entry. Want to bust one? One entry, one file, one pull request.

  • Mesh / geometryvertex and index data defining a renderable object's shape"the actual 3D model data" · "the wireframe shape itself"
  • Materialrules and inputs controlling how a surface is shaded"the surface settings" · "what the object is made of"
  • Textureimage data sampled for color, detail, or material properties"the picture wrapped on the model" · "the image skin"
  • Shadersmall GPU program deciding each pixel's or vertex's final position and color"the custom color code that runs on the graphics card" · "that gradient math thing"
  • Draw callone GPU instruction to render a mesh; too many kills framerate"why is it slow when there's lots of objects" · "the count thing that makes 3D lag"
  • Transforms / coordinate spacesposition and orientation across local, world, view, and clip spaces"why is my object in the wrong place" · "local versus world position"
  • Camera / projection matrixconverts scene coordinates into the camera's projected view"how the 3D turns into a flat image" · "the lens math"
  • PBR (physically based rendering)material model using roughness/metalness so surfaces react to light realistically"make it look like real material not plastic" · "the realistic shiny settings"
  • UV mapping; UV unwrappingflattening a 3D surface so a 2D texture wraps onto it"how the image wraps around the model" · "unfolding the model flat"
  • Normal maptexture faking surface bumps and detail without extra geometry"fake bumpiness" · "detail without more polygons"
  • Environment map (often HDR)360-degree image used to light and reflect on the whole scene"HDRI" · "the photo that lights the scene" · "the reflection sky image"
  • Depth buffer / Z-bufferstores depth so nearer surfaces correctly occlude farther ones"what hides behind what" · "the invisible depth image"
  • glTF / GLBstandard compact 3D file format for web delivery, textures included"the web 3D file type" · "the JPEG of 3D models"
  • Vertex vs fragment shaderone moves points, the other colors pixels"the two kinds of shader code" · "which shader does what"
  • Post-processing; render passscreen-space effects applied after the 3D render"filters on top of the 3D" · "the after-effects layer"
  • Tone mappingcompressing HDR light values into displayable color (ACES, Filmic)"why is everything blown out white" · "the ACES setting"
  • Shadow mapping; shadow acne; peter-panningdepth-based shadows and their classic artifacts"the shadows look stripey" · "the shadow is detached from the object"
  • Surface normals; backface cullingfacing direction; discarding polygons pointing away"the model looks inside out" · "why are some faces invisible"
  • Instancingdrawing thousands of copies of one mesh in a single draw call"a million of the same object cheaply" · "repeat the model without slowing down"
  • Frustum cullingskipping objects outside the camera's view volume"don't render what's off-screen" · "only draw what you can see"
  • LOD (level of detail)swapping to simpler meshes as objects get farther away"lower quality when far away" · "simplify distant stuff"
  • Overdrawsame pixel shaded repeatedly by stacked transparent layers"too many transparent layers stacked" · "why the see-through parts tank the framerate"
  • Bakingprecomputing lighting, shadows, or detail into textures for runtime speed"freeze the lighting into an image" · "pre-render the shadows"
  • Picking via ray castingshooting a ray from the cursor to detect which object was clicked"raycasting" · "how do I click on a 3D object" · "hit detection from the mouse"
  • Orbit controlscamera rig letting users drag to rotate, scroll to zoom around a target"drag to spin the model" · "the turntable camera"
  • Transparency sortingordering see-through objects correctly to avoid render glitches"alpha sorting" · "the glass looks broken through other glass" · "transparent things flickering"
  • Z-fightingflickering where two coplanar surfaces contend for the same depth"two surfaces flickering into each other" · "stripey glitch on the flat thing"
  • Texture compression (KTX2 / Basis)GPU-native texture formats that save VRAM and load time"make the textures load faster" · "the special GPU image format"
  • Geometry compression (Draco or meshoptimizer)shrinking mesh data so 3D models load fast over the web"make the 3D file smaller" · "compress the model for the web"
  • Rigging; skinning; skeletal animationbones and weights that let a mesh deform and animate"the bones inside the character" · "make the model bend and walk"

Deeper in the field

  • Rasterization converts projected triangles into fragments for pixel shading
  • Scene graph hierarchy of objects and transforms composing a 3D scene
  • Anti-aliasing / MSAA smooths jagged polygon edges during or after rendering
  • Occlusion culling skips objects hidden behind other scene geometry
  • Triangle count / polygon budget geometry complexity limit affecting rendering and transfer costs
  • Device pixel ratio canvas resolution multiplier with major GPU performance consequences
  • GPU memory / VRAM limited memory consumed by textures, geometry, and render targets
  • Mipmaps prescaled texture versions to prevent shimmer at distance
  • Texture atlas packing many textures into one image to cut draw calls
  • Skybox background cube or sphere surrounding the scene
  • Ambient occlusion soft contact shadows in creases and where surfaces meet
  • Displacement map texture that actually moves geometry, unlike a normal map
  • Subsurface scattering light diffusing inside skin, wax, marble, leaves
  • Fresnel / rim light brightening at grazing angles; the edge glow on objects
  • Anisotropic reflection stretched highlights on brushed metal and hair
  • Cubemap reflection probe localized captured environment for accurate reflections
  • Matcap a sphere image used as fake lighting; instant look, zero light setup
  • Toon shading / cel shading quantizes lighting into graphic, hard-edged tonal bands
  • Bloom glow bleeding out of bright areas as a post effect
  • Screen-space reflections (SSR) cheap reflections computed from what's already on screen
  • Depth of field / bokeh focal blur with rendered out-of-focus highlights
  • Chromatic aberration color fringing at the frame edges, lens-imperfection look
  • Deferred vs forward rendering two lighting pipelines trading light count against transparency and cost
  • Ray marching; signed distance field rendering shapes from math instead of meshes; blobs, clouds, infinite scenes
  • Vertex displacement; procedural noise deformation wobbling geometry with procedural noise in the shader
  • Particle system; GPU particle simulation thousands of sprites simulated on the GPU
  • Billboard / sprite flat quad always facing the camera
  • Bounding box / bounding sphere cheap collision and culling proxy volumes
  • Morph targets / blend shapes preset deformed mesh states blended for faces and shape animation
  • Retopology rebuilding a dense scanned mesh into clean, animatable geometry
  • Render target; framebuffer object drawing into a texture instead of the screen
  • Offscreen canvas / worker rendering rendering off the main thread to keep the UI responsive
  • Gaussian splatting photoreal scene capture rendered as millions of fuzzy blobs, not meshes
  • WebGPU successor GPU API to WebGL with compute shaders and better performance
  • WebXR browser API for immersive virtual and augmented reality sessions