WIP: EEVEE-Next: Add light spread support #119574

Draft
Clément Foucault wants to merge 12 commits from fclem/blender:eevee-next-lightspread into main

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.

12 Commits

Author SHA1 Message Date
Clément Foucault db2420f594 Fix form factor solution 2024-03-24 22:37:49 +01:00
Clément Foucault ea8a609eec Add back corners of the light. Don't do anything with them at the moment 2024-03-24 22:27:33 +01:00
Clément Foucault 815c08bd18 Add correct intersection function for cone hemisphere area intersection 2024-03-24 22:26:20 +01:00
Clément Foucault 6bdedc4483 Remove unused code and cleanup 2024-03-23 09:04:47 +01:00
Clément Foucault 062d45148b Fix rectangle 2024-03-22 20:57:28 +01:00
Clément Foucault c4797d9f7c More prototyping. Working solution for elipses 2024-03-22 00:35:04 +01:00
Clément Foucault cc2ceba8dc Add spread property to UI 2024-03-18 20:59:59 +01:00
Clément Foucault 4b0a6b96ed Add crude approximation for ellipses 2024-03-17 00:56:13 +01:00
Clément Foucault 4ea57535d2 Cleanup 2024-03-17 00:55:56 +01:00
Clément Foucault cdfc1e8749 Add optimized version for disk light 2024-03-16 23:53:30 +01:00
Clément Foucault 2a283e5f26 Add implementation for rectangle lights 2024-03-16 23:36:08 +01:00
Clément Foucault 6c291c05a8 EEVEE-Next: Add light spread support
This is just a proof of concept.

This only supports disk lights. Computing for square and
elipses might prove to be more difficult.

This has energy problem as the cycles version does
focuses the light to keep the light power constant.
This version only masks the lighting. Which still
gives correct lighting intensity around the light
but it decays too fast.
However, this raises question about the bounds of the
light: Should they be increased to account for the
focussing? Should we also cull them better in the
light culling phase?

Also the two `acos` are quite expensive. We might want
to have a more simpler expression.
2024-03-16 20:08:47 +01:00