所以我仍然对我对这个问题的古老评论表示赞同:这个 GLSL rand() 单线的起源是什么?
这让我开始思考,一个好的 GLSL 哈希函数会是什么样子?它有明显的用例,例如 Perlin 噪声。我会在一个好的实现中寻找一些属性。
- 在不同精度(中,高)下稳定。这可以是可配置的。
- 应该可以在 ES2 中使用,所以它不能使用整数支持
- 仅 ALU,无纹理
- 不是寻找加密质量,而是寻找大周期和“感知”随机性
- 理想情况下,应该在最低规范的 ES2 实现上产生相同的结果
实际上,我认为大多数人只是通过将 x,y 输入与一些素数相乘、相加、再次相乘,然后在具有最近采样的随机数平铺纹理中查找结果坐标来混合。
所以这个问题不是关于寻找“答案”而是好奇是否有一个好的方法来做到这一点。我也想知道为什么这是不可能的争论。