KlayGE首次引入C++11特性
摘要:转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2121在KlayGE开发版中,C++11的部分特性第一次被采用。目前用到的有两处,nullptr和强类型enum。所有这些C++11 only的代码都被放入#ifdef /#endif,同时提供了非C++11的替代实现。nullptrnullptr是C++11定义的强类型空指针,用来取代NULL。强类型的保证减少了bug的可能性,相关的介绍很容易找到,这里就不累赘了。在不支持C++11的编译器上,也可以实现一个同样功能的nullptr:123456789101112131415161718
阅读全文
posted @
2012-11-26 15:33
龚敏敏
阅读(904)
推荐(2) 编辑
完整的顶点压缩
摘要:转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2116在压缩tangent frame一文中,我们看到了把tangent frame压缩到4个字节的方法。现在让我们看看如何压缩其他属性,以达到减小顶点数据的目的。顶点属性首先看看完整的顶点都包含了哪些属性:属性类型大小(字节)备注positionfloat312texcoordfloat28tangentfloat312binormalfloat312normalfloat312blend_indexuint416骨骼动画模型才有blend_weightfloat416骨骼动画模型才有总
阅读全文
posted @
2012-11-13 13:27
龚敏敏
阅读(1933)
推荐(1) 编辑
正式推出MeshMLLib
摘要:转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2111最近,在KlayGE的开发版中,正式加入了MeshMLLib这个独立子库。这也是在KlayGE 4.2的计划中。顾名思义,MeshMLLib是用来与KlayGE的模型格式MeshML打交道的库。去年在计划Maya的导出插件时,就想过把3DSMax和Maya的插件后端统一,以简化插件的开发。时至今日,该目标终于完成。MeshMLLib简介MeshMLLib目前可以编译成.lib的库,静态链接到别的程序中。它的目标就是让程序可以很简单地生成.meshml格式的文件,以供KlayGE载入。
阅读全文
posted @
2012-11-13 13:26
龚敏敏
阅读(613)
推荐(0) 编辑