所有的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的绘制命令 

cocos2dx 实现gpu instancing的更多相关文章

  1. Unity GPU Instancing的使用尝试

    似乎是在Unity5.4中开始支持GPU Instacing,但如果要比较好的使用推荐用unity5.6版本,因为这几个版本一直在改. 这里测试也是使用unity5.6.2进行测试 在5.6的版本里, ...

  2. GPU instancing

    参考 https://www.cnblogs.com/hont/p/7143626.html github地址 https://github.com/yingsz/instancing/ 补充2点: ...

  3. 利用GPU实现大规模动画角色的渲染

    0x00 前言 我想很多开发游戏的小伙伴都希望自己的场景内能渲染越多物体越好,甚至是能同时渲染成千上万个有自己动作的游戏角色就更好了. 但不幸的是,渲染和管理大量的游戏对象是以牺牲CPU和GPU性能为 ...

  4. GPU Skin

    http://blog.csdn.net/leonwei/article/details/77387357 TPOSE存vbo 每根骨骼的matrices存在貼圖裏用vertex fetch 做GPU ...

  5. Unite 2017 | 基于Animation Instancing的大规模人群模拟

    在Unite 2017的国内技术专场,Unity技术团队为参会者们带来了Unity引擎功能相关的技术分享.今天这篇文章,将由Unity技术支持工程师金晓宇为大家分享基于Animation Instan ...

  6. [unity]GPU Instance学习

    前言我们之前研究过为什么Unity的UI可以合批,是因为使用了相同的材质进行渲染,UI上不同图片渲染是通过把图片打成一张图集后,使用Image组件对顶点填充了不同的UV值实现的.那么有没有什么办法可以 ...

  7. 利用GPU实现大规模动画角色的渲染(转)

    原文: https://www.cnblogs.com/murongxiaopifu/p/7250772.html 利用GPU实现大规模动画角色的渲染 0x00 前言 我想很多开发游戏的小伙伴都希望自 ...

  8. Unity3D学习笔记7——GPU实例化(2)

    目录 1. 概述 2. 详论 2.1. 实现 2.2. 解析 3. 参考 1. 概述 在上一篇文章<Unity3D学习笔记6--GPU实例化(1)>详细介绍了Unity3d中GPU实例化的 ...

  9. Unity3D学习笔记8——GPU实例化(3)

    目录 1. 概述 2. 详论 2.1. 自动实例化 2.2. MaterialPropertyBlock 3. 参考 1. 概述 在前两篇文章<Unity3D学习笔记6--GPU实例化(1)&g ...

随机推荐

  1. 安装mysql5.6

    1.创建一个不能登录的的用户: 2.下载一个数据库包: wget 下载网址 3.安装相关依赖包: yum -y install make gcc-c++ cmake bison-devel ncurs ...

  2. 【js】关于this指针-理解call、apply、bind

    首次讲解视频,听了一下,录音声音太小(暂不知道该怎么调节),老是咳咳,不太流畅.暂时不理想,日后继续努力.(能写出来还不够,还要会说出来) 首先,this指针只存在于函数(function)中.用于指 ...

  3. MATLAB R2018b Mac中文版安装教程

    MATLAB r2018b mac中文版是一款强大的可视化数学分析软件,专门用于在Mac上执行数值计算,编程和可视化任务时极大地提高您的工作效率.在MATLAB的帮助下,您可以分析数据,创建应用程序, ...

  4. [C++ Primer Plus] 第8章、函数探幽(一)程序清单——内联、引用、格式化输入输出、模板、decltype

    程序清单8.1(inline内联函数) #include<iostream> using namespace std; inline double square(double x) {// ...

  5. 解决 js ajax跨域访问报“No 'Access-Control-Allow-Origin' header is present on the requested resource.”错误

    参考页面:https://blog.csdn.net/idomyway/article/details/79572973 如果请求的是PHP页面: header("Access-Contro ...

  6. Domain logic approachs

    1.transaction script(事务脚本) 概述: 很多企业应用可以看成一系列的事务,每一个事务可以通过使用一个Transaction Script来处理. 用法: 使用Transactio ...

  7. 正则表达式,js里的正则应用

    我爱撸码,撸码使我感到快乐!大家好,我是Counter.好吧已经到凌晨了,其实还是蛮困的,体力不支了,想了想还是把今天任务结束掉吧,为期5天,又重新把JavaScript以及jQuery给大致过了一遍 ...

  8. Bigger-Mai 养成计划,前端基础学习之HTML

    HTML 超文本标记语言(Hyper Text Markup Language) 1.一套规则,浏览器认识的规则. 2.开发者: 学习Html规则 开发后台程序: - 写Html文件(充当模板的作用) ...

  9. ajaxToolkit 异步加载报 错误500的解决方法

    设置IIS程序池的托管模式为经典

  10. maven 安装本地jar

    mvn install:install-file -Dfile=D:/open-api-sdk-2.0.jar -DgroupId=com.jd.open -DartifactId=jd-api-sd ...