branchsbox/gpu-light-cullingcancel

3 Commits over 0 Days - ∞cph!

10 Months Ago
GatherVisibleLightsGPU Move depth prepass to be the first pass of everything, we'll use it on lightbinner for light culling from now on Do lightbinning for light culling on render thread when a layer first wants to request lights, guarantees we have a depth pyramid by then If we are on a render thread just do a simple flush for ForceFlushGPU(), we just want the GPU to finish it's work, not clean up things Run lightbinner calculation in render thread & actually on lightbinner layer Light culling tests with depth & light radius on compute shader Flush rather than ForceGPUFlush on CReadGPUBuffer::WaitUntilRead() Finish light visibility test shader, rewrite to be cleaner, temp pass PerViewConstantBuffer_t for g_vDepthPsToVsConversion on layer
10 Months Ago
GatherVisibleLightsGPU Move depth prepass to be the first pass of everything, we'll use it on lightbinner for light culling from now on Do lightbinning for light culling on render thread when a layer first wants to request lights, guarantees we have a depth pyramid by then If we are on a render thread just do a simple flush for ForceFlushGPU(), we just want the GPU to finish it's work, not clean up things Run lightbinner calculation in render thread & actually on lightbinner layer Light culling tests with depth & light radius on compute shader Flush rather than ForceGPUFlush on CReadGPUBuffer::WaitUntilRead()
10 Months Ago
GatherVisibleLightsGPU Move depth prepass to be the first pass of everything, we'll use it on lightbinner for light culling from now on Do lightbinning for light culling on render thread when a layer first wants to request lights, guarantees we have a depth pyramid by then If we are on a render thread just do a simple flush for ForceFlushGPU(), we just want the GPU to finish it's work, not clean up things