今天之所以高兴,就是因为模型的开发基本达到第一步效果了
1,直接支持打开 kmz 数据
2,支持constant、lambert、phong、blinn 四种基本光照模型
达到这一步真不容易,碰到的问题千奇百怪,只罗列一些奇怪的,调试困难的,最终豁然开朗的问题,希望以后不犯错:
1,最初的模型显示的面效果有问题,有些面貌似绘制,有些却没有。经检查不是正反面问题,也不是数据问题,实在头疼啊
解决方法: 原来是把深度检测关闭了(囧,拷的代码一定要注意了)
2,模型的光照死活不正确,只有一个方向看起来正常,后来发现原来shader的normal运算出现笔误
3,demo里的模型可以正常显示,但是所有kmz模型在google下显示正常,到了我们的球里却死活不显示
从检查数据,到正反面,到矩阵,搞了一大圈,原来发现是透明惹得祸,原来dae中如果transparency为0,实际等价于transparency为1,这个是经过google 和deep试出来的原理,在collada的文档里死活也没有写,不知道为啥。
就是为了解决这个问题,把 colladadom升级到1.5,花费一晚上。竟然发现1.5并非向下兼容1.4,解析会出错(NND)。
再花费一晚上又改回1.4,终于搞定了。
上面都是一些简单的问题,可每个都耗费了不下一个晚上的时间,哎,除了第三个,基本都是粗心导致的,以后注意了。
贴几个效果图,目前还没有支持贴图,不过很快就会了:
支持dae里的关键帧动画了,动画的播放界面上控制也很方便
phong光照产生的光斑以及正确的玻璃透明
kmz 模型的直接打开