【分享】自定义渲染合批之自定义顶点格式(附 Demo 和引擎源码解读)

没事别定制,搞不好,要维护两套

大佬, 我把Scripts/Shader下的GTA2D系列挪到自己的2.4.5工程里, 拷贝了creatorInternal.d.ts文件到自己工程, 使用Avatar后 编辑器无法正常显示 报错 null : Failed to set property [texture], property not found.怎么处理

试试Texture目录的图和对应的meta文件一起拷贝过去

可以了, 是我这边Avatar.effect没有做设置的问题 谢谢

有一个很疑惑的问题,渲染一张图只需要四个顶点坐标uv等属性,以及六个三角形的顺序,那图片中间的颜色都是插值得来的吗?还是说图片每一个像素都会传入对应的属性值

是的,顶点着色器传递给片元着色器的属性,会被插值。
如果4个顶点的颜色不一样,在片元着色器里输出颜色可以看到渐变色。

那么插值出来的效果是如何跟我们用照片查看png的效果是一样的,这个有点疑惑

照片查看器显示的是图片(纹理)的颜色啊,跟顶点属性没关系。
默认的cc.Sprite shader如下。

mark!!!

hula. good work!

战略MARK啊

不知作者还能不能看到.
根据教程修改了一下, 为了灰度显示. 原来的灰度显示图片是无法合批的.
最后是成功了. 但是在浏览器运行时打开cocos的fps信息. 会显示drawcall在抖动.
比如原ui需要灰度和正常的混合显示. drawcall 100. 使用了你的办法修改后应该是整个合批 ui界面还剩20.
此时运行时的状态是一秒钟drawcall就先20后100 差不多1秒内一次 反复抖动.
这问题应该怎么解决?
creator版本2.4.6

先mark一下 这个这么重要的功能不知道官方什么时候能提供呢

你好,Creator3.7 的自定义顶点格式,应该怎么操作呢

MarkMarkMark

牛逼,V587!

大佬我在使用 3.x , 3.x 中如何自定义顶点呢

我看原生的实现方式本身就已经可以合批了

mark!!

mark!!