Ambient Light
A light source in Three.js that globally illuminates all objects in the scene equally without a specific direction or shadows.
Three.js / Glossary
Plain definitions for the vocabulary that turns up in every Three.js project, from ambient light and attributes to TSL and WebGPU.

Every field has words that everyone uses and nobody explains. These are the ones that come up in Three.js work, defined in a sentence each, so a tutorial that assumes you know what a draw call is stops being a wall.
A light source in Three.js that globally illuminates all objects in the scene equally without a specific direction or shadows.
An object in Three.js used to manage and play animations on a specific 3D character or object.
A graphics rendering technique used to smooth jagged edges on diagonal lines and curves to make the final image look crisp.
Variables containing data per vertex, such as position, normal, and color, passed from CPU to vertex shaders in WebGL.
A debugging tool in Three.js that renders 3 axes (X=red, Y=green, Z=blue) to help orient objects in 3D space.
The smallest invisible rectangular box that completely encloses a 3D geometry. Frequently used for collision detection and frustum culling.
An efficient representation of mesh, line, or point geometry in Three.js that uses typed arrays to store vertices, faces, colors, and normals.
The abstract viewpoint from which the 3D scene is rendered. In Three.js, this is usually a PerspectiveCamera or OrthographicCamera.
The HTML5 `<canvas>` element used as the surface where WebGL context draws the resulting 2D pixels of a rendered 3D scene.
A texture made of six images corresponding to the sides of a cube. Frequently used for skyboxes and environment mapping.
A light source emitting parallel rays in a specific direction. Behaves like the sun, where all rays are parallel and can cast shadows.
A command sent from the CPU to the GPU telling it to draw a specific mesh. Minimizing draw calls is key to 3D web performance.
A popular utility library for React Three Fiber that provides pre-built, reusable components to streamline common 3D tasks.
A panoramic texture mapped onto objects to simulate realistic reflections and lighting, widely used in PBR materials.
A GLSL program executed on the GPU responsible for determining the final color of every rendered pixel (or fragment) on the screen.
An optimization technique where the engine skips rendering objects that fall outside the camera's viewing area (frustum).
The structured arrangement of vertices and faces defining the physical 3D shape of an object.
GL Transmission Format. The 'JPEG of 3D', an highly efficient, optimized file format designed specifically for fast loading on the web.
OpenGL Shading Language. A C-style language used to write custom shaders (vertex and fragment) executed directly on the GPU.
The specialized processor that accelerates the mathematical calculations needed to render complex 3D graphics in the browser.
High Dynamic Range Image. A 360-degree panoramic image containing realistic lighting data, frequently used for environment maps.
A Three.js class that allows you to draw thousands of copies of the same geometry with a single draw call, drastically improving performance.
The appearance configuration (color, metalness, roughness, transparency) applied to a geometry to define how it interacts with light.
A mathematical grid of numbers used heavily in 3D graphics to represent transformations like translation, rotation, and scaling.
A core 3D object constructed by combining a Geometry (shape) with a Material (appearance).
The most advanced, photorealistic physically-based rendering (PBR) material available in Three.js, supporting clearcoat, transmission, and sheen.
The standard PBR material in Three.js that provides realistic lighting interactions based on physical principles like roughness and metalness.
A technique that pre-calculates downscaled versions of a texture to improve rendering performance and reduce aliasing artifacts when viewed at a distance.
A vector that is perpendicular to a surface or vertex. Normals are essential for calculating how a surface interacts with lighting.
An image texture (often bluish) used to fake high-resolution bumps, dents, and surface details without adding extra geometry.
A camera projection mode where object size remains constant regardless of distance. Typically used for 2D, UI, or isometric designs.
The most common camera mode mimicking human vision, where objects appear smaller the further away they are from the viewpoint.
A light emitting uniformly in all directions from a single point in space, similar to a bare lightbulb.
Visual effects applied to the entire rendered image just before displaying it to the screen (e.g., Bloom, Depth of Field, Glitch).
A complex mathematical construct used to safely process 3D rotations without suffering from 'Gimbal Lock'.
A Three.js utility that projects an invisible line from the camera (or mouse position) into the 3D scene to detect intersecting objects.
A powerful React renderer for Three.js that allows you to build 3D scenes declaratively using JSX components and React hooks.
The engine component (usually WebGLRenderer in Three.js) that processes the Camera and Scene to draw the final pixels onto the Canvas.
A PBR material property defining how microscopic imperfections scatter light. High roughness looks matte; low roughness looks glossy and reflective.
The root container object in Three.js where you place all 3D objects, lights, and cameras that you want to be rendered.
A small program specifically written in GLSL that runs incredibly fast on the GPU to calculate vertex positions and pixel colors.
A basic custom material in Three.js that allows you to inject your own custom vertex and fragment GLSL code.
An invisible texture generated from a light's perspective used to determine which parts of the scene are blocked from the light.
A light source emitting a cone of light in a specific direction, functioning exactly like a real-world flashlight or stage spotlight.
A 2D image mapped over the surface of a 3D geometry to give it visual detail (e.g., wood grain, brick, human skin).
Three.js Shading Language. A modern, node-based system in Three.js for creating shaders using JavaScript/TypeScript instead of raw GLSL string manipulation.
A physical material property enabling the simulation of transparent, refractive surfaces like clear glass or distinct liquids.
Global variables passed directly from your JavaScript codebase into your GLSL shaders that remain constant across all vertices and pixels during a specific frame.
The 2D coordinate system (U and V) that maps flat image textures to the surface of a 3D geometry.
A GLSL program running on the GPU that calculates the final 3D position of every single mathematical point (vertex) comprising a shape.
Web Graphics Library. The low-level JavaScript API allowing web browsers to render interactive 2D and 3D graphics directly using the GPU.
The modern, high-performance successor to WebGL, providing lower-level GPU control and compute shader capabilities directly in the web browser.
The modern web API enabling the creation of immersive virtual reality (VR) and augmented reality (AR) experiences directly in the browser.
Sponsorship
Three.js Resources is independent and free to use. Take a sponsored slot to help keep it growing, and put your product in front of 200,000+ monthly visitors building 3D on the web.
Get a Sponsor Slot →