首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
 您现在的位置: 中国IT实验室 >> 游戏开发 >> 游戏算法设计 >> 正文
世界空间的法线映射
来源:天新网 作者:佚名 时间:2008-8-4

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

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

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

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

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

【责编:snow】

中国IT教育热线咨询

相关文章
没有相关文章
推荐文章

 精彩友情推荐
·Asp源码 PHP源码
·CGI源码 JSP源码
·建站书籍教程
·服务器软件 .net源码
·建站工具软件
·IDC资讯大全
·机房品质万里行
·IDC托管必备知识
·全国IDC报价
·网站推广优化
 基础入门  开发文档
 最新推荐
  多数的Windows程序都需要Windows.h和Windowsx.h这两个头文件,要确保使用它们。当然,你还需要其它......
游戏引擎演化史
在Windows上安装OGRE的方法
关于滤镜遮罩概念,Sobel 遮罩
游戏开发新手入门之Windows编程
游戏开发新手入门之位图化图形
教你实现卡通渲染的另类勾边方法
游戏设计大师谈如何成为一名游戏设
Visual C#编写 3D游戏框架示例
真正的 Java 学习从入门到精通
游戏开发经验——游戏开发的基本常
  为什么要研究攻击行为在人类有记载的5600年的历史中,共计发生了14,400次战争;今天,平均一天要发生............
游戏开发中显示对话的特殊句法
游戏原型设计的介绍
网络游戏中的攻击行为
谈动作类游戏的必要条件
规则的多元分析模式
载入位图文件到DirectDraw
Archer Game Suite 是什么?
浅谈游戏企划-新手入门篇
暴雪称霸游戏业界的六大秘密绝招
骨骼动画及示例Skinned Mesh的解析
  培训中心