由于GPU驅(qū)動程序供應(yīng)商通常不愿意noiseX在GLSL中實現(xiàn),因此我正在尋找“圖形隨機化瑞士軍刀”實用程序功能集,最好對其進行優(yōu)化以在GPU著色器中使用。我更喜歡GLSL,但是可以編寫任何語言的代碼,我可以自己將其翻譯為GLSL。具體來說,我期望:a)偽隨機函數(shù) -N維,在[-1,1]或[0,1]上均勻分布,根據(jù)M維種子計算(理想情況下為任何值,但我可以限制種子設(shè)為0..1(用于統(tǒng)一結(jié)果分配)。就像是: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)像Perlin 噪聲這樣的連續(xù)噪聲 -同樣是N維,分布均勻,具有一組受限制的值,而且看起來不錯(一些配置外觀(如Perlin級別)的選項也可能有用)。我希望像這樣的簽名:float noise (T coord, TT seed);vec2 noise2 (T coord, TT seed);// ...我不太熟悉隨機數(shù)生成理論,因此我非常希望獲得預(yù)制的解決方案,但是我也很喜歡這樣的回答:“這里有一個非常好的,高效的一維rand(),讓我解釋一下您如何在其上制作一個良好的N維rand()...”。
GLSL的隨機/噪聲功能
慕尼黑的夜晚無繁華
2019-10-14 10:30:49