zoukankan      html  css  js  c++  java
  • cocos2dx 实现gpu instancing

    所有的gpu instancing都是在unity3d上实现的,ue4实现起来应该压力也不大
    相关链接见下:
    https://www.cnblogs.com/hont/p/7143626.html
    https://blog.csdn.net/leonwei/article/details/77387357
    https://www.cnblogs.com/murongxiaopifu/p/7250772.html

    untiy5.4之后可以在shader种选择是否支持gpu instance


    cocos最终实现的结果,批次总共是4,绘制三个骨骼动画,批次加一
    骷髅的位置,动作时间都可以通过instance的参数来调


    实现要点:
    首先数据准备,采用的跟unity一样的思路(本开始打算用上面链接中的方法,将动作烘到图片上然后给cocos使用,但是用的过程中发现数据的顺序以及数据有些不同。。。这样的话还需要对数据进行处理,这样可能cocos种还不知道有多少坑)
    用cocos烘出动作数据存储到一个二进制数据中,水平方向记录网格各个顶点的位置,垂直方向是时间信息。用到的小骷髅模型对应的数据如上图所示,我直接采用的glfloat的精度。
    烘完之后,自己写mesh的渲染,写相应的shader进行渲染
    如果不想改源代码,需要扩展mesh的绘制命令 
  • 相关阅读:
    希望jQuery操作DOM文档,则必须确保DOM载入后开始执行
    Web全栈AngularJS
    Web全栈AngularJS
    Web全栈AngularJS
    KD-Tree
    KD-Tree
    KD-Tree
    KD-Tree
    如何提升自身实力
    如何提升自身实力
  • 原文地址:https://www.cnblogs.com/cg_ghost/p/10299088.html
Copyright © 2011-2022 走看看