CSharpGL.Ground.GeneratePositions C# (CSharp) Method

GeneratePositions() private method

private GeneratePositions ( int squreCountPerUnit, int xUnit, int zUnit ) : vec3[]
squreCountPerUnit int
xUnit int
zUnit int
return vec3[]
        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;
        }