我在网络上看到一种用于着色器的伪随机数生成器,它被称为这里和那里:
float rand(vec2 co){
return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453);
}
这个函数被称为"规范化函数"或者是"我在网上找到的一个一行代码"。
这个函数的起源是什么?常数的值是否像它们看起来那样随意选定,还是有某种艺术性的选择方法?有没有讨论这个函数的优点?
编辑:我找到的最早提到这个函数的参考资料是2008年2月的这个归档页面,原始页面已经从互联网上消失了。但是那里也没有更多的讨论。