Voronoi、哈希与OSL

💡 原文英文,约1400词,阅读约需5分钟。
📝

内容提要

Blender 5.0更新了Voronoi节点的哈希函数,速度提升2-3倍。新函数基于现代PCG3D哈希,替代了旧的Jenkins Lookup3哈希,尽管结果模式有所变化,但性能显著提高。

🎯

关键要点

  • Blender 5.0更新了Voronoi节点的哈希函数,速度提升2-3倍。

  • 新哈希函数基于现代PCG3D哈希,替代了旧的Jenkins Lookup3哈希。

  • Voronoi节点可用于材料、合成器和几何节点等场景。

  • Voronoi的实现依赖于哈希函数来随机偏移每个网格单元。

  • 新哈希函数在现代CPU上速度更快,性能显著提高。

  • 更新涉及Cycles CPU、EEVEE GPU和Blender CPU的代码。

  • Open Shading Language (OSL)不支持无符号整数和位转换,导致需要额外修改。

  • Voronoi OSL代码之前使用内置的hashnoise()函数,底层仍使用Jenkins Lookup3哈希。

  • Blender 5.0的Voronoi节点更新改变了结果模式,但整体行为保持一致。

🔎

延伸解读

新哈希函数的优势

Blender 5.0中引入的PCG3D哈希函数相比于旧的Jenkins Lookup3哈希,速度提升了2-3倍。这一变化不仅提高了性能,还能在现代CPU上更高效地处理3D噪声计算,适应了当前硬件的发展。

OSL的局限性

Open Shading Language (OSL)不支持无符号整数和位转换,这使得在Voronoi节点的实现中需要额外的修改。虽然可以通过调整哈希函数来解决,但这也反映了OSL在某些情况下的灵活性不足,可能影响其他复杂场景的实现。

结果模式的变化

虽然Blender 5.0的Voronoi节点在性能上有显著提升,但更新后的哈希函数导致结果模式发生变化。这意味着用户在使用新版本时,可能需要重新评估材料和效果,以确保符合预期的视觉效果。

延伸问答

Blender 5.0中Voronoi节点的哈希函数有什么变化?

Blender 5.0更新了Voronoi节点的哈希函数,采用了更快的PCG3D哈希,速度提升了2-3倍。

新哈希函数的性能如何?

新哈希函数在现代CPU上速度更快,性能显著提高。

Voronoi节点可以用于哪些场景?

Voronoi节点可用于材料、合成器和几何节点等场景。

Open Shading Language (OSL)对Voronoi节点的影响是什么?

OSL不支持无符号整数和位转换,导致需要对Voronoi代码进行额外修改。

Blender 5.0的Voronoi节点更新对结果模式有什么影响?

更新改变了结果模式,但整体行为保持一致。

为什么Blender选择更新哈希函数?

因为旧的Jenkins Lookup3哈希函数效率较低,更新为PCG3D哈希可以提高性能。

🏷️

标签

➡️

继续阅读