EEVEE Next: Volumes #107176

Merged
Miguel Pozo merged 126 commits from pragma37/blender:pull-eevee-next-volumes into main 2023-08-04 16:47:22 +02:00

126 Commits

Author SHA1 Message Date
Miguel Pozo 90b5038d0b Cleanup 2023-08-04 16:32:17 +02:00
Miguel Pozo ddf2beaaa3 Merge branch 'main' into pull-eevee-next-volumes 2023-08-04 15:59:41 +02:00
Miguel Pozo 94a952cbc2 Return volume MaterialPass from material_array_get 2023-08-04 15:56:04 +02:00
Miguel Pozo f69f285b47 Move volume.draw_resolve call to ForwardPipeline::render 2023-08-04 15:50:19 +02:00
Miguel Pozo f49a8fe437 Fix lookdev mode after f07ba42ce7 2023-08-03 21:23:39 +02:00
Miguel Pozo 2a7dc84325 Skip world volume pass if there's no valid shader 2023-08-03 20:33:14 +02:00
Miguel Pozo 5c6d735dc3 Defer world volume shader compilation 2023-08-02 19:01:56 +02:00
Miguel Pozo f07ba42ce7 Move pipelines.world_volume.sync call to World class 2023-08-02 18:10:22 +02:00
Miguel Pozo 94a844af99 Add MaterialPass volume to Material 2023-08-02 18:09:14 +02:00
Miguel Pozo efb353b640 Fix world volume shader resource bindings 2023-08-01 20:19:56 +02:00
Miguel Pozo b6e3301218 Cleanup material_create_info_ammend 2023-08-01 19:41:23 +02:00
Miguel Pozo 6239db1818 Cleanups 2023-08-01 19:25:27 +02:00
Miguel Pozo 61d1a702ec Fix object_sync 2023-08-01 19:25:10 +02:00
Miguel Pozo f7a9846912 Merge branch 'main' into pull-eevee-next-volumes 2023-07-31 13:12:20 +02:00
Miguel Pozo 97219e44a5 Cleanup: Use proper terminology for transmittance/extinction 2023-07-31 13:04:27 +02:00
Miguel Pozo f06a64d768 Cleanup: Rename image properties 2023-07-31 13:04:27 +02:00
Miguel Pozo 2f52c6d5db Improve volume sampling
Decorrelate it from camera jitter offset.
2023-07-31 13:03:40 +02:00
Miguel Pozo aa8d4dd14e Fix volume compositing with transparent materials 2023-07-25 18:30:59 +02:00
Miguel Pozo fff3db83e6 Merge branch 'main' into pull-eevee-next-volumes 2023-07-20 19:47:12 +02:00
Miguel Pozo ee0aadd927 Merge branch 'main' into pull-eevee-next-volumes 2023-07-20 19:45:10 +02:00
Miguel Pozo 3184263b75 Fix final image rendering 2023-07-17 20:29:10 +02:00
Miguel Pozo 62f5f00746 Fix orthographic camera support 2023-07-17 16:57:30 +02:00
Miguel Pozo 43d3f340dd Move ndc_to_volume to shader_shared 2023-07-17 13:41:37 +02:00
Miguel Pozo 53befe96a8 Merge branch 'main' into pull-eevee-next-volumes 2023-07-17 13:36:04 +02:00
Miguel Pozo 94fd17e8f6 Merge branch 'main' into pull-eevee-next-volumes 2023-07-03 15:11:25 +02:00
Miguel Pozo d8448afe2a Add volume prefix to volume lib 2023-07-03 15:10:03 +02:00
Miguel Pozo 4021648ffc Add required resources to top comment 2023-07-03 15:09:13 +02:00
Miguel Pozo c31c00d58b Rename volume object pass 2023-07-03 15:08:09 +02:00
Miguel Pozo a7f25d4910 Remove framebuffers 2023-07-03 15:07:32 +02:00
Miguel Pozo 8f01b00199 Merge branch 'main' into pull-eevee-next-volumes 2023-07-03 12:25:25 +02:00
Miguel Pozo 7facdfe80d Merge branch 'main' into pull-eevee-next-volumes 2023-06-29 18:51:09 +02:00
Miguel Pozo 9d3ee581b9 Remove id.name references 2023-06-29 18:37:46 +02:00
Miguel Pozo 1e331a624e Fix sampler overlap 2023-06-27 16:35:46 +02:00
Miguel Pozo 60e36a9632 Merge branch 'main' into pull-eevee-next-volumes 2023-06-27 16:12:10 +02:00
Miguel Pozo 1060d4564b Volume Light Pass 2023-06-01 16:17:53 +02:00
Miguel Pozo ec966566ba Merge branch 'main' into pull-eevee-next-volumes 2023-06-01 15:25:28 +02:00
Miguel Pozo c4c3f9e7b3 Fix scenes without worlds or world nodes 2023-05-16 17:37:27 +02:00
Miguel Pozo 4099758f8c Merge branch 'main' into pull-eevee-next-volumes 2023-05-16 17:09:02 +02:00
Miguel Pozo 12a9cbc6f2 Cleanup resolve info and add todo 2023-05-16 17:07:46 +02:00
Miguel Pozo 73ce63772b light_volume_light_vector -> light_shape_vector_get
Make the lighting API work like eevee_light_lib.
2023-05-16 17:01:52 +02:00
Miguel Pozo 0d7b1eb0e3 Remove unused globals, use updated naming conventions 2023-05-16 17:00:04 +02:00
Miguel Pozo 9b7cb8c137 Remove unused global attributes 2023-05-16 16:38:46 +02:00
Miguel Pozo 95ae0ede67 Merge branch 'main' into pull-eevee-next-volumes 2023-05-16 15:37:30 +02:00
Miguel Pozo 0bd14fe7e8 Remove VOLUME_CLEAR 2023-05-12 13:10:33 +02:00
Miguel Pozo 8562169f24 make format 2023-05-12 12:50:06 +02:00
Miguel Pozo d3d3d6b0b3 Fix anisotropy 2023-05-12 12:45:29 +02:00
Miguel Pozo 96483c8291 Move volume_z_to_view_z and view_z_to_volume_z to shader_shared 2023-05-11 21:11:31 +02:00
Miguel Pozo e114ee721f return pass ptr from volume_sub_pass 2023-05-11 20:28:50 +02:00
Miguel Pozo 09a3f0a991 Move World Volume pass to eevee_pipeline 2023-05-11 20:01:48 +02:00
Miguel Pozo fa1c043803 Cleanup: EEVEE Volume code style 2023-05-11 18:33:36 +02:00
Clément Foucault 3bd94f9551 Fix missing usage flag for metal 2023-05-10 14:29:16 +02:00
Clément Foucault 4343418581 Fix erroneous UBO size 2023-05-09 19:57:54 +02:00
Clément Foucault c1c75e6109 Cleanup codestyle & missing binds 2023-05-09 19:57:23 +02:00
Clément Foucault 0271234e0a Merge branch 'main' into pull-eevee-next-volumes 2023-05-08 19:25:06 +02:00
Clément Foucault f8bf15af0b Use sampling class instead of `set_jitter` 2023-05-08 19:24:37 +02:00
Foucault Clément 52251dcb0a Fix codestyle 2023-05-08 19:15:32 +02:00
Clément Foucault 013d5198ef Fix GLSL codestyle 2023-05-08 19:15:15 +02:00
Clément Foucault 0566453d02 Fix compilation issues on Mac and remove unecessary binds 2023-05-08 19:15:02 +02:00
Miguel Pozo b186b14727 cleanup 2023-04-24 16:10:52 +02:00
Miguel Pozo 5804390463 Remove eevee_volume_resolve_common 2023-04-24 16:10:02 +02:00
Miguel Pozo f8ecbd0a4e Code style 2023-04-24 16:10:02 +02:00
Miguel Pozo 6abf2ad2a9 Add TODOs 2023-04-24 16:10:02 +02:00
Miguel Pozo 26e0e79a0f Update comments and header layout 2023-04-24 16:10:02 +02:00
Miguel Pozo 4f7f51fa08 Rename Volumes to VolumeModule 2023-04-24 16:10:02 +02:00
Miguel Pozo c38e8b389a Duplicate UI panels 2023-04-24 12:35:35 +02:00
Miguel Pozo 570521044a Optimize GPU barrier placement in sync_object 2023-04-20 18:48:06 +02:00
Miguel Pozo fc76bbba57 rename depth_params 2023-04-20 15:32:26 +02:00
Miguel Pozo 09aca99e37 cleanup 2023-04-20 15:32:26 +02:00
Miguel Pozo 368e9b6a82 cleanups 2023-04-20 15:32:26 +02:00
Miguel Pozo 5b91144b7d cleanup image bindings 2023-04-20 15:32:26 +02:00
Miguel Pozo eef7f709cc rename transmit_tx to extinction_tx 2023-04-20 15:32:26 +02:00
Miguel Pozo 80ac054b38 Cleanup barriers 2023-04-20 15:32:26 +02:00
Miguel Pozo 79750c4087 Optimization 2023-04-20 15:32:26 +02:00
Miguel Pozo 2dcb8ab5d7 Compute based materials 2023-04-20 15:32:25 +02:00
Miguel Pozo 6cf9806368 Compute based integration 2023-04-20 15:32:25 +02:00
Miguel Pozo ca7a7c6e0c Compute based scatter 2023-04-20 15:32:25 +02:00
Miguel Pozo 12de1c473d Compute based clear 2023-04-20 15:32:25 +02:00
Miguel Pozo 9f0908618d Transparent surface integration 2023-04-20 15:32:25 +02:00
Miguel Pozo c2ad5879a8 Cleanup scatter/transmit textures 2023-04-20 15:32:25 +02:00
Miguel Pozo 8582084c95 Cleanup 2023-04-20 15:32:25 +02:00
Miguel Pozo 08baf7ceff Fix integration start/end 2023-04-20 15:32:25 +02:00
Miguel Pozo b0c59392c8 Volume Pipeline 2023-04-20 15:32:25 +02:00
Miguel Pozo d590a6c597 Cleanup 2023-04-20 15:32:25 +02:00
Miguel Pozo cb9b1e24fb Fix volume alpha blending 2023-04-20 15:32:25 +02:00
Miguel Pozo 8cfc580ab8 MAT_GEOM_VOLUME refactor 2023-04-20 15:32:25 +02:00
Miguel Pozo 83bd5ee3b8 Cleanup 2023-04-20 15:32:25 +02:00
Miguel Pozo 7cc36dbf08 Volume Light Clamping 2023-04-20 15:32:25 +02:00
Miguel Pozo cbcd30ce61 Fix mesh volume rendering 2023-04-20 15:32:25 +02:00
Miguel Pozo ee0181e871 Port volume closures 2023-04-20 15:32:24 +02:00
Miguel Pozo d546c42024 Match current EEVEE display type behavior 2023-04-20 15:32:24 +02:00
Miguel Pozo 06127e1ea5 Don't render volume domains 2023-04-20 15:32:24 +02:00
Miguel Pozo a61403870d fix volume object transform 2023-04-20 15:32:24 +02:00
Miguel Pozo b09f5275eb Initial volume lighting 2023-04-20 15:32:24 +02:00
Miguel Pozo c43657983d Bind volume materials resources 2023-04-20 15:32:24 +02:00
Miguel Pozo 86cc351af2 Temp: Disable lighting 2023-04-20 15:32:24 +02:00
Miguel Pozo 3740757ae7 cleanup 2023-04-20 15:32:24 +02:00
Miguel Pozo d43e090aed codegen improvements 2023-04-20 15:32:24 +02:00
Miguel Pozo 9569c12db2 Volume material attributes 2023-04-20 15:32:24 +02:00
Miguel Pozo 9a96591730 codegen improvements 2023-04-20 15:32:24 +02:00
Miguel Pozo 281aaa4dad move prev_view_projection_matrix to VolumesData 2023-04-20 15:32:24 +02:00
Miguel Pozo 1d6d6ecdb5 fixes 2023-04-20 15:32:24 +02:00
Miguel Pozo 08122321c4 fixes 2023-04-20 15:32:24 +02:00
Miguel Pozo a51c808ba5 Cleanup 2023-04-20 15:32:24 +02:00
Miguel Pozo fc596057c8 fix volumes_buf binding 2023-04-20 15:32:23 +02:00
Miguel Pozo 46ec1aab4b Cleanups and comments 2023-04-20 15:32:23 +02:00
Miguel Pozo b3c0550100 scatter pass fixes 2023-04-20 15:32:23 +02:00
Miguel Pozo 7999a3adab add integration_fb_ 2023-04-20 15:32:23 +02:00
Miguel Pozo f01250fe22 Add depth_tx 2023-04-20 15:32:23 +02:00
Miguel Pozo 1197ad1abc Use PassSimple where possible 2023-04-20 15:32:23 +02:00
Miguel Pozo c08e11bb28 implemnt volume_sub_pass as a template 2023-04-20 15:32:23 +02:00
Miguel Pozo 76888a83e9 Fix draw_procedural support for PassMain 2023-04-20 15:32:23 +02:00
Miguel Pozo bcc6789520 Revert "Use PassMain"
This reverts commit 073764391eb4aa8cb868946d37d6f2f716cb30d6.
2023-04-20 15:32:23 +02:00
Miguel Pozo 8a9039c4e7 Use PassMain 2023-04-20 15:32:23 +02:00
Miguel Pozo 116d7ab4e2 Volume materials (WIP) 2023-04-20 15:32:23 +02:00
Miguel Pozo 48b28e5033 Fix and workaround compilation issues 2023-04-20 15:32:23 +02:00
Miguel Pozo 97aa7cc8d6 fix volume_sub_pass usage 2023-04-20 15:32:23 +02:00
Miguel Pozo 4acd77f0b5 Bind volumes_buf 2023-04-20 15:32:23 +02:00
Miguel Pozo b22b3f7472 draw volume objects 2023-04-20 15:32:23 +02:00
Miguel Pozo 9c93da1825 fix camera data sync 2023-04-20 15:32:22 +02:00
Miguel Pozo 1f7518e1d9 Fix shader compilation errors 2023-04-20 15:32:22 +02:00
Miguel Pozo 31520fd7d3 Add Volumes to Instance 2023-04-20 15:32:22 +02:00
Miguel Pozo 0c96eb9a2c cleanup 2023-04-20 15:32:22 +02:00
Miguel Pozo a9fb20a6f1 Split eevee_volumes header/implementation 2023-04-20 15:32:22 +02:00
Miguel Pozo d74af81bc6 eevee_volume shaders port (starting point) 2023-04-20 15:32:22 +02:00
Miguel Pozo 9b699272d5 eevee_volumes port (starting point) 2023-04-20 15:32:22 +02:00
Miguel Pozo 72f68ca2b3 Port draw_volume to the new Draw Manager 2023-04-20 15:32:22 +02:00