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的绘制命令 
  • 相关阅读:
    二叉树前、中、后遍历
    程序员节宜冒泡
    HashMap源码分析
    Stack源码解析
    逆袭之旅DAY24.XIA.二重进阶、双色球
    逆袭之旅DAY24.XIA.数组练习
    LY.JAVA面向对象编程.内部类
    LY.JAVA面向对象编程.修饰符
    LY.JAVA面向对象编程.包的概述、导包
    XIA.人机猜拳
  • 原文地址:https://www.cnblogs.com/cg_ghost/p/10299088.html
Copyright © 2011-2022 走看看