首页 > 其他分享 >CocosCreator3.x 应用在UI(Sprite) 上的 shader(.effect) 的合批,通过自定义顶点参数(一)、前言

CocosCreator3.x 应用在UI(Sprite) 上的 shader(.effect) 的合批,通过自定义顶点参数(一)、前言

时间:2023-10-26 14:14:38浏览次数:37  
标签:合批 Sprite 自定义 shader 文档 UI

前言

为啥要合批

减少DC

什么是自定义顶点参数

通过 几何体实例化 特性(GPU Instancing)可使 GPU 批量绘制模型相同且材质相同的渲染对象。如果我们想在不打破这一特性的情况下单独修改某个对象的显示效果,就需要通过自定义几何体实例化属性。

参考文档

UI(Sprite) 怎么你了?

image

按照文档中的说法,需要用到 MeshRenderer 来设置自定义属性。
但 UI(Sprite) 并没有这个组件,也就无法按照文档来实现自定义 UI shader 的合批。

标签:合批,Sprite,自定义,shader,文档,UI
From: https://www.cnblogs.com/bakabird/p/17789253.html

相关文章

  • CocosCreator3.x 应用在UI(Sprite) 上的 shader(.effect) 的合批,通过自定义顶点参数(二
    具体操作步骤接下来以一个制造旋转效果的shader为例子,提供了这些参数的设置:旋转速度float旋转中心位置vec2逆时针/顺时针bool扭曲度float并在使用的贴图一致的前提下并且参数不同的值都能够合批。最终项目可以从GITHUB获取。CCC版本:3.8.0深入了解可以阅读后续......
  • CocosCreator3.x 应用在UI(Sprite) 上的 shader(.effect) 的合批,通过自定义顶点参数(四
    源码阅读部分顶点数量、布局相关设置针对UI所使用的Mesh的顶点设置:如simple模式使用1个矩形(2x2个顶点),sliced模式使用9个矩形(4x4个顶点)dataLength相当于顶点数量。vertexRow和vertexCol描述了网格形状。SetIndexBuffer则描述网格中所有“三角形”分别由哪3......
  • CocosCreator3.x 应用在UI(Sprite) 上的 shader(.effect) 的合批,通过自定义顶点参数(三
    参考资料资料1来源:https://forum.cocos.org/t/topic/148747/28用户:homym(tkhoi01281)3.x版自定参数我是利用createMesh方法去生成ui,因为createMesh就有自定义顶点参数的方法这个改动其实是可以弄一个新sprite来继承老spirte,然后把引擎里的simple.ts,splice.ts等assemb......
  • Spark编程案例:创建自定义分区
    需求:根据jsp文件的名字,将各自的访问日志放入到不同的分区文件中,如下:生成的分区文件例如:part-00000文件中的内容:只包含了java.jsp的访问日志日志内容:192.168.88.1--[30/Jul/2017:12:53:43+0800]"GET/MyDemoWeb/HTTP/1.1"200259192.168.88.1--[30/Jul/2017:12:53:4......
  • 甘特图组件DHTMLX Gantt用例 - 如何自定义任务、月标记和网格新外观
    dhtmlxGantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表。可满足项目管理应用程序的所有需求,是最完善的甘特图图表库。本文将为大家揭示DHTMLXGantt自定义的典型用例,包括自定义任务、网格的新外观等,来展示其功能的强大性!用例-新建项目外观、当前月份标记和可折叠网格D......
  • 钉钉OA自定义审批流的创建和使用
    前言大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。钉钉作为一款办公软件,审批功能是它的核心功能之一,最常见的审批场景就是请假和报销了。虽然钉钉也内置了一些审批流,但是审批场景层......
  • MapReduce自定义GroupingComparator
    需求:有如下订单明细数据0000001 01 222.80000002 06 722.40000001 05 25.80000003 01 222.80000003 01 33.80000002 03 522.80000002 04 122.4第一列是订单编号,第二列是商品id,第三列是商品金额,列与列之间用制表符分隔。现在需要求出每一个订单中最贵的商品。思路:将订单id和商......
  • 基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程的集成方法与步骤(二
    更多ruoyi-nbcio功能请看演示系统gitee源代码地址演示地址:RuoYi-Nbcio后台管理系统前面讲了集成的后端部分内容,下面简单介绍一下前端的内容 1、前端生成的页面需要进行修改,增加流程状态启动等相关信息,如demo的index修改如下<template><divclass="app-container"><el-form......
  • 基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程的集成方法与步骤(一
    更多ruoyi-nbcio功能请看演示系统gitee源代码地址演示地址:RuoYi-Nbcio后台管理系统由于大家最自定义业务表单的整个集成方法还不熟悉,下面大概介绍一下这个流程与方法。1、首先需要建立数据库表,根据自己业务进行数据表的建立,目前系统需要在另外sql进行数据库表的建立,以后可以考虑系......
  • 基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程(五)
    更多ruoyi-nbcio功能请看演示系统gitee源代码地址演示地址:RuoYi-Nbcio后台管理系统今天讲一下wf_demo表单的一些修改1、demo的实现类修改如下:主要是增加一个服务名称,后面要用到,同时继承于WfCallBackServiceI,以便进行调用。@Service("wfDemoService")publicclassWfDemoServiceImp......