public void OnWindowResize(DXManager dxman) { DisposeBuffers(); var device = dxman.device; int uw = Width = dxman.backbuffer.Description.Width * SSAASampleCount; int uh = Height = dxman.backbuffer.Description.Height * SSAASampleCount; Viewport = new ViewportF(); Viewport.Width = (float)uw; Viewport.Height = (float)uh; Viewport.MinDepth = 0.0f; Viewport.MaxDepth = 1.0f; Viewport.X = 0.0f; Viewport.Y = 0.0f; GBuffers = new GpuMultiTexture(device, uw, uh, 4, Format.R8G8B8A8_UNorm, true, Format.D32_Float, MSAASampleCount); WindowSizeVramUsage += GBuffers.VramUsage; SceneColour = new GpuTexture(device, uw, uh, Format.R32G32B32A32_Float, 1, 0, true, Format.D32_Float); WindowSizeVramUsage += SceneColour.VramUsage; }
public void DisposeBuffers() { if (GBuffers != null) { GBuffers.Dispose(); GBuffers = null; } if (SceneColour != null) { SceneColour.Dispose(); SceneColour = null; } WindowSizeVramUsage = 0; }