由于GPU驱动程序供应商通常noiseX在GLSL中实现noiseX ,所以我正在寻找一种“graphics随机瑞士军刀”实用程序function集,最好在GPU着色器中进行优化。 我更喜欢GLSL,但是编写任何语言都可以,我可以把它自己翻译成GLSL。 具体来说,我希望: a) 伪随机函数 – 从M维种子计算得到的N维,在[-1,1]或超过[0,1]上的均匀分布(理想情况下是任何值,但是我可以用种子限制为了统一的结果分布,比如0..1)。 就像是: float random (T seed); vec2 random2 (T seed); vec3 random3 (T seed); vec4 random4 (T seed); // T being either float, vec2, vec3, vec4 – ideally. b) 连续的噪音,如柏林噪音 – 再次,N维,+ – 均匀分布,具有一套有限的价值观,而且看起来不错(有些选项可以configuration外观像柏林的水平也可能是有用的)。 我希望签名像: float noise (T coord, TT seed); vec2 noise2 (T coord, TT seed); // […]