EEVEE-Next: Add mesh volume bounds estimation #113731

Merged
Clément Foucault merged 27 commits from fclem/blender:eevee-next-volume-object-bounds into main 2023-10-19 19:22:22 +02:00

27 Commits

Author SHA1 Message Date
Clément Foucault 9396a5a49f Move occupancy geometry call to avoid confusion
buildbot/vexp-code-patch-coordinator Build done. Details
2023-10-19 18:45:54 +02:00
Clément Foucault 8a082e0465 Avoid empty layers submitting commands. 2023-10-19 17:48:53 +02:00
Clément Foucault 4715a9d5a0 Fix shadow tagging not being triggered 2023-10-19 16:59:42 +02:00
Clément Foucault a63d564e13 Merge branch 'main' into eevee-next-volume-object-bounds 2023-10-19 16:51:10 +02:00
Clément Foucault a929eae579 Merge branch 'main' into eevee-next-volume-object-bounds
# Conflicts:
#	source/blender/draw/engines/eevee_next/eevee_volume.cc
2023-10-19 15:55:43 +02:00
Clément Foucault 78a5911afd Address review 2023-10-18 22:04:32 +02:00
Clément Foucault 198ff948e0 Use correct dereference for unique_ptr 2023-10-18 21:47:26 +02:00
Clément Foucault 6122e4b2c4 Add volume ray depth as render setting 2023-10-18 21:26:03 +02:00
Clément Foucault 4e5a12273a Allocate hit list only if needed 2023-10-18 21:06:30 +02:00
Clément Foucault 21f08cc007 Add option to switch between modes, avoid clearing the hit count texture
between layers
2023-10-18 21:06:17 +02:00
Clément Foucault dc145a5317 Merge branch 'main' into eevee-next-volume-object-bounds
buildbot/vexp-code-patch-coordinator Build done. Details
2023-10-18 15:18:48 +02:00
Clément Foucault 158e711474 Add new geometry type for volume object bounds
This allow proper tagging of the bounding box froxels
2023-10-18 15:17:17 +02:00
Clément Foucault a269802a0f Add infinite projection matrix 2023-10-18 11:06:43 +02:00
Clément Foucault f05798e55a Small fixes for metal 2023-10-18 11:02:32 +02:00
Clément Foucault a5caa73975 Metal: Add atomicOr support 2023-10-18 00:02:28 +02:00
Clément Foucault a3d855d2b8 Implement new method for correct intersection or arbitrary geometry 2023-10-17 21:27:46 +02:00
Clément Foucault 5db36b4367 Add occupancy bits and new functions 2023-10-17 13:14:04 +02:00
Clément Foucault c33e74aba9 Fix missing passes for volume objects 2023-10-16 00:33:11 +02:00
Clément Foucault ad42a6a614 Fix wrong default material 2023-10-16 00:03:07 +02:00
Clément Foucault f54dc53b4a Implement volume layers 2023-10-15 21:44:41 +02:00
Clément Foucault 23564fb84f Invert the occupancy bit befor XORing to fix near geometry 2023-10-15 17:15:01 +02:00
Clément Foucault f0b018e3d6 Merge branch 'main' into eevee-next-volume-object-bounds 2023-10-15 15:15:44 +02:00
Clément Foucault 0754cca812 Fix on Metal 2023-10-15 01:28:18 +02:00
Clément Foucault 1119b0572d Finish and add tests 2023-10-14 23:17:57 +02:00
Clément Foucault 99afe8aaf2 Make the bulk of the algorithm work 2023-10-14 20:06:09 +02:00
Clément Foucault 2249d08d1f EEVEE-Next: Add occupancy map for volumes 2023-10-14 17:16:18 +02:00
Clément Foucault 1d8dc0ddce Add MSL imageAtomicXor support 2023-10-14 17:07:38 +02:00