【Stage3D学习笔记续】山寨Starling(二):VertexData探幽

时间:2021-08-30 09:06:21

还记得之前的学习笔记中我们的顶点缓冲数组中的顶点数据么,我们使用一个一维数组来记录所有的顶点数据,这是由于顶点缓冲上传数据时是使用的一维数组。

如果对顶点数据进行一层代码的封装,就能更加的方便我们来操作顶点数据了。

所以引入了VertexData(顶点数据)这个类来进行封装。

在Starling中一个顶点需要记录9个数据,分别如下:

  1. 坐标数据 x 和 y(2D游戏就不需要z轴了,但是Starling中留下了 z 轴的位置的),开始索引为 0;
  2. 颜色数据 r、g、b、a(顶点颜色),开始索引为 3;
  3. 纹理数据 u 和 v(纹理坐标),开始索引为 7;

一个顶点数据的格式展开为:x, y, z, r, g, b, a, u, v

一个VertexData对象会记录多个需要上传到GPU的顶点的数据,同时可以方便的修改指定的任意一个顶点数据;

特别说一下预乘透明度:如果设置为true,则颜色数据和(透明度数据/255)的值会进行相乘。

VertexData

Color