spaceconquest.HexModel.InitializePrimitive C# (CSharp) Method

InitializePrimitive() public static method

public static InitializePrimitive ( GraphicsDevice graphicsDevice ) : void
graphicsDevice GraphicsDevice
return void
        public static void InitializePrimitive(GraphicsDevice graphicsDevice)
        {
            Point center = Point.Zero;

            float xshift = (float)Math.Cos(Math.PI / (double)6) * radius;
            float yshift = (float)Math.Sin(Math.PI / (double)6) * radius;

            Vector3 up = new Vector3(0, 0, 1);
            vertices.Add(new VertexPositionColor(new Vector3(center.X, center.Y, 1), new Color()));
            vertices.Add(new VertexPositionColor(new Vector3(center.X + xshift, center.Y + yshift, 1), color));
            vertices.Add(new VertexPositionColor(new Vector3(center.X + xshift, center.Y - yshift, 1), color));
            vertices.Add(new VertexPositionColor(new Vector3(center.X, center.Y - radius, 1), color));
            vertices.Add(new VertexPositionColor(new Vector3(center.X - xshift, center.Y - yshift, 1), color));
            vertices.Add(new VertexPositionColor(new Vector3(center.X - xshift, center.Y + yshift, 1), color));
            vertices.Add(new VertexPositionColor(new Vector3(center.X, center.Y + radius, 1), color));

            indices.Add((ushort)0);
            indices.Add((ushort)1);
            indices.Add((ushort)2);

            indices.Add((ushort)0);
            indices.Add((ushort)2);
            indices.Add((ushort)3);

            indices.Add((ushort)0);
            indices.Add((ushort)3);
            indices.Add((ushort)4);

            indices.Add((ushort)0);
            indices.Add((ushort)4);
            indices.Add((ushort)5);

            indices.Add((ushort)0);
            indices.Add((ushort)5);
            indices.Add((ushort)6);

            indices.Add((ushort)0);
            indices.Add((ushort)6);
            indices.Add((ushort)1);

            // Create a vertex buffer, and copy our vertex data into it.
            vertexBuffer = new VertexBuffer(graphicsDevice,
                                            typeof(VertexPositionColor),
                                            vertices.Count, BufferUsage.None);

            vertexBuffer.SetData(vertices.ToArray());

            // Create an index buffer, and copy our index data into it.
            indexBuffer = new IndexBuffer(graphicsDevice, typeof(ushort),
                                          indices.Count, BufferUsage.None);

            indexBuffer.SetData(indices.ToArray());

            // Create a BasicEffect, which will be used to render the primitive.
            basicEffect = new BasicEffect(graphicsDevice);

            //basicEffect.EnableDefaultLighting();
        }