User:MiguelPozo/WeeklyReports/2023

Week 1 (Jan 02 - 08)

Vacations!

Week 2 (Jan 09 - 15)

  • Going through the review process for Workbench Next (D16826), implemented the requested changes.
  • Fixed the compute-based culling (D17008) and the Debug Freeze (D17010) feature in the new draw manager.
  • Worked on overall optimizations in the new draw manager. (uncommitted)

Week 3 (Jan 16 - 22)

Week 4 (Jan 23 - 29)

Week 5 (Jan 30 - Feb 5)

  • Workbench Next: Group passes by material (D17163).
  • Fix T103903: Bump Node performance regression (D17198).
  • Investigated an issue with dangling pointers in GPU Nodes.
    Committed a temporal workaround to bypass the issue.

Week 6 (Feb 6 - 12)

Week 7 (Feb 13 - 19)

  • More work on shadowmap usage tagging for transparent object volumes (PR #104580).
  • Fix #104709.

Week 8 (Feb 20 - 26)

  • Low overhead handles for the new Draw Manager (used to avoid one full handle for each material slot in Workbench Next).
    Two different implementations with different pros/cons (PR #105034 & PR #105175).
    The final design will be similar to the first one, but avoids the need for an extra binding slot, which was the main con of that approach.
  • Fix #105042/#105175.
  • Initial work on Workbench Next volumes.

Week 9 (Feb 27 - Mar 05)

  • Final implementation for the low-overhead handles PR #105261. Now in addition to the object handle, each draw can specify an additional arbitrary custom ID. Workbench Next already used this system for indexing material parameters.
  • Fixed original coordinates in the new Draw Manager r2a9f792c9e.
  • Workbench Next volumes implementation (branch). Currently, they work exactly the same as in the current Workbench engine.

Week 10 (Mar 06 - 12)

  • The dev plan shifted to giving EEVEE Next full priority, so I dropped the planned improvements for Workbench Next Volumes and made a clean-up and pull request for a 1:1 implementation PR #105501.
  • Looked into bringing back and finalizing the EEVEE Next SSS implementation from the eevee-rewrite branch, but decided to leave it on standby until deferred shading is implemented (branch).
  • Started working on the EEVEE Next volumes implementation (branch).
  • I was involved in the design discussion for the LineArt improvements proposal (devtalk thread).
    Implemented a basic render engine skeleton for WangZiWei-Jiang to port his line extraction algorithm (branch).

Week 11 (Mar 13 - 19)

  • Fixed a regression that caused EEVEE to be able to support fewer image nodes than before PR #105770.
  • Updated the UDIM codegen to ensure each UDIM texture doesn't register more samplers than needed PR #105772.
  • Implemented a surfels debug display utility to prepare for the development of GI in EEVEE Next PR #105802.
  • Kept working on the EEVEE Next volumes port (branch).

Week 12 (Mar 20 - 26)

(4 days week, Monday was public holiday)

  • Review PR #105921.
  • Found and fixed an issue with draw_procedural not working with PassMain(commit).
  • More work on EEVEE Next volumes (branch).

Week 13 (Mar 27 - Apr 02)

  • EEVEE Next Irradiance Cache Display Grid (commit).
  • EEVEE Next Shadow usage tagging for Irradiance Cache Surfels (commit).
  • Improve GPUPass GC behavior PR #106386.
  • More work on EEVEE Next volumes (branch).

Week 14 (Apr 03 - 09)

Vacations!

Week 15 (Apr 10 - 16)

  • EEVEE Next volumes are almost ready (branch).
    • Fixed material code generation.
    • Fixed volume objects rendering.
    • Lighting integration.
    • Transparent surface integration.
    • Other improvements, fixes, and cleanups.

Week 16 (Apr 17 - 23)

  • EEVEE Next volumes pull request PR #107176
    • Ported all the shaders to the compute pipeline.
    • Optimized the volume object bounds. (Large performance improvement)
    • Clean-up to prepare for the pull request.
  • Initial implementation of the EEVEE Next Subsurface Scattering port. (branch)

Week 17 (Apr 24 - 30)

  • Addressed some feedback from the EEVEE Next volumes pull request PR #107176.
  • EEVEE Next Subsurface Scattering pull request PR #107407 (Feature complete, but SSS Transmittance energy is greater than Cycles with the same settings. Asked Clément for help on this one).

Week 18 (May 01 - 07)

(3 days work week due to public holidays)

  • Overlay/Selection Next (branch):
    • Refactor, replacing templates with construction time booleans PR #107734.
    • Started porting DRW_cache shapes and their overlay/selection implementation.

Week 19 (May 08 - 14)

  • Ported most shape cache functions from DRW_cache to Overlay Next.
  • Tracked a regression that broke Volume rendering in EEVEE and Cycles #107826, and fixed other similar (unreported) issues (commit).
  • Addressed the feedback for the EEVEE Next Volumes PR PR #107176.
  • Addressed the feedback for the EEVEE Next SSS PR PR #107407.
  • Found and fixed a crash in EEVEE Next when the Scene doesn't have a World PR #107891.

Week 20 (May 15 - 21)

(4 days work week due to public holidays)

  • Merged Workbench Next Volumes PR #105501.
  • Cleanups and fixes in EEVEE Next Volumes PR #107176.
  • Overlay Next (branch):
    • Cleanups and fixes for PR #107734.
    • Extras::InstanceBuffers refactor.
    • Bounds and Collisions.
    • Lights.
    • Force Fields.

Week 21 (May 22 - 28)

  • EEVEE Next: Image rendering and render passes fixes/improvements PR #108239.
    • Fix Image and AOV rendering.
    • Optimize image slot usage.
    • Fix Diffuse and Specular Light passes.
    • Add Environment and Shadow passes.
  • EEVEE Next: Ensure correct material settings are used PR #108283.
  • Initial work on EEVEE Next Ambient Occlusion (branch).