static public void DisposeAll() { effect.Dispose(); renderview.Dispose(); backbuffer.Dispose(); device.Dispose(); swapchain.Dispose(); Diffuse.Dispose(); Diffuse2.Dispose(); Diffuse3.Dispose(); BumpMap.Dispose(); Reflection.Dispose(); DiffuseResource.Dispose(); Diffuse2Resource.Dispose(); Diffuse3Resource.Dispose(); BumpMapResource.Dispose(); ReflectionResource.Dispose(); for (int i = 0; i < Boxes.Count; i++) { Boxes[i].VertexStream.Dispose(); } Boxes.Clear(); BoxMatrices.Clear(); for (int i = 0; i < Engine.Actors.Count; i++) { //jak to dokladnie nalezy zdisposowac ? Engine.Actors[i].Dispose(); } }
static public void DisposeAll() { effect.Dispose(); renderview.Dispose(); backbuffer.Dispose(); device.Dispose(); swapchain.Dispose(); }
internal static void EnsureD3D10() { if (Factory == null) { SlimDX.Direct3D10.Device device = new SlimDX.Direct3D10.Device(DeviceCreationFlags.None); device.Dispose(); Factory = new Factory(); } }
protected override void OnExit(ExitEventArgs e) { if (D3DDevice != null) { D3DDevice.Dispose(); D3DDevice = null; } base.OnExit(e); }
public void Destroy() { if (device != null) { if (device.OutputMerger.BlendState != null) { device.OutputMerger.BlendState.Dispose(); } device.Dispose(); } if (vertexBuffer != null) { vertexBuffer.Dispose(); } if (texture != null) { texture.Dispose(); } if (renderTargetView != null) { renderTargetView.Dispose(); } if (swapChain != null) { swapChain.Dispose(); } if (effect != null) { effect.Dispose(); } if (inputLayout != null) { inputLayout.Dispose(); } if (textureView != null) { textureView.Dispose(); } if (messageSprite != null) { messageSprite.Dispose(); } if (charSheet != null) { charSheet.Dispose(); } if (spriteView != null) { spriteView.Dispose(); } }
public void Dispose() { StopRender(); WaitForCompletion(); foreach (var view in views) { view.Dispose(); } debugFont.Dispose(); instanceBuffer.Dispose(); device.Dispose(); swapChain.Dispose(); }
static void EnumerateDevices(AdapterInfo10 adapterInfo) { DriverType[] allowedTypes = { DriverType.Hardware, DriverType.Reference }; foreach (DriverType type in allowedTypes) { if (MinimumSettings != null && type != MinimumSettings.DeviceType) { continue; } DeviceInfo10 deviceInfo = new DeviceInfo10(); deviceInfo.AdapterOrdinal = adapterInfo.AdapterOrdinal; deviceInfo.DriverType = type; SlimDX.Direct3D10.Device device; try { Adapter adapter = null; if (type == DriverType.Hardware) { adapter = adapterInfo.Adapter; } device = new SlimDX.Direct3D10.Device(adapter, type, DeviceCreationFlags.None); } catch (Direct3D10Exception) { // swallow the exception continue; } // if the driver type is not hardware, create a DXGI device and GetAdapter // from it to replace adapterInfo.Adapter if (type != DriverType.Hardware) { SlimDX.DXGI.Device dxgiDevice = new SlimDX.DXGI.Device(device); if (adapterInfo.Adapter != null) { adapterInfo.Adapter.Dispose(); } adapterInfo.Adapter = dxgiDevice.Adapter; dxgiDevice.Dispose(); } device.Dispose(); adapterInfo.Devices.Add(deviceInfo); } }
protected override void Dispose(bool disposing) { //batchManager.Dispose(); //kBufferManager.Dispose(); //visualEffectManager.Dispose(); defaultBlendState.Dispose(); defaultRasterizerState.Dispose(); defaultDepthStencilState.Dispose(); defaultRenderTargetView.Dispose(); swapChain.Dispose(); device.Dispose(); factory.Dispose(); }
static void BuildMultisampleList(Format backBufferFormat, SettingsCombo10 combo) { Adapter adapter = null; if (combo.DriverType == DriverType.Hardware) { adapter = GraphicsDeviceManager.Factory.GetAdapter(combo.AdapterOrdinal); } SlimDX.Direct3D10.Device device; try { device = new SlimDX.Direct3D10.Device(adapter, combo.DriverType, DeviceCreationFlags.None); } catch (Direct3D10Exception) { // no good if (adapter != null) { adapter.Dispose(); } return; } for (int i = 1; i <= SlimDX.Direct3D10.Device.MultisampleCountMaximum; i++) { try { int quality = device.CheckMultisampleQualityLevels(backBufferFormat, i); combo.MultisampleCounts.Add(i); combo.MultisampleQualities.Add(quality); } catch (Direct3D10Exception) { // eat the exception } } device.Dispose(); if (adapter != null) { adapter.Dispose(); } }
/// <summary> /// Releases unmanaged and - optionally - managed resources /// </summary> /// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param> protected override void Dispose(bool disposing) { if (!base.IsDisposed) { if (disposing) { //Clear references Array.Clear(_currentVertexBuffers, 0, _currentVertexBufferCount); Array.Clear(_vertexBindings, 0, _currentVertexBufferCount); _renderTargetManager.ClearAll(); _tracker.ReleaseAllResources(); _graphicsDevice.ClearState(); _graphicsDevice.Dispose(); _factory.Dispose(); } base.Dispose(disposing); #if DEBUG System.Diagnostics.Debug.Write(SlimDX.ObjectTable.ReportLeaks()); #endif } }