下载 Grandpa SDK

July 7th, 2010

Grandpa SDK 对非商业应用免费,商业应用请联系我

下载Grandpa SDK 0.78 -Windows

下载Grandpa SDK 0.78 -iPhone

SVN更新地址

了解Grandpa的特性

Grandpa SDK包含

  • Grandpa.dll以及相应的导入库Grandpa.lib
  • C++接口以及数学库头文件
  • Max导出插件GrandpaMax8.dle; GrandpaMax9.dle
  • Logger接口演示工程LoggerDemo(含源代码)
  • 演示工程Demo(含源代码)
  • 多线程加载演示工程MultithreadDemo(含源代码)
  • 一套模型资源

支持的IDE:

  • Visual Studio 2005
  • Visual Studio 2010
  • XCode 3.2

如果有特殊需求请联系我。

接口说明文档会在近期发布。

最后,感谢李栋制作的模型,动画和纹理。

更新历史:

2010/02/19 version 0.7 released.

  • IBone和IMesh的getProperty()函数更名为getUserProperty()
  • 添加IVertexStream接口,IMesh接口添加IVertexStream* getStaticVertexStream()和IVertexStream* getDynamicVertexStream()函数
    • IMesh接口的getPositions(),getNormals()等函数被废弃
    • 对于静态网格,static vertex stream包含所有顶点数据,而dynamic vertex stream为空
    • 对于蒙皮网格,static vertex stream包含静态的顶点数据,如纹理坐标,顶点颜色等;而dynamic vertex stream包含动态数据如顶点位置,法线等信息
    • 渲染蒙皮网格时,建议也将d3d或ogl的vertex buffer相应分为静态和动态两个stream,静态stream只需要填充一次
  • 现在Max导出插件能自动记住最后一次成功导出的设置,并且支持恢复默认设置
  • 原先的Material和Texture结构现在改为IMaterial和ITexture接口
  • 完善IEventHandler接口,添加了onPartBuilt(),onPartDestroy(),onAnimationStart(),onAnimationEnd(),onAnimationTime()等函数
    • 用户可以在onPartBuilt()回调中创建d3d或ogl的buffer,在onPartDestroy()中释放他们,详细请参考DemoCharacter类
    • 可以在onAnimationTime()回调中处理任意与动画时间相关的事件,例如音效播放,特效播放,光源的添加/删除,甚至摄像机控制等
  • 废除IModel::setEventHandler()函数,改为在调用grp::createModel()函数时直接传入IEventHandler接口指针
  • 新添IProperty接口,并且在IModel,IPart和IMaterial接口添加了getUserProperty()函数返回IProperty指针
    • 用户可以在gmd,gpt和gmt文件中添加形如<property name=”” value=””/>的自定义属性节点
  • 为了支持GPU蒙皮,添加了ISkin接口,可以调用IMesh::getSkin()返回该接口指针
    • 通过ISkin可以得到mesh依赖的所有骨骼的当前变换矩阵,以及mesh每个顶点依赖的骨骼序号和权重
  • 支持GPU蒙皮,在设置了IModel::setGpuSkinning(true)之后,通过IMesh::getDynamicVertexStream()得到的将是蒙皮计算之前的原始顶点数据
    • 用户可以直接将vertex stream里的buffer发送给显卡进行硬件蒙皮计算
  • Demo添加Gpu Skinning选项
  • IBone和IMesh的getProperty()函数更名为getUserProperty()
  • 添加IVertexStream接口,IMesh接口添加IVertexStream* getStaticVertexStream()和IVertexStream* getDynamicVertexStream()函数
    • IMesh接口的getPositions(),getNormals()等函数被废弃
    • 对于静态网格,static vertex stream包含所有顶点数据,而dynamic vertex stream为空
    • 对于蒙皮网格,static vertex stream包含静态的顶点数据,如纹理坐标,顶点颜色等;而dynamic vertex stream包含动态数据如顶点位置,法线等信息
    • 渲染蒙皮网格时,建议也将d3d或ogl的vertex buffer相应分为静态和动态两个stream,静态stream只需要填充一次
  • 现在Max导出插件能自动记住最后一次成功导出的设置,并且支持恢复默认设置
  • 原先的Material和Texture结构现在改为IMaterial和ITexture接口
  • 完善IEventHandler接口,添加了onPartBuilt(),onPartDestroy(),onAnimationStart(),onAnimationEnd(),onAnimationTime()等函数
    • 用户可以在onPartBuilt()回调中创建d3d或ogl的buffer,在onPartDestroy()中释放他们,详细请参考DemoCharacter类
    • 可以在onAnimationTime()回调中处理任意与动画时间相关的事件,例如音效播放,特效播放,光源的添加/删除,甚至摄像机控制等
  • 废除IModel::setEventHandler()函数,改为在调用grp::createModel()函数时直接传入IEventHandler接口指针
  • 新添IProperty接口,并且在IModel,IPart和IMaterial接口添加了getUserProperty()函数返回IProperty指针
    • 用户可以在gmd,gpt和gmt文件中添加形如<property name=”” value=””/>的自定义属性节点
  • 为了支持GPU蒙皮,添加了ISkin接口,可以调用IMesh::getSkin()返回该接口指针
    • 通过ISkin可以得到mesh依赖的所有骨骼的当前变换矩阵,以及mesh每个顶点依赖的骨骼序号和权重
  • 支持GPU蒙皮,在设置了IModel::setGpuSkinning(true)之后,通过IMesh::getDynamicVertexStream()得到的将是蒙皮计算之前的原始顶点数据
    • 用户可以直接将vertex stream里的buffer发送给显卡进行硬件蒙皮计算
  • Demo添加Gpu Skinning选项

2010/01/26 version 0.61 released.

  • 为了更好的兼容性,Matrix恢复为4×4布局
  • grabResource的param参数将会传递给子资源
  • 添加 IMesh::getName()函数
  • Max插件支持导出mesh和bone的用户自定义property
  • 添加 IMesh::getProperty()和IBone::getProperty()函数

2010/01/17 version 0.6 released.

  • 添加IResourceManager接口,用户可以定制资源管理
  • IFileProvider更名为IFileLoader
  • 支持资源异步加载
  • 添加多线程资源加载Demo
  • 大幅提高资源加载速度
  • 支持动画分段播放
  • 优化矩阵存储,节省内存占用
  • getBoundingBox()函数从IPart移动到IMesh
  • 添加grp::createMesh()和grp::destroyMesh(),但是单独创建的mesh暂不支持异步加载
  • gmd,gpt,gmt文件里xml所有节点名称改为小写字母
  • 修改了gmd文件格式,skeleton改为model节点的属性,而不是子节点

2009/12/12 version 0.51 released.

  • 修正bug

2009/9/3 version0.5 First release.

Comments are closed.