2022-10-17 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 24, 2022, 11:30 AM to 12:00 PM Amsterdam Time (Your local time: 2022-10-24T09:30:00Z2022-10-24T10:00:00Z)


NOTE: Meeting this week didn’t happen, these notes reflects the status reports of what happened last week.

Draw Manager

  • Got all the Lighting (Studio, Matcap, Flat) and Color (Material, Object, Attribute, Single, Random, Texture) modes fully working.
  • Got all the logic for selecting the correct drawing mode based on settings, object mode, and material properties fully working.
  • Implemented “In Front” rendering for the Opaque Pass.
  • Optimized the Opaque Pass to use a single depth texture and avoid unnecessary overdraws when In Front is in use.
  • When Workbench Next is the scene render engine, it will be used on Wire/Solid modes too (Needed for testing some features).
  • Added support for Metallic/Roughness material properties in Texture mode.

Overlay engine

  • We started the overlay engine rewrite to port it to new draw manager. We encountered some technical challenge regarding selection (which is not designed to be part of the new DrawManager). There is more to say about this rewrite but for an early preview see the overlay-next branch. The experimental option needs restart to be working (because of shader difference).
  • Also started refactoring the pointcloud rendering to not use instance rendering (required for new draw manager).

Metal Viewport

  • Address feedback for outstanding Metal PRs
  • Submitted patch for using CreateInfo for EEVEE shaders.
  • Worked on fixing up a few missing features in the Metal backend, in particular, explicit bind location support for all resource types. This was previously supported for textures, but not for UBOs/vertex attributes, which all relied on “automatic” resource index assignment based on addition order.