最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ù)的理解的評論 (共 條)

分享到微博請遵守國家法律
招远市| 五莲县| 晋宁县| 肃南| 璧山县| 松原市| 沧州市| 郑州市| 柳江县| 永胜县| 册亨县| 三原县| 泾阳县| 德惠市| 宁都县| 宿松县| 滨州市| 莱阳市| 马关县| 仁化县| 衡阳市| 沁阳市| 朝阳区| 郯城县| 沂南县| 师宗县| 宜州市| 孟州市| 娄烦县| 福清市| 巴楚县| 桐梓县| 阜新市| 宁乡县| 昭平县| 高陵县| 柳林县| 乌兰察布市| 页游| 元谋县| 盐山县|