cocos creator 自定义渲染问题,数据格式问题

{
floatsPerVert: 5,

verticesCount: 4,
indicesCount: 6,

uvOffset: 2,
colorOffset: 4,

}

源码cc.RenderData里面,这个floatsPerVert是什么意思?
渲染一个矩形图片,需要4个顶点, 6个索引 构成2连个三角形. 但是实例化的时候,this._renderData.vDatas[0]数组长度为啥是20. 四个顶点,四个uv 长度应该是16. 我打印一个Sprite 结果发现数组长度是20,但是第5, 10, 15, 20的位置上数据是Nan.
研究了几天没搞懂.另外这个 uvOffset和colorOffset是干嘛用的,源码里也没看懂,求助

最近刚刚研究了一下自定义渲染这块,留下一些注释,希望对你有帮助。

`

// 每个2d渲染单元里的有:
// 4个顶点属性数据
// 6个顶点索引 -> 三角剖分成2个三角形

// 每个顶点属性由5个32位数据组成
// 顶点属性声明:
// var vfmtPosUvColor = new gfx.VertexFormat([
//     { name: gfx.ATTR_POSITION, type: gfx.ATTR_TYPE_FLOAT32, num: 2 },
//     { name: gfx.ATTR_UV0, type: gfx.ATTR_TYPE_FLOAT32, num: 2 },
//     { name: gfx.ATTR_COLOR, type: gfx.ATTR_TYPE_UINT8, num: 4, normalize: true },       // 4个uint8
// ]);
// 顶点属性数据排列,每一格是32位 (float32/uint32)
// x|y|u|v|color|x|y|u|v|color|...
// 其中uv在一组数据中的偏移是2,color的偏移是4
verticesCount = 4;
indicesCount = 6;
uvOffset = 2;
colorOffset = 4;
floatsPerVert = 5;

`

_renderData.vDatas[0]数组长度为什么是20?
–> 一个节点4个顶点 * 每个顶点5个数据(每个数据32位)

5,10,15,20位置上显示NAN?
–> 第5,10,15,20位是color值,如果没有修改过颜色,那么他是#FFFFFFFF,即纯白。这个值比较大,调试的时候会显示NAN,实际上是uint32位的 1^32 - 1