一般的紋理映射雖然可以添加精致的表面細節,但它無法影響物體表面的光照細節,因此不適合模擬粗糙表面。生成物體凹凸表面的一個簡單的方法是對其表面法向量添加擾動,影響光照效果,這種技術又稱凹凸映射( ...
高度圖轉法線 高度圖中保存的是物體表面的高度信息,可以利用u,v方向上高度變化的斜率,計算出tangent和binormal,然后通過向量叉乘得到normal。我們在fragment shader中計算每個fragment的normal: 可以看到,得到的法線非常銳利,這是因為叉乘得到的原始法線為float HeightMap TexelSize.y u u , HeightMap TexelSi ...
2021-05-27 22:24 0 936 推薦指數:
一般的紋理映射雖然可以添加精致的表面細節,但它無法影響物體表面的光照細節,因此不適合模擬粗糙表面。生成物體凹凸表面的一個簡單的方法是對其表面法向量添加擾動,影響光照效果,這種技術又稱凹凸映射( ...
本文將詳細描述如何使用Three.js給3D對象添加貼圖(Texture Map,也譯作紋理映射,“貼圖”的翻譯要更直觀,而“紋理映射”更准確。)。為了能夠查看在線演示效果,你需要有一個兼容WebGL的現代瀏覽器(最好是Chrome/FireFox/Safari/Edge/IE11+ ...
法線貼圖+紋理貼圖(細節明顯) 紋理貼圖 法線貼圖 法線貼圖 存儲法線的一張貼圖,歸一化的法線的 xyz 的值被映射成為對應的 RGB 值。歸一化的法線值為[-1,1],RGB的每一個分量為無符號的8位組成,范圍[0,255]。即法線的分量由[-1,1]映射 ...
我們先講基於世界或模型坐標的法線貼圖(world/object space normal map). ...
【法線貼圖原理】 如果法線處於世界坐標中的(world space),那稱為world space normal。如果是處於物體本身局部坐標中的,那稱為object space normal。 很容易想象,world space normal一旦從貼圖里解壓出來后,就可以直接用了,效率 ...
今天接着講渲染基礎:就是下面的法線貼圖了。 什么是法線貼圖? 法線貼圖這個東西,只要搞渲染算法的肯定會遇到。簡單來講,法線就是指模型表面的凹凸感,而凹凸感的產生是因為模型表面像素的光照條件不一樣產生的。比如下面這個圖,邊緣光照壓暗了,所以給人有一種凹凸 ...
兩篇文章 本文大多數內容來自這兩篇文章,看完后基本明白了法線貼圖的種種細節。 凹凸映射 寫給笨人的法線貼圖原理 一些基本的概念 1.法線貼圖的定義 顧名思義,法線貼圖保存的是法線的信息貼圖。 2.用來干什么 用來進行凹凸映射。 凹凸映射的目的是使用一張紋理來修改 ...
概述 在學習法線貼圖的過程中,有幾個比較難以理解的概念,這里記錄一下。特別說一下,本文的法線貼圖是切線空間下的法線貼圖。 空間變換 如上圖所示,簡單表達了在使用法線貼圖的過程中,涉及到的幾個空間變換: 切線空間:從法線貼圖中采樣得到的法線,在切線空間中; 對象空間:物體 ...