Beispiel #1
0
        public void TestRenderReferenceOutlinesInWPF()
        {
            var renderTarget = new WPFRenderTarget(512, 512);

            renderTarget.Draw(DrawDirectVsPolygon);

            AttachmentInfo
            .From("referenceWPF.png")
            .WriteObject(f => renderTarget.SaveToPNG(f));
        }
Beispiel #2
0
        public void TestRenderBitmap()
        {
            var renderTarget = new WPFRenderTarget(256, 256);

            var charPath  = System.IO.Path.Combine(TestContext.CurrentContext.TestDirectory, "Assets\\PunkRun.png");
            var character = ImageSource.CreateGrid(charPath, 8, 8, (256, 256), (128, 128)).ToArray();

            var tilesPath = System.IO.Path.Combine(TestContext.CurrentContext.TestDirectory, "Assets\\Tiles.jpg");
            var tiles     = ImageSource.CreateFromBitmap(tilesPath, (1024, 1024), (512, 512));

            renderTarget.Draw(dc =>
            {
                dc.DrawLine(new Vector2(2, 2), new Vector2(100, 100), 2, COLOR.SkyBlue);

                dc.DrawEllipse(new Vector2(30, 50), 20, 20, COLOR.Violet);

                dc.DrawImage(Matrix3x2.Identity, tiles);
            });

            AttachmentInfo
            .From("testrender1.png")
            .WriteObject(f => renderTarget.SaveToPNG(f));
        }
Beispiel #3
0
        public void TestPaintersAlgorythmPipeline(string sceneName)
        {
            var scene = new Record3D();

            scene.DrawFloorXZ((-50, 0, -50), (100, 100), 10, COLOR.Green, COLOR.DarkGreen);
            scene.DrawAsset(Matrix4x4.CreateTranslation(0, 5, -10), SceneFactory.CreateRecord3D(sceneName));
            // scene.DrawAsset(Matrix4x4.CreateTranslation(0, 5, 0), SceneFactory.CreateRecord3D(sceneName));
            scene.AttachToCurrentTest("scene.glb");
            scene.AttachToCurrentTest("scene.html");

            // render scene with WPF

            var renderTarget = new WPFRenderTarget(1024, 1024);

            renderTarget.Draw(dc =>
            {
                PerspectiveTransform
                .CreateLookingAtCenter((dc, 1024, 1024), (10, 5, 30))
                .DrawScene(scene);
            });

            AttachmentInfo
            .From($"WPF_{sceneName}.png")
            .WriteObject(f => renderTarget.SaveToPNG(f));

            // render with MemoryBitmap

            var mem = new Bitmaps.MemoryBitmap(1024, 1024, Bitmaps.Pixel.RGBA32.Format);
            var mdc = Backends.InteropDrawing.CreateDrawingContext(mem);

            PerspectiveTransform
            .CreateLookingAtCenter((mdc, 1024, 1024), (10, 5, 30))
            .DrawScene(scene);

            mem.Save(new AttachmentInfo($"Span_{sceneName}.png"));
        }