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); }