2023-10-02 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: October 9, 2023, 11:30 AM to 12:00 PM Amsterdam Time (Your local time: 2023-10-09T09:30:00Z2023-10-09T10:00:00Z)

Attendees:

  • Clement
  • Jeroen
  • Michael
  • Miguel
  • Omar

Blender 4.0

  • Fixed performance regression in workbench. Was related to pool textures and was fixed by adding a delay to the garbage collection.
  • There is a performance regression when resizing the viewport. Fix is still in development.

EEVEE-Next

  • Added Metal tinting for EEVEE and EEVEE Next.
  • Shadow tracing and SSS Refactor merged in main.
  • There are now two implementation of shadow mapping. One is more performant on Apple Silicon making use of the tiled rendering of the GPU architecture. We made sure that both implementations can run on each hardware for debugging.

Vulkan

  • When using GPU_PRIM_POINTS the shader needs set gl_PointSize before entering the fragment stage. Some code-paths in Blender didn’t use the correct shader. The Vulkan backend will assert in case it detects a shader mismatch between shader and primitive type.
  • Worked on Vulkan support when using Wayland. The challenge is that Wayland doesn’t have the concept of a window and the application is mostly responsible for common window tasks like resizing. Wayland has a wrapper wl_egl that is used to keep track of the window size. Although EGL is a cross platform API wrapper around OpenGL and OpenGL ES and not Vulkan, after reviewing its we decided to reuse this component, as it is lightweight and provides missing pieces. [#113007 - Vulkan: Wayland Windowing - blender - Blender Projects]
  • Preparing a patch to enable Vulkan as an experimental option for Blender 4.1 alpha builds. The goal is to get feedback on its current platform support and if there are areas that we aren’t aware of that isn’t working. [#113057 - Vulkan: Enable as Experimental Option - blender - Blender Projects]. Don’t expect a usable Blender version as performance and feature parity is still ongoing.

Compositor

  • Some refactoring to speed up the performance of jump flooding. Better performance and more precision.
  • Currently looking into adding full float support for the GPU compositor. For precision issues and cryptomatte. During the meeting we discussed an approach for this. The idea is to duplicate the shaders in the compositor shaders class and patch the create infos locally. As this has GPU bandwidth concerns we don’t want to automatically add support for this in the GPU module.
12 Likes

Would GPU compositor resolve discrepancies between Viewport Fog Glow vs CPU based solution used in rendering window (in Viewport fog glow is bigger than in final render)?

3 Likes

Eventually, yes. But it will take some time.

3 Likes

Using the latest alpha build of 4.1 for Apple Silicon I’m not getting any shadows cast by objects. Diffuse from lights seems to be working, but shadows aren’t cast. Is this expected for now?