无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

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

關于smoothstep函數(shù)的理解

2023-06-29 21:51 作者:絕劍結(jié)城  | 我要投稿

在進行ramp圖u坐標的取值的時候,我看到很多大佬用了smoothstep這個函數(shù)。不過一時半會我還不太理解為啥它能把半蘭伯特給變成能取樣到很靠近右邊的ramp圖的明暗交界,后面畫了個圖,查了些資料,終于理解了?,F(xiàn)在在這里做下筆記。

ramp圖

首先講下我們用的lambert,我在原神渲染02里面,展示了一開始兩種半lambert,分別是有無平方的,但其實這還是有一個前提,也就是運算它們的lambert是沒有clamp過的。而正規(guī)的lambert其實應該clamp之后再變halflambert,這樣的話得到的結(jié)果又和之前完全不同,我下面畫了示意圖。而那些大佬似乎用的就是這種半lambert。

那么就以這個半Lambert為基礎。首先,如果我們直接用這個半lambert對ramp采樣。那么結(jié)果肯定不正確,如我畫的圖所示。明暗交界線在將近0.9的地方,過渡很不自然。

而大佬們使用smoothstep函數(shù)來解決這種情況。配合下面這張圖,我來講一下這個函數(shù)是怎么解決這個問題的。首先,我們要對坐標和值的概念分清楚,我下面圖也標出來了,坐標是固定的,左邊是0右邊是1,中間均勻分布。值則是會改變的,最開始的半蘭伯特是這樣的。

然后我們對它進行smoothstep(0.2,0.4)之后,其實就是首先對它做一個鉗制,大于0.4的值全部改為1,小于0.2的值全部改為0。鉗制之后如下圖示意。

然后進行一個映射,以x(0.2,0.4)y(0,1)的范圍構(gòu)建一個這個平滑函數(shù)f(x),然后把之前那個軸上,0.2到0.4范圍內(nèi)的值全部由x變?yōu)閒(x)。

最終結(jié)果如下,然后以這個圖為u坐標去采樣ramp,明暗交界線就不會特別靠右邊了,而且也因為平滑函數(shù)的原因,有了一定的擴展。

下面是一圖流


關于smoothstep函數(shù)的理解的評論 (共 條)

分享到微博請遵守國家法律
宁武县| 汝州市| 德钦县| 青冈县| 太和县| 海宁市| 普安县| 铜川市| 克什克腾旗| 山东| 加查县| 兴国县| 台北市| 香港 | 图们市| 银川市| 酉阳| 高淳县| 莱西市| 连云港市| 黎川县| 鄯善县| 福泉市| 五家渠市| 博客| 虎林市| 阳原县| 淄博市| 沁源县| 台南市| 松潘县| 高雄市| 盐津县| 蚌埠市| 鄂托克前旗| 句容市| 扬中市| 旬阳县| 盈江县| 四川省| 卢湾区|