A performance optimization story about upgrading Blender's Voronoi node from a 1997 Jenkins hash function to a modern PCG3D hash, achieving 2-3x speed improvements. The work involved updating four separate implementations across different rendering backends, including working around Open Shading Language's lack of unsigned integers. The change required modifying the hash function from float-to-float to integer-to-float mapping to accommodate OSL limitations.

8m read timeFrom aras-p.info
Post cover image
Table of contents
Voronoi in BlenderI know! Let’s switch to PCG3D hash!Cycles with Open Shading Language (OSL)So that’s it!

Sort: