branchsbox/lightbinner-fixcancel
2 Commits over 0 Days - ∞cph!
Add baked lights after dynamic ones
Move s_LightList out of singleton to the CLightObjectDesc, make other light-like object descriptors use CUtlVectorFixedGrowable instead of linked list ( trashes the cache while iterating ), all of them should be consistent now, use a single light descriptor for all light types
Tiled Culling Renderer buffers shouldn't live in Lightbinner, but instead on CLightCullingRenderer itself since they're rendered per view, so we just reuse that memory, Lightbinners are allocated in a pool, so all that memory was wasted on GPU, remove wasteful copy of binned lights on tiled light callback
Don't generate shadow frusta for unshadowed lights
Separate shadow generation, both shadow maps and the viewproj we pass, into SetupShadowsForLight in Lightbinner, when we do bindless shadows and lightbinner caching, this is where to look for it
Go back to do a copy of current light list for CLightCullVisibilityReadback, callbacks can have latency longer than one frame and that list could change
Partial backport of ISceneObjectDesc::OnSceneObjectVisibleInView
Add lights to lightbinner through CLightObjectDesc::OnSceneObjectVisibleInView instead of LightBinnerStandard::AddLights