2022-06-13 Eevee/Viewport Module Meeting


  • Clement Foucault
  • Brecht van Lommel
  • Omar Emara
  • Jeroen Bakker
  • Dalai Felinto

Release 3.2

  • [T98708] should be added to a corrective release. It fixes an issue on platforms
    That supports OpenGL 4.3, but not the conservative depth extension.
  • [T98620] is fixed in master, but was to late to be added to 3.2 release as the
    release window was already closed.

Eevee next

  • Continued on Eevee next. Most render passes are working.
    • Cryptomatte will be handed over to Jeroen.
  • Backported multiple memory improvements from the prototype reducing the required memory for render buffers by 50%.
  • Known issues
    • synchronization: Eevee next uses more async compute shaders.
    • performance: might be solved by splicing current shaders into more smaller ones.
  • Code reviewing of Apple patches take time. Mostly the time it takes before a review comment is fixed and uploaded
    to the patch. We expect that the Metal back-end could slip to another release due to time lead time.
  • Image GPU texture de-duplication patch can be reviewed [T98375]

Viewport compositing

  • UI/UX design document has been send to artists of the Blender Studio. Waiting for feedback.
  • Researched what the impact is to integrate the GPU and CPU compositor to the new system.
    Should be straight-forward, but takes a lot of time. We should do a PoC up front.
  • Addressed review comments from the initial patch
  • Investigated how iterative patterns could be implemented. This is required for the Fast Gaussian implementation, Glare node
    and other that use a loop. Reading papers to see for some existing solutions.
  • The viewport compositor should land as an experimental feature. Reasons:
    • Quicker feedback loop from users.
    • Smaller patches to review.
    • Note that the blog-post needs to be updated to reflect that the viewport compositor will land as experimental feature.
  • The viewport compositor could be removed from experimental state when:
    • All nodes that we expect to be able to work on GPU should be implemented.
    • UI/UX should be agreed and implemented.
    • Manual should be updated
      • How to enable the system?
      • How to work with the system?
      • What are the limitations?
      • Add a tag to each compositor node that support the viewport compositor.

Texture nodes/layers

  • Brecht worked on texture nodes prototype. Prototype tries to reuse as much as possible. Also looking how to
    reuse in other areas as well.
  • We discussed a bit how we could do the GPU preprocessing for texture coordinates and texture layers. The viewport
    compositor project has a concept of derived tree callback. Question is how could we integrate this with external
    render engines.
  • Align GPU/CPU evaluation in the GPU module. GPU Materials still rely on the node stack, what should not
    be used anymore.
  • Open topic is how o use attributes within texture nodes.

Hair/Curve drawing

  • Hans Goudey is working on the hair/curve drawing. He might need some support from us to help him forward.
  • This might also become a project that will be asked the Eevee/viewport module to take over.