コード例 #1
0
            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";
            }
コード例 #2
0
        /// <summary cref="DisposeBase.Dispose(bool)"/>
        protected override void Dispose(bool disposing)
        {
            ResourceView?.Dispose();
            ResourceView = null;

            UnorderedAccessView?.Dispose();
            UnorderedAccessView = null;
        }
コード例 #3
0
 public void Dispose()
 {
     Map?.Dispose();
     Map = null;
     ResourceView?.Dispose();
     ResourceView = null;
     View?.Dispose();
     View = null;
 }
コード例 #4
0
 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();
     }
 }
コード例 #5
0
 // 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();
     }
 }
コード例 #6
0
 public void Dispose()
 {
     ResourceView.Dispose();
 }
コード例 #7
0
ファイル: ShipView.cs プロジェクト: MarkZaytsev/ProjectDemo
 private void OnDestroy()
 {
     _health.Dispose();
     _shield.Dispose();
 }