public Dragonfly(int x_in = 0, int y_in = 0, int z_in = 0)
     : base(x_in, y_in, z_in)
 {
     body = new LitMatrixSphere[6];
     body[0] = new LitMatrixSphere(0.05f);
     body[1] = new LitMatrixSphere(0.04f);
     body[2] = new LitMatrixSphere(0.04f);
     body[3] = new LitMatrixSphere(0.04f);
     body[4] = new LitMatrixSphere(0.04f);
     body[5] = new LitMatrixSphere(0.03f);
     body[0].SetColor(Colors.GREEN_COLOR);
     body[1].SetColor(Colors.DarkOliveGreen);
     body[2].SetColor(Colors.LimeGreen);
     body[3].SetColor(Colors.DarkOliveGreen);
     body[4].SetColor(Colors.LimeGreen);
     body[5].SetColor(Colors.LimeGreen);
     wings = new Triangle3d[2];
     Vector3 a = new Vector3(x - x_step, y + wing_offset + wing_length, z + 0.05f);
     Vector3 b = new Vector3(x, y + wing_offset, z);
     Vector3 c = new Vector3(x + x_step, y + wing_offset + wing_length, z -  0.05f);
     wings[0] = new Triangle3d(a, b, c, true);
     wings[0].SetColor(Colors.LimeGreen);
     Vector3 d = new Vector3(x -x_step, y - wing_offset - wing_length, z -  0.05f);
     Vector3 e = new Vector3(x, y - wing_offset, z);
     Vector3 f = new Vector3(x + x_step, y - wing_offset - wing_length, z +  0.05f);
     wings[1] = new Triangle3d(d,e,f, true);
     wings[1].SetColor(Colors.LimeGreen);
     SetOffsets();
 }
        protected override void init()
        {
            ball = new LitMatrixSphere(0.1f);
            ball.SetOffset(new Vector3(0f, 0f, -0.25f));
            maze = new List<LitMatrixBlock3>();
            AddBlock(new Vector3(2.0f, 2.0f, 0.1f), new Vector3(0.0f, 0.0f, 0.9f), Colors.BLUE_COLOR);
            AddBlock(new Vector3(0.2f, 2.0f, 0.1f), new Vector3(-0.9f, 0.0f, 0.8f), Colors.RED_COLOR);
            AddBlock(new Vector3(0.2f, 2.0f, 0.1f), new Vector3(0.9f, 0.0f, 0.8f), Colors.RED_COLOR);
            AddBlock(new Vector3(2.0f, 0.2f, 0.1f), new Vector3(0.0f, -0.9f, 0.8f), Colors.RED_COLOR);
            AddBlock(new Vector3(2.0f, 0.2f, 0.1f), new Vector3(0.0f, 0.9f, 0.8f), Colors.RED_COLOR);

            GL.Enable(EnableCap.CullFace);
            GL.CullFace(CullFaceMode.Back);
            GL.FrontFace(FrontFaceDirection.Cw);

            GL.Enable(EnableCap.DepthTest);
            GL.DepthMask(true);
            GL.DepthFunc(DepthFunction.Lequal);
            GL.DepthRange(0.0f, 1.0f);
        }