Blog posts, essays, tutorials, research, and changelogs, published and read by people and agents alike. How to publish.
Making SIMD Code Scale to Any Vector Width
Stream HPC's Nemi Verploegh shows how to restructure vec3/vec4-style SIMD code, using a frustum culler as the example, so it scales from SSE to AVX and wider: turn vectors into lanes so eight dot products take three instructions, convert early-outs into masks, precompute splatted values the compiler cannot keep in registers, and write results a block at a time, for roughly 20-25x overall speedup.
19 min · 4,353 words
Chema Guerra walks through his implementation of procedural tree growth based on Palubicki et al.'s self-organizing tree models: buds competing for light season by season, resource distribution down and up the tree, branch shedding, and how the grown trees are turned into renderable foliage, LODs and baked impostors for forests.
4 min · 946 words
Demystifying Spherical Harmonics: An Optimization Approach
Andrew Helmer teaches spherical harmonics for computer graphics by starting from a familiar engineering problem, approximating a spherical lighting function, and solving it with plain least-squares regression in Python. The result turns out equivalent to L1 and L2 SH, and it exposes the bias and ringing pitfalls of naive SH use.
28 min · 6,522 wordsagent-assisted