home/ browse/ domain G

G · Shaders & GPU programming

312 atoms · 17 modules primarily in this domain.

Modules

Advanced SDF geometry: curves, implicit forms, and material channels
L3 Craft G 5h 9 atoms
Animated procedural patterns with sine, time, and smoothstep
L2 First instrument G 4h 9 atoms
Building a WebGPU render pipeline from scratch
L2 First instrument G 6h 19 atoms
Color grading and look development on the GPU
L2 First instrument G 4h 12 atoms
GLSL debugging and live recovery: gotchas, error reading, and the panic shader
L1 Foundations G 5h 27 atoms
GLSL fundamentals: coordinates, vectors, and color output
L1 Foundations G 4h 13 atoms
GPU compute and feedback-buffer simulations
L3 Craft G 7h 12 atoms
Lighting and shading raymarched SDF surfaces
L3 Craft G 6h 18 atoms
Optimizing raymarched and SDF scenes for performance
L3 Craft G 5h 6 atoms
Orientation: the fragment shader as a per-pixel color function
L0 Orientation G 2h 7 atoms
Procedural character animation with animation-principle signals
L3 Craft G 5h 8 atoms
Procedural noise, fBm, and fractal fields
L3 Craft G 5h 10 atoms
Ray tracing and physically based rendering foundations
L3 Craft G 8h 18 atoms
Raymarching a first SDF scene
L2 First instrument G 5h 17 atoms
Real-time ray budgets, denoising, and importance sampling
L4 Performance G 6h 4 atoms
Sculpting SDF shapes: blends, symmetry, and domain repetition
L2 First instrument G 5h 11 atoms
Writing WGSL vertex and fragment shaders
L2 First instrument G 5h 8 atoms

Atoms by level

