» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

[专题讨论] 话说GC的凹凸效果是不是现在的机器挺难实现的?

GC没有原生dot3指令,所以做法线效率低,除了最原始的emboss外,它的凹凸多用EMBM来实现,EMBM属于DX6.1引入的功能,最早应用于1998还是99年的硬件Matrox G400,像dungeon keeper2有专门支持这功能的版本。
这功能的本质就是扰动UV后二次贴图,它需要一个双通道纹理作为扰动基本纹理,然后模型的uv0去sample这个扰动纹理得到扰动参数,然后与预设的2x2矩阵相乘得到delta_uv,然后uv1+deltauv作为最终uv去sample另一个纹理。
这功能后来更多用在水面反射折射,火焰等的热浪效果上。预设一张高光贴图,然后预设的2x2矩阵和视角相关,uv1和法线相关的话,也可以粗略模拟凹凸效果。
这功能最初只有G400支持,后来ATI Rage128也开始支持,Kyro也支持,不过NV直到Geforce3才支持——通过Pixel Shader 1.1
PS360当然支持,不过EMBM模拟的凹凸本来就不准确,被抛弃是必然的。


本帖最近评分记录
  • asdqwe 激骚 +1 最骚 Rated by wap 2013-8-21 01:02
  • SONIC3D 激骚 +3 听课做笔记 2013-8-20 23:23
  • dragonzet 激骚 +3 感谢分享 2013-8-20 21:18

TOP

发新话题
     
官方公众号及微博