2022-10-24 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: November 7, 2022, 11:30 AM to 12:00 PM Amsterdam Time (Your local time: 2022-11-07T10:30:00Z2022-11-07T11:00:00Z)
  • NOTE: Due to the Blender Conference the next meeting will be skipped.

Attendees:

  • Jeroen
  • Clement
  • Omar
  • Michael
  • Miguel

Bug fixing

  • Solved 2/3 high prio bugs for Project Heist. Those were issues somewhere inside the drivers and GPU backends that caused random crashes or glitches.

Module

  • There were some meetings to discuss how to proceed with the Eevee/Viewport module related to Vulkan and texture painting.
    • A short term goal would be to implement an empty (not working) Vulkan backend what is able to compile shaders. This would be used to validate that shaders can be cross-compiled between OpenGL/Metal/Vulkan.
  • During conference there will be a meeting to discuss the future plans for Metal.

Draw Manger

  • Refatored GPencil data layout
    • Migrated the quad rendering to a triangle list, what would free instancing to be used by other rendering features
  • Started with point cloud rendering refactoring. Development will continue this week

Blender Conference

  • There is a Eevee/Viewport onboarding presentation on Saturday at 14h. For anyone wanting to learn more how the module is structured code-wise and what tooling we use for debugging.

Metal

  • This week work was done on hardening the Metal backend. There are rendering differences between the different GPU’s.
    • Idea would be to limit mipmapping during render tests, that would solve most of the issues.
    • Option would be a --debug-gpu-disable-mipmap command line parameter as render tests always perform run with --factory-startup. Still needs to be discussed.
    • Small fixes in many places for metal compatibilitt / shader artifacts.
    • Found places where glUniforms were not guarded.
  • AMD can possible have out of bounds reads that crashes Blender. When ensuring the bounds, it still renders incorrectly, so might need more attention as it might point to another cause.

Workbench Next

  • Transparency/XRay and outlines have been done.
  • Next are Depth of field, temporal anti aliasing, shadows
  • Clipping borders seems to fail, they currently work opposite as expected.
  • We want to try to avoid passing the Engine instance data to each component. Better to separate some functional settings in a DrawingSettings class and pass this along in stead.

Viewport Compositor

  • More noders have been made available (including Tone mapping)
  • Experiment with using full float vs half floats. Unclear how to integrate this on a higher level.
  • Fixed some bugs with Bokeh blur.
  • Some challenges with Bokeh blur input when it is being transformed.

Blender 3.4

  • This week BCon3 will happen. Development of Metal and Viewport Compositing will happen in master only. For 3.4 only bug-fixes will be accepted.
14 Likes