星际2的normal map

  这几天总感觉没有用对星际2的normal map,都知道normal map有好几种:object space, tangent space(就是dot3,蓝蓝的那种), world space等.最常用的就是切线空间的.从开始以来我就是使用的Ogre默认的normal map shader,即认为法线图是保存的切线空间的法线,渲出来的场景和法线RT如下:

  

 

   感觉效果不对劲,不是应该是蓝色的么.....于是google了下,发现有个帖子官方说SC2的法线贴图因为DXT5什么原因,只使用了Y和W两个通道,其他两个通道unuesd....让我一下子醍醐灌顶.哦不,是汗毛竖立..下面第2个帖子链接的美术哥们也是因为SC2法线效果一直不对的缘故郁闷了很多天.....

 

http://eu.battle.net/sc2/en/forum/topic/6297782470

http://www.google.comwwwww.sc2mapster.com/forums/development/artist-tavern/47285-solved-question-about-how-sc2-handle-normal-maps/?page=2#posts

  

  我翻了翻SC2的shader,很容易找到了相关的代码,确实如官方所言:

  从第1张图可以看到,SC2确实也是切线空间的法线图.从第2张图看出,如果法线图是DXN类型,则只有wy通道是包含信息的...否则只进行expand,正常获取信息.

于是我照葫芦画瓢修改了,渲染结果如下

  这样看上去感觉似乎比较靠谱了............但是我还是不是非常肯定,过两天我试试抓下SC2的渲染就能确定是否正确了. 

 

  我擦,一个通宵就过去了,今天又破记录了.........明天,哦不,是等会,还上个锤子班啊......................o(╯□╰)o

转载于:https://www.cnblogs.com/mavaL/archive/2013/03/18/2965331.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值