public void TestMultiamplingTypes(MultisampleType multisampleType) { var deviceWorkerSettings = new DeviceWorker.DeviceSettings { AutoDetermineMultisampleType = false, MultisampleType = multisampleType }; DirectXScene scene = null; OffscreenDirectXDrawer offscreenDrawer = null; try { var deviceWorker = new DeviceWorker(deviceWorkerSettings); using(var renderTarget = deviceWorker.Device.GetRenderTarget(0)) Assert.AreEqual(multisampleType, renderTarget.Description.MultisampleType); scene = new DirectXScene(deviceWorker, _rootBody, null); offscreenDrawer = new OffscreenDirectXDrawer(scene, Width, Height, ImageFormat); _rootBody.Add(RedBox); var camera = new TopViewCamera(new Frame3D(0, 0, 200), Width / Height); byte[] bitmapBytes; offscreenDrawer.TryGetImage(camera, out bitmapBytes); var bitmap = new Bitmap(new MemoryStream(bitmapBytes)); CheckImageSize(Width, Height, bitmap); CheckBitmapCenter(bitmap, Color.Red); } finally { if(offscreenDrawer != null) offscreenDrawer.Dispose(); if(scene != null) scene.DeviceWorker.TryDispose(); } }
internal DirectXScene(DeviceWorker deviceWorker, Body root, Body floor) { DeviceWorker = deviceWorker; RootBody = root; Floor = floor; //TODO. get rid of floor by determining intersection List <Light> lights = SceneConfig.Lights.Select(lightSetting => lightSetting.ToDirectXLight()).ToList(); DeviceWorker.Disposing += Dispose; Effect = new DefaultEffect(DeviceWorker.Device, lights); DeviceWorker.AfterReset += Effect.Reset; Models = new Dictionary <Body, DirectXModel>(new BodyComparer()); _modelFactory = new DirectXModelFactory(DeviceWorker.Device); }
public void TestMultiamplingTypes(MultisampleType multisampleType) { var deviceWorkerSettings = new DeviceWorker.DeviceSettings { AutoDetermineMultisampleType = false, MultisampleType = multisampleType }; DirectXScene scene = null; OffscreenDirectXDrawer offscreenDrawer = null; try { var deviceWorker = new DeviceWorker(deviceWorkerSettings); using (var renderTarget = deviceWorker.Device.GetRenderTarget(0)) Assert.AreEqual(multisampleType, renderTarget.Description.MultisampleType); scene = new DirectXScene(deviceWorker, _rootBody, null); offscreenDrawer = new OffscreenDirectXDrawer(scene, Width, Height, ImageFormat); _rootBody.Add(RedBox); var camera = new TopViewCamera(new Frame3D(0, 0, 200), Width / Height); byte[] bitmapBytes; offscreenDrawer.TryGetImage(camera, out bitmapBytes); var bitmap = new Bitmap(new MemoryStream(bitmapBytes)); CheckImageSize(Width, Height, bitmap); CheckBitmapCenter(bitmap, Color.Red); } finally { if (offscreenDrawer != null) { offscreenDrawer.Dispose(); } if (scene != null) { scene.DeviceWorker.TryDispose(); } } }
public void SetUp() { _deviceWorker = new DeviceWorker(); _converter = new DirectXBrushConverter(_deviceWorker.Device); }
public void SetUp() { _deviceWorker = new DeviceWorker(); _converter = new DirectXBrushConverter(_deviceWorker.Device); }
public void SetUp() { _deviceWorker = new DeviceWorker(); _device = _deviceWorker.Device; _modelFactory = new DirectXModelFactory(_device); }
public void SetUp() { _deviceWorker = new DeviceWorker(); _device = _deviceWorker.Device; _modelFactory = new DirectXModelFactory(_device); }
public void Setup() { _deviceWorker = new DeviceWorker(); _device = _deviceWorker.Device; }
public void Setup() { _deviceWorker = new DeviceWorker(); _device = _deviceWorker.Device; }