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

Attendees:

  • Miguel Pozo
  • Michael Parkin-White
  • Omar Emara
  • Clément Foucault
  • Jeroen Bakker

Issues

  • Last week some issues have been addressed that have been raised by the Project Heist team.
  • Also some issues related to recent changes and introduction of the Metal backend

EEVEE-Next

  • During shadow rendering development some technical difficulties have been raised especially when using multi-view. Work will continue.
  • MV and VP projection matrix have been split to increase some storage.
    • It would also give better precision when camera is positioned far away from the origin. But the change could have more side effects that we cannot see right now.
    • Change should be tested on other platforms to find out the side effects.

Workbench

  • Workbench is being refactored to use the new DrawManager API.

Metal backend

  • Iterated on the given feedback.
  • Send Metal Batch patch for review. This would allow workbench to render.
  • Support for Eevee-next will be done by using the CreateInfo structure.
  • Support for Eevee (Eevee does not use CreateInfo) is more complicated.
    • Static shaders can use Create infos
    • Dynamic shaders could use overspilling of uniforms; Would be more alligned to Metal, and OpenGL is expected to optimize them away. Althought this should be carefully tested.

Viewport Compositor

  • Work will side step to implement the variable size blur options and related changes that requires finding mix, max, avg value inside an input region.
  • Designing a general structure to be reused by any node to reduce recalculations.

Brush evaluation

  • An experiment has been conducted for the 3d texturing brush to see how it could be aligned to a GPU pipeline. It is unclear if this will be realistic in the near term, but the experiment showed several areas where the current CPU brush evaluations could be improved and more aligned to a GPU pipeline.
22 Likes

Will this help blender’s viewport performance, since nowadays’ hardwares and blender itself are capable of showing much more geometries who’s bottle-necked by the workbench engine.

1 Like

Of course improvements depends on the actual loaded scene, but we saw a huge improvement in instance drawing.

9 Likes

Great! I used to spawn a huge number of instances using GN, will test it!

1 Like

Is it possible for eevee to support ies textures?

We currently don’t have started a project to add support for IES textures in Eevee. This would require light node trees at first. The possibilities and actual impact of adding support for IES textures isn’t clear yet, as it relies on the support for node trees.

1 Like