/// <summary> /// Clears the specified depth stencil buffer. See <see cref="Textures+and+render+targets"/> to learn how to use it. /// </summary> /// <param name="depthStencilBuffer">The depth stencil buffer.</param> /// <param name="options">The options.</param> /// <param name="depth">The depth.</param> /// <param name="stencil">The stencil.</param> /// <exception cref="System.InvalidOperationException"></exception> public void Clear(Texture depthStencilBuffer, DepthStencilClearOptions options, float depth = 1, byte stencil = 0) { if (depthStencilBuffer == null) { throw new ArgumentNullException("depthStencilBuffer"); } var flags = ((options & DepthStencilClearOptions.DepthBuffer) != 0) ? SharpDX.Direct3D11.DepthStencilClearFlags.Depth : 0; // Check that the DepthStencilBuffer has a Stencil if Clear Stencil is requested if ((options & DepthStencilClearOptions.Stencil) != 0) { if (!depthStencilBuffer.HasStencil) { throw new InvalidOperationException(string.Format(FrameworkResources.NoStencilBufferForDepthFormat, depthStencilBuffer.ViewFormat)); } flags |= SharpDX.Direct3D11.DepthStencilClearFlags.Stencil; } NativeDeviceContext.ClearDepthStencilView(depthStencilBuffer.NativeDepthStencilView, flags, depth, stencil); }
/// <summary> /// Clear backbuffer and zbuffer /// </summary> /// <param name="color">background color</param> public void Clear(Color4 color) { NativeDeviceContext.ClearRenderTargetView(backBufferView, color); NativeDeviceContext.ClearDepthStencilView(depthStencilView, DepthStencilClearFlags.Depth, 1.0F, 0); }