A blend mode is a per-pixel formula that determines how two image layers combine into a composite result
Concept L1 Foundations IGH
A color space's gamut is the subset of all human-visible colors it can reproduce
Concept L1 Foundations LG
A color's 'quality' is its hue position in the color circle; its 'quantity' (brilliance) is its lightness or darkness
Concept L1 Foundations LG
A GLSL double-buffer feedback pass with gain ≥ 1 saturates to white within a few frames
Principle L1 Foundations G
A GLSL fragment shader is a function that maps each pixel's (x,y) coordinate to an output RGB color, run in parallel for every pixel
Concept L1 Foundations G
A GLSL vector's components have interchangeable names: .xyzw, .rgba, .stpq, and [i]
Concept L1 Foundations G
A glslViewer feedback buffer only fills if its render code is wrapped in the matching `#ifdef`
Fact L1 Foundations G
A hard `step` edge aliases in GLSL — use `smoothstep` with a `fwidth` width for anti-aliasing
Principle L1 Foundations G
A Hydra patch is a left-to-right chain of dot-joined functions, modeled on modular-synth cabling
Concept L1 Foundations HG
A set of colors is harmonious when their mixture yields a neutral gray
Principle L1 Foundations LG
Additive (Linear Dodge) blend mode sums pixel values, producing glowing brightness that clips to white on overflow
Concept L1 Foundations IGHJ
Additive light mixing yields white; subtractive pigment mixing yields gray-black
Concept L1 Foundations LG
cables.gl builds interactive WebGL scenes by connecting operator nodes with virtual cables in a browser-based patch editor
Concept L1 Foundations HG
Color agent (the physical pigment) and color effect (the perceived result) almost never coincide — ground and context transform what we see
Principle L1 Foundations LG
Color is relative: the same hue is almost never perceived as it physically is
Principle L1 Foundations LG
Complementary colors incite each other to maximum vividness when adjacent and annihilate each other to gray when mixed
Concept L1 Foundations LGH
Contrast of hue uses undiluted colors in full intensity; yellow/red/blue is the maximum instance
Concept L1 Foundations LGH
Dividing gl_FragCoord by u_resolution maps pixel coordinates to the [0,1] UV range
Procedure L1 Foundations G
Fine adjacent dots of pure color merge in the eye into a single optical mixture more vibrant than a pigment blend
Concept L1 Foundations LGH
GLSL `mediump` precision makes large `u_time` and fine gradients visibly step — use `highp`
Principle L1 Foundations G
GLSL does not implicitly convert `int` to `float` — mixing them in an expression is a compile error
Misconception L1 Foundations G
GLSL ES requires a precision mediump float block at the top of every shader
Fact L1 Foundations G
GLSL integer division truncates: `1/2` is `0`, not `0.5`
Misconception L1 Foundations G
GLSL operations with undefined results produce NaN/Inf that spread and turn pixels black
Principle L1 Foundations G
GLSL swizzling reads or writes a vector's components in any order in one expression
Concept L1 Foundations GH
GLSL syntax must match the `#version` directive — mixing ES 1.00 and 3.00 syntax fails to compile
Fact L1 Foundations G
GLSL vector constructors are exact — you cannot assign a `vec2` to a `vec3`, and swizzles must exist
Concept L1 Foundations G
GLSL's mix() linearly interpolates between two colors by a 0.0–1.0 factor
Concept L1 Foundations GL
glslViewer in this rig has no audio input — `a.fft` does not exist and reactivity must use `u_time`
Fact L1 Foundations GJ
glslViewer's `u_mouse` is in pixels, not 0..1 — normalize by `u_resolution` before use
Misconception L1 Foundations G
GPU shaders run massively in parallel — individual invocations cannot communicate with or observe each other within a pass
Concept L1 Foundations G
GPUs work exclusively with triangles, lines, and points — all geometry must be decomposed into triangles before drawing
Concept L1 Foundations G
HSB describes color as hue, saturation, and brightness for intuitive, intentional variation
Concept L1 Foundations LG
Hydra models analog video synthesis: each function is a box that generates or transforms a signal
Concept L1 Foundations HG
Itten's 12-hue color circle places complementaries diametrically opposite and is constructed from pigmentary primaries, not spectral primaries
Concept L1 Foundations LG
Light-dark contrast is the most plastic contrast — white and black are its poles with an infinite gray scale between
Concept L1 Foundations LG
Mapping UV coordinates directly to RGB channels visualizes the coordinate space as a gradient
Concept L1 Foundations G
Multiply blend mode darkens by multiplying per-channel values, giving white transparency and black full darkening
Concept L1 Foundations IGH
Multiplying st.x by width/height corrects the UV space for non-square canvases
Procedure L1 Foundations G
Neutral gray is achromatic and characterless but takes on a complementary tinge from any adjacent color
Concept L1 Foundations LGH
Normalizing pixel coordinates to [-1,1] makes shaders resolution-independent and centers the mathematical origin
Concept L1 Foundations G
Normalizing RGB to 0.0–1.0 decouples color description from bit-depth encoding
Concept L1 Foundations LG
Objects have no intrinsic color — their apparent color is determined by what wavelengths the surface reflects under the incident light
Concept L1 Foundations LG
On GL ES 1.00, `for` loop bounds must be compile-time constants, not uniforms
Fact L1 Foundations G
Rasterization and ray tracing are inverse nested loops: triangles→pixels versus pixels→triangles
Concept L1 Foundations G
Red-orange is the warmest color and blue-green the coldest, but intermediate hues shift warm or cold only relative to their neighbors
Concept L1 Foundations LGH
RGB numeric values have no meaning without a color space to interpret them
Concept L1 Foundations LG
Saturation contrast — pure vs. diluted color — can be achieved by mixing with white, black, gray, or the complementary
Concept L1 Foundations LGH
Screen blend mode lightens by inverting, multiplying, and inverting again — giving black transparency and white full brightening
Concept L1 Foundations IGH
Shadertoy uniform names (`iTime`, `iResolution`, etc.) are undefined in glslViewer and must be replaced
Misconception L1 Foundations G
sRGB is the default internet color space, matching Rec. 709 primaries with D65 white point
Fact L1 Foundations LG
Staring at a hue fatigues its retinal receptors, producing the complementary color as an after-image
Concept L1 Foundations LG
The 12 principles of animation provide a checklist of techniques that make procedural characters feel alive
Fact L1 Foundations G
The Book of Shaders defines three standard uniforms: u_resolution, u_mouse, and u_time
Fact L1 Foundations G
The eye simultaneously generates the complementary of any color it sees
Principle L1 Foundations LGH
The signal-flow model makes interconnection primary, unlike the canvas-drawing model of Processing
Principle L1 Foundations HG
Unbounded `u_time` loses float precision over minutes, causing visible jitter in periodic motion
Fact L1 Foundations G
WebGPU has three shader stages: vertex computes positions, fragment computes colors, compute runs a function N times
Concept L1 Foundations GK
3D geometry in p5.js needs a light source to convey shape and depth; ambient vs directional/point light differ
Concept L2 First instrument HG
A bind group links GPU resources to shader binding points and must be created from a layout and set before each draw or dispatch call
Concept L2 First instrument G
A blurred copy of the image added back via screen or add blend is a cheap bloom/glow effect
Concept L2 First instrument HG
A Bounding Volume Hierarchy cuts ray-intersection cost from linear to roughly logarithmic by skipping missed subtrees
Concept L2 First instrument G
A color space's primaries define which physical red, green, and blue it can produce
Concept L2 First instrument LG
A color space's white point defines what full-intensity (1,1,1) looks like in the real world
Concept L2 First instrument LG
A color's expressive weight shifts with its position in the composition field — low blue is heavy, high blue is light
Principle L2 First instrument LHG
A complete visual design can be built from one hue using only lighter and darker variations in HSB
Procedure L2 First instrument LHG
A cosine/gradient palette defines a whole color ramp from a few coefficients and animates it by shifting phase over time
Concept L2 First instrument LGH
A GLSL shader program splits into a vertex shader run per-vertex and a fragment shader run per-pixel
Concept L2 First instrument GH
A GLSL sine oscillator needs a bias and gain to map its -1/+1 range to 0-1 for color
Procedure L2 First instrument G
A GPURenderPipeline bundles shader modules, vertex buffer layout, and render targets into a fixed, reusable draw configuration
Concept L2 First instrument G
A GPUVertexBufferLayout declares the byte stride and attribute format of each vertex, linking buffer data to shader @location slots
Concept L2 First instrument G
A light grain pass over the final composite is the most reliable 'make it look intentional' move — it unifies layers and hides banding
Principle L2 First instrument HGL
A near-monochrome ground with one saturated accent — letting contrast do the work, not hue variety — is the geometric palette recipe
Principle L2 First instrument HGL
A normalized parabola 4t(1−t) is a clean parametric signal for bounce, squash, and stretch animations
Concept L2 First instrument G
A path tracer is technically a type of ray tracer that accumulates indirect lighting via random sampling
Misconception L2 First instrument G
A physically meaningful base albedo is around 0.18–0.2, not 1.0, for correct lighting response
Concept L2 First instrument G
A ray is modeled as the parametric function P(t) = A + t*b to enable intersection math
Concept L2 First instrument G
A reference-list SDF is dropped into a shader by adding an offset parameter subtracted from p
Procedure L2 First instrument G
A render pipeline's fragment targets array must match the texture format of the color attachments used in the render pass
Concept L2 First instrument G
A signed distance function (SDF) returns positive distances outside a shape, negative inside, and zero at its boundary
Concept L2 First instrument G
A slow warp of a simple texture is the richest single source of visual complexity — it beats a complex static texture
Principle L2 First instrument HG
A strong focal point is created by contrast, isolation, or convergence — not by competing elements
Principle L2 First instrument LHG
A tone response curve encodes intensity non-linearly to match human brightness perception
Concept L2 First instrument LG
A uniform buffer holds per-draw-call constants visible to all shader invocations, unlike per-vertex attributes or writable storage buffers
Concept L2 First instrument G
A vignette darkens frame edges to concentrate attention inward and give a generative field coherence
Concept L2 First instrument LHG
A WebGPU canvas context must be configured with a device and the device's preferred texture format before drawing
Procedure L2 First instrument G
A WebGPU draw call requires setPipeline, setVertexBuffer, and draw called in sequence on a render pass encoder
Procedure L2 First instrument G
A WebGPU render loop re-records and re-submits a command buffer each frame; requestAnimationFrame or setInterval drives the cadence
Procedure L2 First instrument G
A WebGPU render pass with loadOp 'clear' and a clearValue fills the attached texture with a solid RGBA color
Procedure L2 First instrument G
A WebGPU uniform is a shader global held constant for every invocation of one draw call
Concept L2 First instrument GK
A WGSL fragment function can reuse the vertex stage's output struct as its input type, ensuring @location consistency automatically
Concept L2 First instrument G
A WGSL fragment shader is an @fragment function that returns a vec4f RGBA color tagged @location(0) for the first color attachment
Procedure L2 First instrument G
A WGSL vertex shader is an @vertex function that takes @location inputs from the vertex buffer and returns a @builtin(position) vec4f
Procedure L2 First instrument G
A whole Hydra chain compiles to one GPU shader that computes every pixel in parallel
Concept L2 First instrument HG
Adding a second sine octave at double frequency and half amplitude adds fine detail to procedural patterns
Concept L2 First instrument G
Aliased high-frequency sine waves produce pseudo-random variation suitable for per-instance seeding
Concept L2 First instrument G
An ellipsoid SDF is computed by scaling space to transform the ellipsoid into a unit sphere
Concept L2 First instrument G
Animating shaders with the sine function and iTime creates smooth, looping motion without discontinuities
Concept L2 First instrument G
Antialiasing in ray tracing averages multiple randomly-offset rays per pixel
Concept L2 First instrument G
CIE XYZ is the device-independent hub space used for all color space conversions
Concept L2 First instrument LG
Classic fractal coloring maps iteration count or distance to a cycled multi-stop ramp with a dark base so bright filaments glow
Concept L2 First instrument HG
Color arithmetic must be done in linear light, not in gamma-encoded values
Principle L2 First instrument LG
Colored lights produce complementary-colored shadows, and multiple colored light sources create multiple hued shadows
Concept L2 First instrument LGH
Colors outside a color space's gamut require mathematically negative primary values
Concept L2 First instrument LG
Compose the big value masses and empty areas first; detail cannot rescue a frame whose masses don't read
Principle L2 First instrument LHG
Continuous slow zooming is the signature motion of fractal visuals — iteration count and zoom depth are the main expressive controls
Principle L2 First instrument HG
Contrast of extension balances color areas by their luminosity: yellow needs three times less area than violet to hold equal visual weight
Principle L2 First instrument LGH
Converting between linear RGB color spaces is a 3x3 matrix multiplication
Concept L2 First instrument LG
Conway's Game of Life updates each cell based on neighbor count: fewer than 2 or more than 3 active neighbors → dies; exactly 3 → activates; 2 → unchanged
Fact L2 First instrument G
Darken Only and Lighten Only take the per-channel min and max of the two layers
Concept L2 First instrument IGH
Darker color variations have lower brightness and higher saturation — adding black alone is insufficient
Principle L2 First instrument LG
Data passes from vertex to fragment shaders as inter-stage variables declared with @location attributes, automatically interpolated across triangles
Concept L2 First instrument G
Delaying a body's animation signal by a small time offset gives secondary parts inertial lag
Concept L2 First instrument G
Depth is implied by overlap, scale, parallax, atmospheric fade, and blur-soften on layers
Concept L2 First instrument LHG
Difference blend mode subtracts layers and takes the absolute value, making matching areas black and differing areas bright
Concept L2 First instrument IGH
Diffuse (Lambertian) brightness is the clamped dot product of the surface normal and the light direction
Concept L2 First instrument G
Diffuse path tracing recurses on random scatter directions until a depth limit terminates the chain
Concept L2 First instrument G
Displacement-map is static structural coordinate offset; modulation-warp is its animated cousin driving continuous motion
Concept L2 First instrument HG
Displacing an SDF's input coordinate before evaluation deforms the shape by any function
Concept L2 First instrument G
Divide blend mode divides the base by the top layer, so a darker top brightens the base and any colour over black becomes white
Concept L2 First instrument IGH
Dodge modes lighten and burn modes darken as mirror images: dodging equals burning the negative
Principle L2 First instrument IGH
Domain-warping noise with noise — feeding noise into modulation-warp — produces turbulent, liquid, marbled texture and is the richest cheap texture
Concept L2 First instrument HG
Domain-warping noise with noise is the core organic visual move — turbulent, liquid, marbled
Principle L2 First instrument HG
Driving a shape's radius or count from audio is realizable now; making a shape appear on-the-kick is not
Fact L2 First instrument LGHJ
Each hue has characteristic psychological and symbolic expressive values that shift with context but retain a core identity
Concept L2 First instrument LGH
EEVEE and Cycles share the same shader-node material system, so a scene's materials preview and render across both engines unchanged
Concept L2 First instrument IG
EEVEE uses rasterization to estimate lighting in real time, trading physical accuracy for interactive speed
Concept L2 First instrument IG
Every visual animation is a parameter driven by a function of time — the character of motion is entirely in that function
Concept L2 First instrument HG
Extended (unbounded) color range allows values outside 0–1 for HDR and wide-gamut workflows
Concept L2 First instrument LG
fBm in shaders is built by summing noise octaves with exponentially decreasing amplitude and increasing frequency
Procedure L2 First instrument G
FBM sums octaves at doubling frequency and halving amplitude — more octaves add finer natural detail across scales
Concept L2 First instrument HG
Feedback gain near 1 causes runaway whiteout — leave headroom and decay each frame
Principle L2 First instrument HG
Folding or repeating UV coordinates multiplies SDF shapes without extra draw calls
Concept L2 First instrument G
Fractal visuals have two build routes: domain repetition with raymarching for 3D lattices, or feedback zoom for a cheap 2D self-similar tunnel
Concept L2 First instrument HG
Gamma correction must be applied from the start of shader development, not added at the end
Principle L2 First instrument G
Geometric motion should be restrained and mechanical-but-eased so the eye can follow every edge
Principle L2 First instrument HG
Geometric visuals are built by combining one SDF shape with boolean operations, then imposing symmetry, then composing the frame
Procedure L2 First instrument HG
Geometric visuals are built on precision — outline-stroke shapes, high value-contrast, no noise, on a flat ground
Concept L2 First instrument HG
Glitch motion is frantic and discontinuous — jumps, freezes, and strobe-flash accents rather than smooth transitions
Concept L2 First instrument HG
Glitch palette is high-contrast and electric — black plus saturated green/magenta/cyan and white, with broken color from channel offset on-brand
Concept L2 First instrument HGL
Global illumination (indirect light) has no good rasterization solution and requires ray tracing
Principle L2 First instrument G
GLSL pow(x,y) returns undefined for negative x, causing silent visual bugs
Misconception L2 First instrument G
GLSL requires a decimal point on all floating-point literals
Fact L2 First instrument G
GLSL uniforms pass values from the CPU to the GPU each frame
Concept L2 First instrument GJ
GLSL UV coordinates let shaders vary per-pixel, turning time oscillators into spatial patterns
Concept L2 First instrument G
GLSL's in/out/inout qualifiers set whether a function reads, writes, or modifies an argument
Concept L2 First instrument G
GPU fragment shader color output channels are clamped to [0,1]; values exceeding 1 saturate and produce incorrect gradients
Concept L2 First instrument G
GPU instancing draws multiple copies of the same geometry in one draw call, using @builtin(instance_index) to differentiate each copy
Concept L2 First instrument G
GPU-side data is stored in GPUBuffers created with size and usage flags, then populated via device.queue.writeBuffer
Procedure L2 First instrument G
Hard Light and Overlay are commuted versions of the same formula: Hard Light treats the blend layer as Overlay treats the base layer
Concept L2 First instrument IGH
Harmonious dyads, triads, tetrads, and hexads can be constructed by inscribing geometric figures in the 12-hue color circle
Concept L2 First instrument LGH
Hue/Saturation/Color/Luminosity blend modes swap perceptual dimensions between layers rather than mixing channel values
Concept L2 First instrument IGH
Hydra blend operations are per-pixel arithmetic on R, G, B values, not layer compositing
Concept L2 First instrument HG
Hydra's modulate() uses one texture's red/green channels as coordinate offsets to warp another
Concept L2 First instrument HG
In p5.js WEBGL mode the coordinate origin is at the canvas center, not the top-left
Concept L2 First instrument HG
In the glitch style, digital degradation is the material — corruption, pixel-sorting, and RGB split are the primary tools, not side effects to avoid
Concept L2 First instrument HG
Interactive computer graphics still depends on rasterization hardware; ray tracing cannot yet replace it
Fact L2 First instrument G
IQ's first SDF-raymarched image, Slisesix (2008), won a 4KB demoscene procedural-graphics competition
Fact L2 First instrument GO
Kandinsky's basic plane is an active field in which colors exert forces of advance and recession
Concept L2 First instrument LG
Limiting to 2–4 hues with role assignments reads as intent rather than randomness
Principle L2 First instrument LHG
Line-segment and curve SDFs need a thickness offset subtracted to become visible
Procedure L2 First instrument G
Mapping HSB to polar coordinates with atan and length renders a color wheel
Procedure L2 First instrument GL
Matching hues to equal brilliance levels is a trainable skill — cold colors are routinely rendered too light and warm colors too dark
Concept L2 First instrument LG
Matching pure primaries individually is the procedure for deriving a color space conversion matrix
Procedure L2 First instrument LG
Multiplying vertex positions by 0 collapses geometry to a single point, which the GPU silently discards — an efficient way to hide inactive instances
Concept L2 First instrument G
Negative space is a deliberate compositional choice, not a deficiency — emptiness amplifies the subject
Principle L2 First instrument LHG
Noise-field is coherent — nearby points are similar yet non-repeating — making it the foundational texture primitive for organic imagery
Concept L2 First instrument HG
Normalizing UV coordinates to clip space (−1 to 1, aspect-ratio-corrected) makes shaders independent of canvas resolution
Procedure L2 First instrument G
One coherent noise source well-warped beats many uncorrelated textures fighting — texture should support form, not compete with the focal-point
Principle L2 First instrument HGL
One or two motions at a time — a still figure on a flowing ground reads far better than everything moving
Principle L2 First instrument HGL
Overlay blends Multiply and Screen conditionally on the base layer: darks get darker, lights get lighter, midtones are unaffected
Concept L2 First instrument IGH
Perlin-noise modulation produces smooth, continuously-varying CV that never repeats, unlike stepped random LFOs
Concept L2 First instrument EG
Placing focal elements on the thirds lines or intersections reads as dynamic; centering reads as static
Principle L2 First instrument LHG
Polar warp reinterprets Cartesian coordinates as (radius, angle), turning stripes into rings and scrolling into rotation
Concept L2 First instrument LGH
Polar-warp plus radial-symmetry forms the mandala/kaleidoscope skeleton of a psychedelic visual
Concept L2 First instrument HG
Primitive-based SDFs define scenes as mathematical formulae rather than volumetric grids, giving infinite precision and a tiny memory footprint
Concept L2 First instrument G
Pythagorean integer triplets provide exact normalized rotation matrices without trigonometry
Concept L2 First instrument G
Ray tracing renders by following the paths of light rays as they interact with scene objects and lights
Concept L2 First instrument G
Ray tracing's main advantage over rasterization is computing secondary effects: reflections, refractions, and shadows
Principle L2 First instrument G
Raymarching finds ray–surface intersections by stepping along the ray using the SDF value as the safe step distance
Concept L2 First instrument G
Replacing step with smoothstep at an SDF boundary adds anti-aliasing and glow effects
Procedure L2 First instrument G
Reserve raymarched 3D for when depth adds meaning; a flat SDF composition is often stronger
Principle L2 First instrument LGH
Returning a material ID alongside the SDF distance lets the raymarcher know which object was hit for shading
Concept L2 First instrument G
RGB is a poor space for color reasoning because interpolation muddies through gray
Concept L2 First instrument LHG
SDF boolean subtraction uses max(distance, -cutter) to carve one shape out of another
Concept L2 First instrument G
SDF union, intersection, and subtraction combine primitive shapes into complex ones
Concept L2 First instrument G
SDFs and immediate-mode drawing are two distinct shape paradigms: field-based vs path-based
Concept L2 First instrument LGH
Shadertoy and Three.js trace their origins directly to demoscene real-time graphics practice
Fact L2 First instrument OGH
Shadow rays use the same raymarching loop from the shading point toward the light to determine occlusion
Concept L2 First instrument G
Size-restricted intros (64K and 4K) force procedural generation over raw data storage
Concept L2 First instrument OHG
Smoothstep with adjustable limits controls where a procedural pattern transitions from dark to light
Concept L2 First instrument G
smoothstep() creates smooth transitions between two thresholds, enabling anti-aliased edges in shaders
Concept L2 First instrument G
Soft Light is a gentler Overlay where pure black or white inputs do not produce pure black or white outputs
Concept L2 First instrument IGH
Squash-and-stretch animation preserves volume by inversely scaling perpendicular axes
Concept L2 First instrument G
Stacking colors darkest-on-top makes the eye read a transparent veil even though every layer is opaque
Principle L2 First instrument LG
Symmetry (reflection, radial, tiling) turns a small motif into a full frame at minimal cost
Principle L2 First instrument LGH
Taking the absolute value of one coordinate in an SDF replicates geometry on both sides of a mirror plane
Concept L2 First instrument G
The CIE xy chromaticity diagram is perceptually non-uniform — equal distances do not mean equal color differences
Misconception L2 First instrument LG
The CIE xy chromaticity diagram projects 3D XYZ color into 2D by separating hue from brightness
Concept L2 First instrument LG
The color sphere is a three-dimensional model mapping hue, brilliance, and saturation simultaneously, with white and black at the poles
Concept L2 First instrument LG
The floor of the repeated domain gives a unique integer ID per tiled instance for per-cell variation
Concept L2 First instrument G
The GLSL length() function computes distance from the origin, enabling radial gradients and circular shapes
Concept L2 First instrument G
The minimum of multiple SDFs combines them into a single scene that ray marchers can query
Concept L2 First instrument G
The SDF gradient estimated by finite differences gives the surface normal needed for lighting
Concept L2 First instrument G
The SDF of a line segment is the distance from a point to the nearest point on the clamped segment
Concept L2 First instrument G
The smooth minimum (smin) blends two SDFs with a controllable rounded join instead of a sharp union
Concept L2 First instrument G
The sRGB TRC is piecewise: linear near black, then a power curve with exponent 2.4
Fact L2 First instrument LG
The three primary colors correspond to the three fundamental shapes: yellow to triangle, red to square, blue to circle
Concept L2 First instrument LHG
The vertex shader transforms each vertex to clip space; the rasterizer then runs the fragment shader once per covered pixel
Concept L2 First instrument G
The y-component of the ray direction provides a natural UV for sky gradient and cloud placement
Concept L2 First instrument G
Three phase-offset cosine waves generate smooth procedural color palettes
Concept L2 First instrument G
Transforming clip-space vertices into grid cells requires scaling by 1/N, translating by -1, then adding a per-instance cell offset scaled by 2/N
Procedure L2 First instrument G
Two near-frequency spatial oscillators beating against each other produce moire shimmer interference
Concept L2 First instrument HG
Value contrast (light vs dark) is the strongest visual cue, outranking saturation and hue
Principle L2 First instrument LHG
Vertex data passed to WebGPU must live in a JavaScript TypedArray matching the expected GPU numeric format
Concept L2 First instrument G
Visual balance distributes visual weight so symmetric reads as stable and asymmetric as dynamic
Concept L2 First instrument LHG
Voronoi cell look varies between distance-to-nearest-point and distance-to-second-nearest — each gives a distinct aesthetic
Concept L2 First instrument HG
Warm colors advance and cold colors recede, but this depth effect reverses depending on the background
Principle L2 First instrument LGH
Warm hues advance and feel active; cool hues recede and feel calm
Principle L2 First instrument LHG
WebGPU clip space maps the canvas to a fixed [-1, +1] range on both axes regardless of canvas pixel dimensions
Concept L2 First instrument G
WebGPU commands are recorded into a command buffer and submitted to a queue — the GPU does nothing until submit() is called
Concept L2 First instrument G
WebGPU draws or computes via a pipeline that chains shaders to GPU resources through bind groups
Concept L2 First instrument GK
WebGPU initialization requires requesting an adapter then a device in two async steps
Procedure L2 First instrument G
WGSL declares data with var (mutable storage), let (immutable value), and const (compile-time constant)
Concept L2 First instrument GK
WGSL structs bundle multiple @location and @builtin annotated fields into a single typed input or output for shader functions
Concept L2 First instrument G
Wrapping the input coordinate into a periodic cell tiles one SDF into infinite copies at near-zero cost
Concept L2 First instrument GJ
A camera-screen feedback loop is a physical system that iterates a differential equation
Concept L3 Craft HG
A cheap bounding primitive tested first can skip the full SDF evaluation for the majority of ray steps
Concept L3 Craft G
A compute shader is an @compute WGSL function that runs without fixed vertex/fragment I/O, reading and writing only storage buffers or textures
Concept L3 Craft G
A for loop that repeatedly scales, tiles (fract), and accumulates color creates multi-scale fractal detail in shaders
Procedure L3 Craft G
A p5.js filter shader reads the canvas via tex0 and vTexCoord to apply per-pixel post-processing
Procedure L3 Craft HG
A quadratic Bezier SDF takes three control points and returns distance to the curve
Concept L3 Craft G
Adding abs() to a displaced SDF allows the raymarcher to backtrack when it overshoots a surface
Concept L3 Craft G
An SDF can be derived from any implicit curve equation by setting the LHS equal to d
Procedure L3 Craft G
Animated SDF characters recover rest-pose coordinates via an invertible animation so textures track the surface rather than swimming
Concept L3 Craft G
Animating the smooth-minimum blend radius with the motion signal adapts blending to the character's pose
Concept L3 Craft G
Applying a smooth-step S-curve to output color increases contrast and creates a filmic look
Concept L3 Craft G
Applying pow() with a value slightly above 1.0 to the final color enhances contrast by darkening shadows without affecting highlights
Concept L3 Craft G
Audio FFT data can be passed to shaders as a 4-band uniform for audio-reactive visuals
Procedure L3 Craft GJ
BRDFs model how a surface reflects light as a function of incoming and outgoing directions
Concept L3 Craft G
cables.gl operators are programmable in JavaScript with typed ports, extending the patch beyond the built-in op library
Concept L3 Craft HG
Colorizing the shadow penumbra with warm tones rather than grey makes rendered images more cinematic
Concept L3 Craft G
Combining fast grid traversal with local SDF raymarching accelerates scenes where objects occupy sparse grid cells
Principle L3 Craft G
Compute work in WebGPU runs in a compute pass that is recorded before the render pass in the same command encoder
Procedure L3 Craft G
dispatchWorkgroups takes the number of workgroups, not invocations — total invocations equals workgroup count times workgroup size
Concept L3 Craft G
Dividing a shader build into named checkpoint stages lets you resume from a stable state and avoid rabbit holes
Principle L3 Craft G
Each hue has a perceived brightness (luminosity) that peaks at yellow/cyan/magenta and dips at red/green/blue
Concept L3 Craft LG
Exact SDFs give the true Euclidean distance; approximate SDFs are safe lower bounds but force smaller marching steps
Concept L3 Craft G
Extending map() to return a vec4 provides auxiliary channels for UV coordinates, occlusion, and per-material signals
Concept L3 Craft G
Fake subsurface scattering brightens silhouettes using the Fresnel term tinted by a flesh color
Concept L3 Craft G
Fractional Brownian Motion adds correlated memory to white noise integration, controlled by the Hurst exponent H
Concept L3 Craft G
GPU compute/ALU capacity growing faster than memory bandwidth made primitive-based SDFs increasingly competitive from 2007 onward
Principle L3 Craft G
GPU ray tracing adds five programmable shader types to the graphics pipeline
Concept L3 Craft G
Grouping scene elements rather than distributing them uniformly prevents visual noise and creates organic set design
Principle L3 Craft GL
In live cinema, software is used as a real-time instrument for expression, not as a tool to produce a finished product
Concept L3 Craft IHG
Injecting fake bounce/subsurface lighting by hand into a raymarched scene fakes realistic results without global illumination
Principle L3 Craft G
Linear Light combines Linear Dodge and Linear Burn and simplifies to base + 2·top − 1, decreasing contrast
Concept L3 Craft IGH
Making the raymarching hit threshold proportional to distance implements view-dependent level-of-detail
Concept L3 Craft G
Microfacet models represent rough surfaces as collections of tiny facets described by a normal distribution
Concept L3 Craft G
Modern real-time rendering uses rasterization + ray tracing + denoising together, not pure ray tracing
Principle L3 Craft G
Monte Carlo integration converges at O(n^-1/2) regardless of problem dimension, unlike quadrature methods
Principle L3 Craft G
Monte Carlo integration estimates the rendering-equation integral by averaging random samples
Concept L3 Craft G
Motion blur is achieved by rendering multiple frames at sub-frame time offsets and averaging the results
Concept L3 Craft G
Named noise colors (pink, brown, yellow) map to specific fBm spectral slopes and Hurst exponents
Fact L3 Craft GB
Noise-based fBm fills the frequency spectrum with far fewer octaves than sine-wave additive synthesis
Concept L3 Craft G
Offline rendering's trajectory from rasterization to pure ray tracing predicts interactive graphics' future
Principle L3 Craft G
Outdoor SDF shaders use three light sources: sun key light, sky dome fill, and ground bounce
Concept L3 Craft G
p5.Framebuffer is an off-screen GPU surface you can draw to and then reuse as a texture
Concept L3 Craft HG
Perlin noise is a repeatable pseudo-random function of 3D position used for procedural textures
Concept L3 Craft G
Polynomial smooth-min functions preserve SDF shape outside the blend zone; exponential versions distort the whole field
Concept L3 Craft G
Procedurally painted occlusion using model-aware distance signals fills gaps left by sampled AO
Concept L3 Craft G
Radiance is constant along a ray through empty space, making it the natural quantity for ray tracing
Principle L3 Craft G
Radiance is the fundamental radiometric quantity for rendering because it is constant along rays in empty space
Concept L3 Craft G
Raising an animation curve to a power of itself creates a non-linear 'stay down longer' contact simulation
Concept L3 Craft G
Raising per-surface occlusion to a power of the surface color simulates colorized secondary light bounces
Concept L3 Craft G
Ray differentials estimate how much of a pixel's footprint overlaps SDF geometry to produce smooth antialiased edges
Concept L3 Craft G
Raymarching surface normals are estimated by sampling the SDF gradient at nearby points
Procedure L3 Craft G
Real-time ray tracing is limited to ~1 ray per pixel; denoising reconstructs a clean image from noisy 1-sample results
Principle L3 Craft G
SDF ambient occlusion samples the field at short offsets along the normal to detect nearby geometry
Concept L3 Craft G
SDF soft shadows track how close the shadow ray comes to occluders, not just whether it hits them
Concept L3 Craft G
Shadertoy fragment shaders run in three.js on a fullscreen quad by mapping iTime and iResolution uniforms into the render loop
Procedure L3 Craft HG
Simultaneous contrast can be neutralized by adding the missing complementary explicitly, or by introducing light-dark contrast between the hues
Procedure L3 Craft LGH
Sky specular is computed by reflecting the view ray and checking if the reflection hits the sky
Concept L3 Craft G
Spherical UV coordinates map latitude/longitude angles to texture image coordinates for sphere texturing
Procedure L3 Craft G
Starting with over-saturated colors and pulling back is more reliable than building up from grey
Principle L3 Craft G
Storage buffers are large, compute-shader-writable GPU buffers declared var<storage> in WGSL, contrasting with size-limited read-only uniforms
Concept L3 Craft G
The 1/x function creates neon glow effects in shaders by producing extreme brightness near zero and a slow falloff
Concept L3 Craft G
The color occupying the larger area in a composition acts as background; the smaller area advances — and these roles can reverse as area proportions shift
Principle L3 Craft LGH
The eye spontaneously groups scattered same-color areas into a visible shape — these 'simultaneous patterns' are independent organizational elements in composition
Concept L3 Craft LHG
The four core radiometric quantities for rendering are energy, flux, irradiance, and radiance
Fact L3 Craft G
The fract() function repeats space by tiling UV coordinates into a 0–1 grid, enabling fractal-like layering
Concept L3 Craft G
The Hurst exponent directly encodes the fBm's statistical self-similarity: zooming in by U horizontally scales amplitude by U^(-H)
Concept L3 Craft G
The Phong model sums ambient, diffuse, and specular components to shade 3D surfaces
Concept L3 Craft G
The ping-pong pattern uses two alternating state buffers — one read-input, one write-output — to prevent in-place mutation corruption in GPU simulations
Concept L3 Craft G
Three.js post-processing chains render passes through an EffectComposer that processes them in order of addition
Procedure L3 Craft HG
Vivid Light combines Color Dodge and Color Burn around middle grey, increasing perceived contrast
Concept L3 Craft IGH
WebGPU compute threads are grouped into workgroups and addressed by a global invocation id
Concept L3 Craft GK
WGSL storage buffers are read-only by default with var<storage>; read-write access requires var<storage, read_write> and is only available in compute shaders
Concept L3 Craft G
When multiple pipelines share resources, an explicit GPUBindGroupLayout and GPUPipelineLayout must replace the auto-generated layout
Procedure L3 Craft G
Wrapping edge-cell neighbor lookups with the modulo operator creates a toroidal grid topology that prevents out-of-bounds buffer access
Procedure L3 Craft G