public void TestRenderReferenceOutlinesInWPF() { var renderTarget = new WPFRenderTarget(512, 512); renderTarget.Draw(DrawDirectVsPolygon); AttachmentInfo .From("referenceWPF.png") .WriteObject(f => renderTarget.SaveToPNG(f)); }
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)); }
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")); }