上次画的刀因为是装备, 所以有多种颜色的纹理
而多种颜色的纹理都要去查表...
虽说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基本上就搞定了