1 Year Ago
Moved tiled rendering buffers to lightbinner, where it should belong Remove members that have long been deprecated, start adding support for structured buffer lights Move all cbuffer stuff to legacy, standard will only have structured buffer path Start implementing structured buffer lights data structure Remove all code for calculating mixed shadows, that'll be all allocated in the main light shadow function, iterate structured buffers Iterate on new lightbinner, let all shadows render through a single rendering path, disregard legacy for now Remove bMixed from LightEntry, it's complete bullshit, let static lights render only dynamic objects when doing shadows Unified shadow casting, map indexed lights so we can fetch them easily and without needing to order sequentially, remove more deprecated stuff Get rid of lightbinner_legacy completely Eliminate legacy per view lighting constants, eliminate mixed shadows, add placeholder to some constants where they should belong Cut more code from lightbinner light allocs, means only spots will alloc properly for now but cleans a lot of this, align cbuffers, add ComputeDirectLightingForLight to unify lighting calculation on shader Remove CSunLightManager, used for old pre-hlvr sun rendering, a lot of code that's only used for dynamic sunlight different to everything else in light rendering Remove more unused parameters from lightbinner Remove remaining crumbs of old sun shadowing, remove unused shadow functions, add bBaked to ComputeDirectLightingForLight Lightcookies and point lights Remove multiview constants from lightbinner, these have been getting in my way, and we need to think a better way to handle instanced viewports, I'm leaving it to a bigger cleanup later Start Envmap support on new lightbinner, remove unused environment_map.fxc Start MATERIAL_LIGHT_DIRECTIONAL support for lightbinner, sets up frusta for lights Fix conflicts from merge that added removed stuff Fixup for directional lights, add dummy ambient lighting for fully dynamic scenes, implement flags properly Fix merge ( g_nNumEnvMaps > NumEnvironmentMaps ) Remove interface definition from Vfx ( It's fucked off from HLSL 2020+ ), add array support to members in classes in Vfx Store multiple frusta on same light definition rather than using sequential lights, makes this simpler, point light shadows