五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

生成Sinhash和Fracthash Noise

2022-11-17 18:52 作者:Feishiko  | 我要投稿

在Shader中要生成隨機(jī)數(shù),就要生成Noise圖,通常來說我們都知道可以用sin+fract函數(shù)。這種方法也叫Sinhash。

f(x)%20%3D%20fract(sin(x)*a)

當(dāng)a越來越大的時(shí)候,你會(huì)發(fā)現(xiàn)其函數(shù)圖像會(huì)變得非常隨機(jī)的樣子,我們?nèi)∑渲幸欢尉蛯?shí)現(xiàn)了隨機(jī)fract函數(shù)的意思是取小數(shù)部位。

這也是The Book of shaders介紹的方法,這邊是對(duì)應(yīng)章節(jié)的鏈接 https://thebookofshaders.com/10/

我們隨后可以用這個(gè)方法生成一些噪聲圖。

簡單封裝一下大概是這個(gè)樣子。

我們可以用dot也就是dotproduct也就是點(diǎn)積,這種計(jì)算方法會(huì)更好一點(diǎn)。輸入一個(gè)二維向量,然后輸出一個(gè)范圍在0-1的float浮點(diǎn)數(shù)。之后再乘以一個(gè)更大的數(shù),我們就實(shí)現(xiàn)了基本的隨機(jī)。

隨機(jī)數(shù)會(huì)有影響,你可以自己隨便選一個(gè)數(shù)字,但是可能會(huì)在具體功能上有一定的偏差,如果不需要解決問題那就用自己隨便想的好了。

讓我們再來看看另一種隨機(jī)數(shù)生成方法,Fracthash。

這種方法沒有用到sin,但是同樣需要fract。

這是封裝后的代碼。

這個(gè)也不是我自己想出來的,之前寫了一個(gè)shader評(píng)論區(qū)下面有人給我指點(diǎn)的意見。

直接調(diào)用這個(gè)函數(shù),我簡單的將兩個(gè)生成方法放在一起做了對(duì)比

左邊是sinhash,右邊是fracthash,這咋看沒啥區(qū)別,但是在后面加了一個(gè)iTime讓其動(dòng)起來后會(huì)發(fā)現(xiàn)sinhash有一絲割裂感,而fracthash會(huì)更加自然。

具體可以看看我在shadertoy寫的這個(gè)shader:https://www.shadertoy.com/view/mssXz7

本期內(nèi)容大概就是這些,希望對(duì)你有幫助。

生成Sinhash和Fracthash Noise的評(píng)論 (共 條)

分享到微博請遵守國家法律
洱源县| 射阳县| 黄梅县| 南昌县| 望谟县| 阿合奇县| 伊金霍洛旗| 扬中市| 仁化县| 宁强县| 油尖旺区| 遂溪县| 巫山县| 苏州市| 汝南县| 琼海市| 彭山县| 曲水县| 延长县| 墨竹工卡县| 嘉兴市| 七台河市| 鸡西市| 大安市| 绥中县| 游戏| 曲水县| 佛坪县| 永胜县| 房山区| 丁青县| 昌平区| 桃园市| 贵阳市| 台中县| 通海县| 吉水县| 河东区| 蒙山县| 伊金霍洛旗| 巍山|