public void Create(SharpDX.Direct3D11.Device device, int Width, int Height) { Dispose(); textureDescription.Width = Width; textureDescription.Height = Height; //textureDescription.Format = Format.R32_Typeless; textureDescription.SampleDescription = new SampleDescription(SamplesCount, 0); Map = new Texture2D(device, textureDescription); Map.DebugName = Name + "Map"; ResourceView?.Dispose(); //shaderResourceDescription.Format = Format.R32_Float; shaderResourceDescription.Dimension = SamplesCount > 1 ? ShaderResourceViewDimension.Texture2DMultisampled : ShaderResourceViewDimension.Texture2D; ResourceView = new ShaderResourceView(device, Map, shaderResourceDescription); ResourceView.DebugName = Name + "SRV"; View?.Dispose(); //DSViewDescription.Format = Format.D32_Float; DSViewDescription.Dimension = SamplesCount > 1 ? DepthStencilViewDimension.Texture2DMultisampled : DepthStencilViewDimension.Texture2D; View = new DepthStencilView(device, Map, DSViewDescription); View.DebugName = Name + "RTV"; }
/// <summary cref="DisposeBase.Dispose(bool)"/> protected override void Dispose(bool disposing) { ResourceView?.Dispose(); ResourceView = null; UnorderedAccessView?.Dispose(); UnorderedAccessView = null; }
public void Dispose() { Map?.Dispose(); Map = null; ResourceView?.Dispose(); ResourceView = null; View?.Dispose(); View = null; }
protected override void Dispose(bool isDisposing) { if (ResourceView != null && !ResourceView.IsDisposed) { ResourceView.Dispose(); } if (RenderView != null && !RenderView.IsDisposed) { RenderView.Dispose(); } if (Texture != null && !Texture.IsDisposed) { Texture.Dispose(); } }
// Viewに関連付けられているResourceもDispose public static void Dispose(ResourceView obj) { if (obj == null) { return; } if (!obj.Disposed) { Resource resource = obj.Resource; if (!resource.Disposed) { resource.Dispose(); } obj.Dispose(); } }
public void Dispose() { ResourceView.Dispose(); }
private void OnDestroy() { _health.Dispose(); _shield.Dispose(); }