挑战蓝龙Kalecgos

来源:互联网 发布:什么叫溢价域名 编辑:程序博客网 时间:2024/06/09 14:55

上次画的刀因为是装备, 所以有多种颜色的纹理

而多种颜色的纹理都要去查表...

虽说DBC文件很简单, 但现在懒得看

找个单一纹理的弄吧, 纹理名全存在M2文件里的

随便看了看, 觉得这头蓝龙挺帅的, 就它了

这次除了Mesh正好可以研究下Animation

目标:

  • 2009/3/15: 模型+纹理绘制

没有进行渲染状态的管理, 比如alpha test/blend切换, envMap切换, cull切换等等. 这样是不是要写一堆shader来设置State?

牙和爪子部分第二层贴图把原来的颜色覆盖了, 可能是因为应该用envMap的原因吧

其它部分现在统一用的alpha blend, 这样会出现遮挡问题, 需要进行排序. 想想应该能用alpha test代替.

(因为没走N3的渲染流程, 发现它默认是不创建DepthBuffer的, 囧......害我查了半天为啥z test失败了)

解析文件时有5张纹理, 而texture unit竟然有12个, 也就是说有些纹理在多次DP中用到了

冒似纹理的寻址方式也要设置, 暴雪真是的, 有用的技术全给用上了-_-

看来在解析骨骼动画之前还有一大堆的绘制问题要解决

  • 2009/3/22: 为了切换渲染状态写了一堆ShaderVariation(technique):

纹理寻址还没去管它-_-. 用的时候可以用这些pass来设置渲染状态啦

  • 2009/3/29: 解决了渲染状态的切换, 按pass进行了排序. 这样就修正了透明/遮挡/剔除错误.

还差个球形环境映射, mesh基本上就搞定了