自定义顶点格式怎么传数组

需求是传多边形的点在shader做裁切,目前的做法是给每个顶点都定义了个变量接收;
如何定义一个数组一次性接收所有多边形点的数据?


image

最初的方案用就是用uniform传的,但是因为会打断合批,所以改用了自定义顶点格式

顶点数据里有坐标这个值,每三个顶点构成一个三角形。你要做多边形裁切,应该要多构建几个三角形,而不是往单个顶点里塞额外数据。

我做了个通过构建额外顶点数据来实现多边形裁切显示的组件,仅限凸多边形,没有使用自定义材质和shader.

大概的思路是理解了,但是具体实现还是有点懵,大佬 可以分享一下你的实现的代码吗