gl verts(float32Array) 索引4是存放什么的? 打印出来存放的是NAN, 这不浪费内存吗?

2d sprite:
float32Array [ x,y, uv.x, uv.y, 索引4 ] 5个元素表示一个顶点, 索引4是存放什么的?

我看引擎代码. 实在不明白, 所以4到底是做什么的? 2Dsprite为何要存储无意义的NAN/

:smiling_imp:

应该是颜色。

我看了源码 assembler-2d.js 后面部分 的"colorOffset: 4"更加确定了我上述猜想。
因为 颜色4个维度分别是0-255,因此没必要真的4个维度去存储,很浪费空间。0-255为1位就可以搞定,所以4个维度,正好可以放入float类型。然而,float类型确实有种情况会是NaN的就是 指数部分全为1、小数部分非零表示NaN。(float结构是 1位符号位+8位指数位+23位小数位 具体看IEEE 754浮点数标准)。
个人见解而已。。。

颜色存在 uintVerts数组里, 没有放在 vDatas.

哦哦,看错了:sweat_smile: