球中的模型

    技术2024-12-17  13

    今天之所以高兴,就是因为模型的开发基本达到第一步效果了

       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 模型的直接打开

     

     

    最新回复(0)