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: Septembver 4, 2023, 11:30 AM to 12:00 PM Amsterdam Time (Your local time: 2023-09-04T09:30:00Z → 2023-09-04T10:00:00Z)
Attendees:
- Clement
- Jeroen
- Miguel
Eevee-next
- Development on shadow tracing has continued. Limitations were detected when using large angles. Reference game engines are fixing this by limiting the angles and cube face edges artifacts.
- This is not usable for us as we want to mimic cycles as close as possible. Currently researching of jittering lights with large angles and mixing both solutions (traced shadows + jittered shadows) to the final result.
- Shadow tagging should be worked on.
- Metal backend is currently broken new shadow shaders don’t compile. There is work being done to improve the rendering for tile based rendering GPUs that would also solve this issue. But we should make sure that shaders would compile always in main so we can get more feedback from users.
- Refraction shaders are now better for de-noising
- Reviewed the BSnF algorithms to mimic Cycles better.
- Fixes and changes
- Landed
- Fix for incorrect object info randomness (Fix: EEVEE-Next: Object Info > Random · 89dc2e1649 - blender - Blender Projects)
- World shading compilation error (Fix: EEVEE-Next: World Volume compilation error · f57a8f07c0 - blender - Blender Projects)
- In Review:
- Fix Subsurface Scattering regression (#111534 - Fix: EEVEE-Next: Subsurface Scattering regression - blender - Blender Projects)
- Add shadow bias based on depth reconstruction precision (#111478 - EEVEE-Next: Add shadow bias based on depth reconstruction precision - blender - Blender Projects)
- Move the transmittance LUT to the Utility Texture (#111535 - EEVEE-Next: Move the transmittance LUT to the Utility Texture - blender - Blender Projects)
- Landed
Vulkan-backend
- Most effort last week was spent on solving a state difference between GHOST (Blenders hardware and OS abstraction layer) and the Vulkan backend in the GPU module. Vulkan doesn’t track states of textures and prefer fixed pipelines where texture layouts are controlled by using the pipelines in the correct order. Blender cannot work this way as the pipelines are created dynamic due to user input, add-ons with custom drawing and functional complexity requiring to many pipelines to manage. The issue we want to solve is to track the texture layout of textures in the swap chain. Swap chains are responsibility of GHOST, but the GPU module can change the layout of its textures when using it as a transfer target. The GPU module cannot correct they texture layout as it isn’t aware of swap chain events. (#111389 - GPU: Swap Buffers Design - blender - Blender Projects)
- We decided to align the solution close to how Metal solved this issue by using a
present
callback that the GPU context registers to the GHOST context. Initial development started with promising results, but still requires many fixes and tweaks before it will land. (#111473 - Vulkan: Rewrite GHOST_ContextVK - blender - Blender Projects)
Workbench
- Workbench-next is enabled by default. (#111403 - Workbench-Next: Enabled by default - blender - Blender Projects)
- There is a known regression where Intel HD4000 series GPUs are unsupported. We expect that a supported GPU has at least 12 SSBO binding points. Those are needed for Eevee-next we should consider to reduce the minimum needed slots to 8 and add a message when switching to Eevee-next.
- A work-around has been added for GPU implementations that don’t support texture-views. (#111402 - Workbench Next: Workaround lack of texture views support - blender - Blender Projects)
Overlay
- Showing wire color option in all shading modes is in main (#111502 - Wireframe color option for all shading modes - blender - Blender Projects)
- Removing fresnel in edit mode user preference is ready to land in main (#111494 - Add toggle for edit mode overlays fresnel - blender - Blender Projects)
- Both patches still need to be ported to Overlay-next.
- Removing fresnel in object mode is still under review to make sure it works for cost common cases.