예제 #1
0
        private static void DrawDetails()
        {
            // детали спереди
            GL.Color3(Color.Coral);
            GL.BindTexture(TextureTarget.Texture2D, TankGameWindow.TextureIds[3]);

            GL.Begin(PrimitiveType.Quads);
            MakeSquare(detailsPoints[1], detailsPoints[2], detailsPoints[3], detailsPoints[4]);
            MakeSquare(detailsPoints[1], detailsPoints[2], detailsPoints[3], detailsPoints[4], true);
            GL.End();

            GL.BindTexture(TextureTarget.Texture2D, TankGameWindow.TextureIds[0]);
            GL.Begin(PrimitiveType.Quads);
            MakeSquare(detailsPoints[1], detailsPoints[2], detailsPoints[6], detailsPoints[5]);
            MakeSquare(detailsPoints[1], detailsPoints[4], detailsPoints[8], detailsPoints[5]);
            MakeSquare(detailsPoints[4], detailsPoints[8], detailsPoints[7], detailsPoints[3]);
            MakeSquare(detailsPoints[3], detailsPoints[7], detailsPoints[6], detailsPoints[2]);

            MakeSquare(detailsPoints[1], detailsPoints[2], detailsPoints[6], detailsPoints[5], true);
            MakeSquare(detailsPoints[1], detailsPoints[4], detailsPoints[8], detailsPoints[5], true);
            MakeSquare(detailsPoints[4], detailsPoints[8], detailsPoints[7], detailsPoints[3], true);
            MakeSquare(detailsPoints[3], detailsPoints[7], detailsPoints[6], detailsPoints[2], true);
            GL.End();

            GL.BindTexture(TextureTarget.Texture2D, TankGameWindow.TextureIds[1]);
            Painter.PaintCylinder(Axis.Y, new Vector3(0, 0.19f, -0.4f), 0.12f, 0.08f, Color.Aqua, Color.Aqua);

            // держатель орудия

            GL.BindTexture(TextureTarget.Texture2D, TankGameWindow.TextureIds[5]);
            GL.Begin(PrimitiveType.Quads);

            MakeSquare(details2Points[1], details2Points[2], details2Points[3], details2Points[4]);
            MakeSquare(details2Points[2], details2Points[5], details2Points[6], details2Points[7]);
            MakeSquare(details2Points[8], details2Points[9], details2Points[10], details2Points[11]);
            MakeSquare(details2Points[11], details2Points[12], details2Points[13], details2Points[14]);
            MakeSquare(details2Points[1], details2Points[2], details2Points[3], details2Points[4], true);
            MakeSquare(details2Points[2], details2Points[5], details2Points[6], details2Points[7], true);
            MakeSquare(details2Points[8], details2Points[9], details2Points[10], details2Points[11], true);
            MakeSquare(details2Points[11], details2Points[12], details2Points[13], details2Points[14], true);
            MakeSquare(details2Points[1], details2Points[5], details2Points[10], details2Points[14]);
            MakeSquare(details2Points[3], details2Points[4], details2Points[13], details2Points[12]);
            MakeSquare(details2Points[6], details2Points[7], details2Points[8], details2Points[9]);
            MakeSquare(details2Points[5], details2Points[6], details2Points[9], details2Points[10]);
            MakeSquare(details2Points[3], details2Points[7], details2Points[8], details2Points[12]);
            MakeSquare(details2Points[1], details2Points[5], details2Points[10], details2Points[14], true);
            MakeSquare(details2Points[3], details2Points[4], details2Points[13], details2Points[12], true);
            MakeSquare(details2Points[6], details2Points[7], details2Points[8], details2Points[9], true);
            MakeSquare(details2Points[5], details2Points[6], details2Points[9], details2Points[10], true);
            MakeSquare(details2Points[3], details2Points[7], details2Points[8], details2Points[12], true);

            GL.End();

            GL.BindTexture(TextureTarget.Texture2D, TankGameWindow.TextureIds[5]);
            Painter.PaintCube(new Vector3(0, 0.2f, 0.45f), 0.2f);
        }
예제 #2
0
 public static void Cube()
 {
     Painter.PaintCube(Vector3.Zero, 1);
 }