private vec3[] GeneratePositions(int squreCountPerUnit, int xUnit, int zUnit)
{
var positions = new vec3[
(xUnit * 2 * squreCountPerUnit + 1) * 2
+ (zUnit * 2 * squreCountPerUnit + 1) * 2
];
int index = 0;
for (int i = 0; i < xUnit * 2 * squreCountPerUnit + 1; i++)
{
positions[index++] = new vec3(
zUnit, 0, xUnit * 2 * ((float)i / (float)(xUnit * 2 * squreCountPerUnit) - 0.5f));
positions[index++] = new vec3(
-zUnit, 0, xUnit * 2 * ((float)i / (float)(xUnit * 2 * squreCountPerUnit) - 0.5f));
}
for (int i = 0; i < zUnit * 2 * squreCountPerUnit + 1; i++)
{
positions[index++] = new vec3(
zUnit * 2 * ((float)i / (float)(zUnit * 2 * squreCountPerUnit) - 0.5f), 0, xUnit);
positions[index++] = new vec3(
zUnit * 2 * ((float)i / (float)(zUnit * 2 * squreCountPerUnit) - 0.5f), 0, -xUnit);
}
return positions;
}