← All resources

Voronoi, Hashing and OSL

Auto-discovered

Blog Advanced

Aras Pranckevičius

Visit resource ↗

Description

Voronoi, Hashing and OSL is a June 2025 blog post by Aras Pranckevičius on aras-p.info about speeding up Blender's Voronoi (Worley) node by replacing its hash, not by adding SIMD.

It shows how Jenkins lookup3 hashed float cell coordinates three times for each of 27 neighbors in 3D, then switches to PCG3D-style hashes from modern GPU hash literature for 2D through 4D paths in Cycles, EEVEE, and CPU geometry nodes. OSL complications follow: no unsigned ints or float bitcasts, so Voronoi is rewritten to hash integer cell indices with a signed PCG variant, abandoning OSL hashnoise that previously matched Jenkins. The merged Blender 5.0 change is reported as about 2x to 3x faster with a visibly different pattern.

It is for intermediate to advanced engine and shading-language engineers who maintain noise nodes across CPU, GPU, and OSL backends.

Access is a free HTML article with code listings, before and after pattern notes, and a merged pull-request summary in prose.

It is useful as a case study in hash choice, multi-backend parity, and language limits when optimizing procedural noise.