世界空间的法线映射

原创 2006年05月22日 03:23:00

一看今天还挺早的(对于正常作息来说,也很“早”^^),再写点东西。

最近一直在研究地形相关的东西,其中一个问题就是地形在经过了LOD处理之后,顶点光照变得不再适用。因为patch的LOD级别变化时,一些顶点会突然出现或消失,如果采用顶点光照,pop顶点附近的亮度就会发生突然的改变,看起来很不自然;另一个缺点是视野中远处的地形会缺乏光照细节,因为顶点很少。

于是就考虑使用一个法线图来计算光照,分辨率只需要每地形格一个象素,可以根据顶点坐标事先处理好。这样在近处就能有和顶点光照同样的细节度,而远处不论mesh的精度有多低,光照细节始终保持不变。地形本身不会运动,所以这种法线映射可以是世界空间的,也就是说省去了切线变换等计算(关于切线空间法线映射的原理可以看前一篇文章),在PS中采样到的法线已经是世界空间的向量,可以直接拿来计算光照,这样也不用写VS了。另外由于使用了法线映射并且不需要计算切线变换矩阵,顶点数据中就不需要附带法线信息了。

当然只有支持ps_1_1以上的显卡才可以用,不知道固定渲染管线是否这种映射,稍后可以查一下资料。

如果还要在地形细节纹理中使用法线映射,那切线空间的计算又变得必须了。虽然理论上在PS中根据法线图采样得到的世界空间的法线也能计算出切线变换矩阵(因为地形顶点的特殊性,顶点的平面坐标和纹理坐标是线性相关的),但那样必然造成效率上的很大损失。如果恢复顶点的normal,tangent等信息,恢复VS的切线矩阵计算的话,世界空间的法线映射又变得没有用武之地。可能比较好的折中方案是对近处的地表采用顶点法线+细节法线映射;远处的地表直接采用世界空间的法线映射,反正远处的细节凹凸也看不出来。

这种文章没有图确实比较不爽,下回争取搞点图:)

了解凹凸映射Bump Map技术的内幕

我翻译这篇教程的目的是为了帮助那些对图形渲染技术有兴趣却又苦于找不到免费中文学习资料的人。在我的身边没有任何一位从事计算机专业的前辈,从刚学会WINDOWS的基本操作到现在,我的计算机技术完全都是一步...
  • yangdelong
  • yangdelong
  • 2007年05月30日 18:15
  • 1742

简介凹凸映射Bump Mapping(转载)

转自http://bbs.gameres.com/showthread.asp?threadid=20805 简介凹凸映射Bump Mapping 凹凸映射和纹理映射非常相似。然而,纹理映射是把颜色加...
  • kongbu0622
  • kongbu0622
  • 2007年10月11日 11:38
  • 754

对于法线贴图的深入研究

前几篇文章写过有关法线贴图的内容,这次文章将讨论其原理及相关优化。回过头来看一下原来的文章真有种想删掉的感觉。。。 为什么叫法线贴图,我们知道法线(Normal)是垂直于一个面的直线,通过计算光...
  • debugconsole
  • debugconsole
  • 2014年02月08日 17:29
  • 947

法线贴图原理,切线空间的概念理解

转自http://www.cnblogs.com/tekkaman/p/3992352.html 法线贴图原理 【法线贴图原理】   如果法线处于世界坐标中的(world space...
  • u013833399
  • u013833399
  • 2015年08月17日 15:43
  • 2848

Shader:法线转世界空间

转 http://www.cnblogs.com/qzzlw/archive/2012/10/23/2736277.html 顶点从模型空间转换到世界坐标空间只需要乘以世界转换矩阵即可,...
  • jian_csdn_account
  • jian_csdn_account
  • 2016年07月01日 09:51
  • 1481

(转)法线贴图Nomal mapping 原理

法线贴图多用在CG动画的渲染以及游戏画面的制作上,将具有高细节的模型通过映射烘焙出法线贴图,贴在低端模型的法线贴图通道上,使之拥有法线贴图的渲染效果,却可以大大降低渲染时需要的面数和计算内容,从而达到...
  • sinat_27456831
  • sinat_27456831
  • 2015年10月30日 09:50
  • 1004

法线贴图原理,切线空间的概念理解

转自http://www.cnblogs.com/tekkaman/p/3992352.html 法线贴图原理 【法线贴图原理】   如果法线处于世界坐标中的(world space...
  • u013833399
  • u013833399
  • 2015年08月17日 15:43
  • 2848

法线贴图中法线值的坐标空间选择

法线贴图是目前游戏中被广泛使用的技术,通过从贴图采样法线可以表现物体的凹凸,在法线贴图的实现上,有一个重要的问题需要考虑,就是法线贴图上的法线值应该取在哪个空间. 一  模型空间:法线就直接...
  • leonwei
  • leonwei
  • 2015年10月17日 17:31
  • 1635

置换贴图,法线贴图和凹凸贴图详解

作者:weiqubao 先自我介绍……你要是说这是自我炒作我也认了。首先说明,FXCarl是一个对3D美术一窍不同的家伙。虽然很想往技术美工方向发展了。因为是学程序出身,眼下能做的也就是写写Sh...
  • u010414386
  • u010414386
  • 2014年12月05日 18:10
  • 2213

shader数学基础之法线贴图切线空间

http://www.cnblogs.com/tekkaman/p/3992352.html 【法线贴图原理】   如果法线处于世界坐标中的(world space),那称为world spa...
  • yuchenwuhen
  • yuchenwuhen
  • 2017年05月01日 13:56
  • 913
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:世界空间的法线映射
举报原因:
原因补充:

(最多只允许输入30个字)