cocos2dx 3.9 创建自定义mesh进行渲染。
2016-01-21 16:25
495 查看
很多时候,我们的3D模型并非由文件读出,可能是由其它环境生成的,顶点向量,法向量,纹理坐标向量都保存在内存里。
如何将它们渲染出来?(个人觉得cocos2dx的渲染有很多坑,而网上提到引擎修改的文章相当少)
步骤如下:
1.通过Mesh::create(const std::vector<float>& positions, const std::vector<float>& normals, const std::vector<float>& texs, const IndexArray& indices)构建Mesh。
2.给mesh设置material
3.将mesh加入到Sprite3D对象
4.强Sprite3D对象加入到场景中。
这里,如果mesh不设置material,在调用meshCommand命令时会提示错误,因此materia的设置是必须的。
这个设置我觉得cocos2dx应该设置一个默认的,否则编译它也不提示错误,然后运行时就崩溃了。
我们可以手动添加一个material,脚本例如:
(注意文件路径)。
如此一来,就可以将其在cocos2dx3.9的场景中显示出来。
如何将它们渲染出来?(个人觉得cocos2dx的渲染有很多坑,而网上提到引擎修改的文章相当少)
步骤如下:
1.通过Mesh::create(const std::vector<float>& positions, const std::vector<float>& normals, const std::vector<float>& texs, const IndexArray& indices)构建Mesh。
2.给mesh设置material
3.将mesh加入到Sprite3D对象
4.强Sprite3D对象加入到场景中。
这里,如果mesh不设置material,在调用meshCommand命令时会提示错误,因此materia的设置是必须的。
这个设置我觉得cocos2dx应该设置一个默认的,否则编译它也不提示错误,然后运行时就崩溃了。
我们可以手动添加一个material,脚本例如:
(注意文件路径)。
如此一来,就可以将其在cocos2dx3.9的场景中显示出来。
相关文章推荐
- cocos2dx+lua编译Android项目
- Cocos V3.10 之 预编译体验 !
- Cocos2d-JS轻量级开发
- (译)cocos2d-x跨android&ios平台开发入门教程
- Cocos2d-x 3.1.1 学习日志6--30分钟了解C++11新特性
- 【cocos2d-x 2.x 学习与应用总结】13: 借助CCGLProgram实现自定义绘制
- CocosCreator你又从新燃起我对Cocos的激情!
- Cocos2d-JS切换场景与切换特效
- 【cocos2d-x 2.x 学习与应用总结】12: cocos2d-x预定义shader源码
- cocos 刚体穿透解决方案。
- U8SDK——Cocos2dx游戏快速渠道SDK接入
- cocos creator发布
- cocos2d-x中3D游戏的制作-相机的使用教程
- COCOS学习笔记--关于使用cocostudio打安卓包
- cocos2dx 绽开效果
- cocos2dx 3.9 不支持xp
- quick-cocos2d-x源文件编译及加密详解
- cocos 出了个新工具 cocos creator 记录下.
- cocos-lua 场景切换动画
- Cocos2dx源码分析之JumpBy的实现