internal void Record(CommandBuffer commandbuffer) { ThrowIfDisposed(); scene.BeginDebugMarker(commandbuffer, "BoxBlur"); { renderer.Record(commandbuffer); } scene.EndDebugMarker(commandbuffer); }
internal void Record(CommandBuffer commandbuffer, int swapchainIndex) { ThrowIfDisposed(); scene.BeginDebugMarker(commandbuffer, "G-Buffer"); { renderer.SetPushData(swapchainIndexPushDataBinding, swapchainIndex); renderer.Record(commandbuffer); } scene.EndDebugMarker(commandbuffer); }
internal void Record(CommandBuffer commandbuffer) { ThrowIfDisposed(); scene.BeginDebugMarker(commandbuffer, "Bloom"); { renderer.Record(commandbuffer); //Insert barrier because bloom rendering needs to be done before we can blur it Renderer.InsertOutputReadBarrier(commandbuffer); blurTechnique.Record(commandbuffer); } scene.EndDebugMarker(commandbuffer); }
internal void Record(CommandBuffer commandbuffer, int swapchainIndex) { ThrowIfDisposed(); scene.BeginDebugMarker(commandbuffer, "AmbientOcclusion"); { renderer.SetPushData(swapchainIndexPushDataBinding, swapchainIndex); renderer.SetPushData(targetSizePushBinding, aoTarget.Size); renderer.Record(commandbuffer); //Insert barrier to wait for rendering of ao-target to be done before starting the blurring Renderer.InsertOutputReadBarrier(commandbuffer); blurTechnique.Record(commandbuffer); } scene.EndDebugMarker(commandbuffer); }
internal void Record(CommandBuffer commandbuffer) { ThrowIfDisposed(); scene.BeginDebugMarker(commandbuffer, "GaussianBlur"); { for (int i = 0; i < iterations; i++) { if (i != 0) { //Insert barrier to wait for last blur 'step' to be done Renderer.InsertOutputReadBarrier(commandbuffer); } rendererHor.Record(commandbuffer); //Insert barrier to wait for rendererA is done before starting rendererB Renderer.InsertOutputReadBarrier(commandbuffer); rendererVer.Record(commandbuffer); } } scene.EndDebugMarker(commandbuffer); }