一般的纹理映射虽然可以添加精致的表面细节,但它无法影响物体表面的光照细节,因此不适合模拟粗糙表面。生成物体凹凸表面的一个简单的方法是对其表面法向量添加扰动,影响光照效果,这种技术又称凹凸映射( ...
高度图转法线 高度图中保存的是物体表面的高度信息,可以利用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.用来干什么 用来进行凹凸映射。 凹凸映射的目的是使用一张纹理来修改 ...
概述 在学习法线贴图的过程中,有几个比较难以理解的概念,这里记录一下。特别说一下,本文的法线贴图是切线空间下的法线贴图。 空间变换 如上图所示,简单表达了在使用法线贴图的过程中,涉及到的几个空间变换: 切线空间:从法线贴图中采样得到的法线,在切线空间中; 对象空间:物体 ...