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)
- Add Freeze Culling support to Workbench Next (commit).
- Avoid creating unneeded handles in Workbench Next (optimization) (commit).
- Went through the Workbench commits of the last months, to avoid Workbench Next regressions:
- Fix for instance resource indexing in the new Draw Manager (D17069).
- Avoid runtime.bb allocation for DupliObjects in the draw code (needs feedback) (experimental branch).
- Use smaller ObjectBounds to improve performance (includes fixes) (needs feedback) (experimental branch).
- Cleanup the GLSL intersection code (needs feedback) (experimental branch).
Week 4 (Jan 23 - 29)
- Workbench Next has landed on Master! (commit)
- Workbench Next fixes:
- Improve Texture assignment operator (D17119) (Required for the matcaps fix).
- Clément asked me for help on virtual shadow maps, so I took a good amount of time learning about the technique.
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)
- EEVEE Next: Tag shadowmap usage for transparent object volumes (PR #104580).
- Fix #104637, caused by refabe81c916
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 withPassMain
(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).