Exemple #1
0
        public void Canvas3D_Test_06_ZBuffer()
        {
            Canvas3D Canvas = new Canvas3D(1200, 800, 1, SKColors.White);

            Canvas.Perspective(200, 2000);
            this.DrawPlanes(Canvas);
            this.Save(Canvas, "06.png");
        }
Exemple #2
0
        public void Canvas3D_Test_04_Perspective()
        {
            Canvas3D Canvas = new Canvas3D(1200, 800, 1, SKColors.White);

            Canvas.Perspective(200, 2000);
            this.DrawWireframeCube(Canvas);
            this.Save(Canvas, "04.png");
        }
Exemple #3
0
        public void Canvas3D_Test_05_Polygon()
        {
            Canvas3D Canvas = new Canvas3D(1200, 800, 1, SKColors.White);

            Canvas.Perspective(200, 2000);
            this.DrawCube(Canvas);
            this.Save(Canvas, "05.png");
        }
Exemple #4
0
        public void Canvas3D_Test_10_PhongShading_Oversampling_3()
        {
            I3DShader Shader = this.GetPhongShader(SKColors.Red);
            Canvas3D  Canvas = new Canvas3D(1200, 800, 3, SKColors.White);

            Canvas.Perspective(200, 2000);
            this.DrawThreePlanes(Canvas, Shader);
            this.Save(Canvas, "10.png");
        }
Exemple #5
0
        public void Canvas3D_Test_07_Text()
        {
            Canvas3D Canvas = new Canvas3D(1200, 800, 1, SKColors.White);

            Canvas.Perspective(200, 2000);
            this.DrawPlanes(Canvas);
            Canvas.Text("Hello World!", new Vector4(-400, 50, 1150, 1), "Tahoma", 150, SKColors.BlueViolet);

            this.Save(Canvas, "07.png");
        }
Exemple #6
0
        public void Canvas3D_Test_14_Ellipsoid()
        {
            Canvas3D Canvas = new Canvas3D(1200, 800, 1, SKColors.White);

            Canvas.Perspective(200, 2000);
            //Canvas.LookAt(-200, 500, 0, 0, 0, 1500, 0, 1, 0);
            Canvas.RotateX(30, new Vector3(0, 0, 1500));
            Canvas.RotateY(45, new Vector3(0, 0, 1500));
            Canvas.RotateZ(60, new Vector3(0, 0, 1500));

            I3DShader Shader = this.GetPhongShader(SKColors.Orange);

            Canvas.Ellipsoid(0, 0, 1500, 400, 400, 400, 1000, Shader);

            Shader = this.GetPhongShader(new SKColor(0, 0, 255, 64));
            this.DrawThreePlanes(Canvas, Shader, 0, 0, 1500);

            this.Save(Canvas, "14.png");
        }
Exemple #7
0
        public void Canvas3D_Test_13_Rotate_Z()
        {
            I3DShader Shader = this.GetPhongShader(SKColors.Red);
            Canvas3D  Canvas = new Canvas3D(1200, 800, 1, SKColors.White);

            Canvas.Perspective(200, 2000);

            this.DrawThreePlanes(Canvas, Shader);

            Shader = this.GetPhongShader(SKColors.Blue);
            Matrix4x4 Bak = Canvas.Translate(-250, 250, 0);

            Canvas.Scale(0.25f, new Vector3(0, 0, 1500));
            Canvas.RotateZ(30, new Vector3(0, 0, 1500));
            Canvas.Box(-500, -500, 1000, 500, 500, 2000, Shader);

            Canvas.ModelTransformation = Bak;
            Canvas.Translate(250, 250, 0);
            Canvas.Scale(0.25f, new Vector3(0, 0, 1500));
            Canvas.RotateZ(120, new Vector3(0, 0, 1500));
            Canvas.Box(-500, -500, 1000, 500, 500, 2000, Shader);

            Canvas.ModelTransformation = Bak;
            Canvas.Translate(-250, -250, 0);
            Canvas.Scale(0.25f, new Vector3(0, 0, 1500));
            Canvas.RotateZ(210, new Vector3(0, 0, 1500));
            Canvas.Box(-500, -500, 1000, 500, 500, 2000, Shader);

            Canvas.ModelTransformation = Bak;
            Canvas.Translate(250, -250, 0);
            Canvas.Scale(0.25f, new Vector3(0, 0, 1500));
            Canvas.RotateZ(500, new Vector3(0, 0, 1500));
            Canvas.Box(-500, -500, 1000, 500, 500, 2000, Shader);

            this.Save(Canvas, "13.png");
        }