2024-05-27 EEVEE/Viewport Module Meeting

Practical Info

This is a weekly video chat meeting for planning and discussion of Blender EEVEE/viewport module development. Any contributor (developer, UI/UX designer, writer, …) working on EEVEE/viewport in Blender is welcome to join.

For users and other interested parties, we ask to read the meeting notes instead so that the meeting can remain focused.

  • Google Meet

  • Next Meeting: June 3, 2023, 11:30 AM to 12:00 PM Amsterdam Time (Your local time: 2024-06-03T09:30:00Z2024-06-03T10:00:00Z)

Attendees

  • Clement
  • Jeroen
  • Miguel

EEVEE

  • Many bug fixing in the area of shadows and light; most noteworthy
  • [https://projects.blender.org/blender/blender/commit/f968c99850]: Punctual shadow maps were never tagged as updated and constantly refreshed
  • Adding several options that users were missing in the property panels. (Ray count + step count)
  • [#122232 - GPU: Add GPU_shader_batch_create_from_infos - blender - Blender Projects]: First patch of several to support subprocess based parallel compilation on OpenGL is in review. This will eventually reduce the compilation times. Due to limitations in drivers and how caching is implemented this PR will start new blender processes that will compile the shader, making it possible that multiple shaders can be compiled simultaneously and still be cached in the driver for the right process. A side effect is that at this moment 100MB per process is needed. Users should change the number of processes to use. The shaders itself are stored in shared memory.

Vulkan

  • [#122044 - WIP: Vulkan: Reuse shader modules. - blender - Blender Projects] Experiment with sharing shader modules between shaders to reduce compilation and pipeline creation times. Conclusion is that sharing shader modules will not be resulting in much speedup during compilation. Reason is that the source code is different due to the defines and tracking bytecode would require parsing the spirv code. Spirv bytecode is always different and cannot be used as comparison, without decompiling and removing the meta data. In the end frontend compilation takes 35 seconds for 1400 shaders which isn’t bad. Not sharing shader modules will lead to less reuse of shader pipelines. Experiment can be reviewed when this becomes an actual user facing problem.
  • [#121787 - WIP: Vulkan: First frame - blender - Blender Projects] Work continued on dynamic rendering. Added an create info struct for graphics pipelines. This struct is large and we should find a better way to update it so we don’t redo many parts of the struct. The first goal however is to make it working. Current state is that a pipeline can be created. But it resource links needs to be pushed outwards to a begin/end rendering node. Now the resources are not adapted to how they are used inside a rendering scope.

NPR

  • A meeting took place for reviewing the current design. Next step is to create a technical prototype to flesh out some details, and update the design afterwards.
13 Likes