简单模型格式开发(.L3D)

近期由于在开发3D图形引擎实践中遇到了模型格式的问题,由于我们使用的D3D9,本来想法是直接使用.x文件的,但是发现在3ds max中导出.x文件时有各种令人意想不到的问题,所以给自己一个学习的机会,写一个适合自己引擎的模型格式也不错,反正之前也做过3ds max导出插件开发的工作,这下真的天时地利人和统统都齐,自己写的格式用得也爽,看得也爽.

看一下效果图:

这就是从3ds max中导出模型,扩展名为L3D,上面的示例程序是在DXUT框架下写的一个L3D模型格式浏览器(由于闲着没事干,并且发现当需要检查导出模型有没有出错的时候都比较麻烦,索性写个专门的浏览器,免得每次看模型都要打开那个一百多M的程序).

当前格式支持多重纹理,看上面的示例图就可以知道了(正上面灰暗灰暗的是因为光照的缘故),由于暂时不需要用到其他贴图通道,所以当前格式仅导出漫反射纹理图.还有还不支持骨骼动画,这个迟点再补上去吧.自己写的格式貌似比较好用,毕竟是自己写的,什么地方有什么东西,自己是一清二楚的.我看很多较大规模的引擎都用到自己的资源格式,毕竟不同引擎有不同需求嘛.

当前格式还有一些小问题,但大多都是3ds max建模的问题,若在贴图时有不贴图的面片,3ds max会自动给其分配一个空材质,但问题不在这里,问题是,3ds max会给每个没有贴材质的面片都分配一个不同id的空材质.这样的话,对于我这个插件来说,区分材质不同是同过材质id来分配的,所以当没用材质的面越多,空材质数目越大,最终影响加载模型时的速度.这个问题还有待解决.

最后, 这里抛砖引玉,献上示例图中的丑陋的模型浏览器和L3D的插件,浏览器里面有源代码,相信会D3D的人都能看懂的.灰常简单的哟….最后请各路大神指教指教,有什么不对的请指出.

提取码:

#L3D.rar

分享密码 : l3d

,去看日出,去散步,去欣赏大自然,

简单模型格式开发(.L3D)

相关文章:

你感兴趣的文章:

标签云: