User:KevinDietrich/Reports

=Weekly Reports 2020=

Week 1 - 6-10 July 2020
Week mostly spent getting acquainted to the new Blender code base, as the project was not really defined yet.


 * Patches
 * Worked on updating the patch to render deformation motion blur in Cycles from Alembic caches


 * Bug Tracker/Fixes
 * Started working on a fix for the artifacts showing in volume rendering in Cycles.

Week 2 - 13-17 July 2020
Had a meeting with the stakeholder from the project, which defined some goals and key areas to look at. Started mocking some APIs and did some exploratory work in Cycles to better understand how scene and objects updates work.


 * Patches
 * , replied to reviews from Brecht and Sybren.
 * Updated to current master in a private branch to explore what a Cycles Procedural API would require.


 * Bug Tracker/Fixes
 * Fix, unitialized memory when manually adding a curve point (, committed by Campbell)
 * Fix (unreported) memory leak in the fluid bake operators happening when path validation fails.
 * Closed as already resolved

Week 3 - 20-24 July 2020
Worked on proposals for changes in Cycles according to the project requirements. Made some experiments for changes in the API, and some others to better understand how Cycles work.


 * Proposals
 * Cycles/Blender API redesign
 * Cycles Procedural API and faster scene update


 * Patches
 * , final changes from Sybren's review, could go in master this week, did not have time to push for 2.90 as documentation is needed

Week 4 - 27-31 July 2020
Work was mostly exploratory, had some software/development environment issues trying to install CUDA. Also worked on a patch to compress normals in Cycles (not shared as it needs proper testing, and is not really part of the project).


 * Patches
 * Fix volume artifacts in Cycles

Week 5 - 3-7 August 2020

 * Patches
 * improving the bug fix for volume renders and final patch


 * Committed patches
 * rBb5dcf746369e: Cycles: add support for rendering deformation motion blur from Alembic caches.

Week 6 - 8-14 August 2020
Improvements to the Alembic procedural node and API refactor to fix infinite loops during viewport render.


 * Patches
 * Node ownership system
 * Scene/Session refactor
 * make Volume a Node
 * make Pass a Node


 * Bug Fixes :
 * : artifacts rendering OpenVDB volumes with multiple grids in Cycles.

Week 7 - 17-21 August 2020
Modified Alembic procedural according to stakeholder's wants.


 * Patches
 * add update flags to Node and SocketType
 * make Image a Node
 * work on Alembic procedural
 * (review update) Node ownership system


 * Committed patches
 * make Pass a Node
 * make Volume a Node

Week 8 24-28 August 2020

 * Patches
 * make DeviceInfo a node
 * make SessionParams a node
 * work on profiling the scene update
 * (review update) update flags


 * committed patches :
 * Node Ownership system for protecting nodes against unwanted deletions


 * Bug fixes :
 * : Cycles Alembic Motion Blur Problem

Week 9 30 August - 4 September 2020
(Forgot to do the report, I do not remember everything.)

Investigated some bug report about motion blur issues with Alembic caches.

Week 10 7-11 September 2020
(Forgot to do the report, I do not remember everything.)


 * General
 * Work on the Alembic procedural, and using the new socket API to detect issues

Week 11 14-18 September 2020
(Forgot to do the report, I do not remember everything.)


 * General
 * Cleaned up the socket API patch
 * Profiled the Alembic procedural against master
 * Work on the Alembic procedural, some optimizations


 * Patches
 * Updated Cycles: make DeviceInfo a Node.

Week 12 21-25 September 2020
(Forgot to do the report, I do not remember everything.)


 * Patches
 * Socket API refactor, made changes according to code review
 * Update statistics, made changes according to code review


 * Commits
 * Cycles: add update flags to Node and SocketType

Week 13 28 September - 2 October 2020
(Forgot to do the report, I do not remember everything.)


 * General
 * modified Alembic importer to optionnally add a modifier to every objects, so we can use the Cycles procedural for everything, improves synchronisation speed
 * start addressing concerns for the socket API review, fixed a few bugs found in the test suite


 * Commits
 * Cycles: add time statistics to scene update

Week 14 5 - 9 October 2020

 * General
 * shared Blender files for Alembic testing with project's stakeholder
 * experimented with rebuilding the BVH only every N frame, refitting it otherwise
 * experimental refactor of the device memory update to take socket flags into consideration, to avoid copying and sending to the device unchanged data


 * Patches
 * Socket API refactor, made changes according to code review


 * Fixes :
 * type issues in the Cycles introspection code

Week 15 12 - 16 October 2020
(Forgot to do the report, I do not remember everything.)


 * General
 * continue device update refactor
 * work on the RenderDevice node
 * work on OptiX BVH refit


 * Socket API refactor
 * Fix remaining issues with the patch


 * Fixes
 * missing ShaderNode ownership in render_graph_finalize_test

Week 16 19 - 23 October 2020
Had some personal stuff to do, so lost quite a bit of time.


 * Socket API refactor
 * Work on some developer/implementer level documentation for the socket API refactor
 * Fix some regressions regarding the detection of tesselation


 * Cycles API
 * Encapsulated most of the objects used throughout the Blender exporter


 * Patches
 * Cycles: add support for BVH refit in OptiX.

Week 17 26 - 30 October 2020

 * General
 * Fixed bugs in Socket API patch after bad merge


 * Patches
 * Reply to code review for Cycles OptiX BVH refit patch


 * Bug Fixes
 * Fix : Cycles "Persistent Images" incorrectly retains scene data

Week 18 2 - 6 November 2020

 * General :
 * continued working on optimizing Cycles scene updates


 * Commits
 * Cycles: add support for BVH refit in OptiX
 * Cycles API: encapsulate Node socket members


 * Fixes :
 * Fix : Cycles crashes when building volume meshes
 * Fix race conditions following API changes

Week 19 9 - 13 November 2020

 * General
 * worked on finalizing and stabilizing scene updates optimizations.


 * Fixes
 * Fix : artifacts in Cycles viewport when changing subdivision attributes
 * Fix : shader compilation crashes in OSL
 * Cycles: fix compilation of OSL shaders following API change
 * Cycles: fix Node::tag_modified not setting modified flag's upper bits


 * Patches
 * : Cycles: optimize device updates.

Week 20 16 - 20 November 2020
Continued work on Alembic procedural and scene updates. Some bug triaging. Started reviewing patches in the tracker.


 * Fixes
 * Fix : volume tiles missing in Cycles renders


 * Patches
 * : Cycles: add a parameter to control the maximum number of BVH refits.


 * Reviews:
 * : Fix T75539: Cycles. Update geometry when switching displacements.

Week 21 23 - 27 November
Continued work on Alembic procedural and scene updates. Some bug triaging.

Week 22 30 November - 4 December

 * Fixes :
 * Fix : constant scene refreshing in Cycles with empty volumes

Week 23 7 December - 11 December

 * Patches :
 * : Cycles: make DeviceInfo a Node.
 * : Cycles: add experimental support for an Alembic procedural (first version for final review)


 * Fixes :
 * Fix : Cycles crashes when editing a mesh with adaptive subdivision


 * Reviews:
 * Cycles: Add CPU+GPU rendering support with OptiX.
 * : Fix T75539: Cycles. Update geometry when switching displacements.

Week 24 14 December - 18 December

 * Reviews:
 * Cycles: pointcloud geometry type.


 * Patches:
 * Refactor device update according to code review
 * Updated patch with improvements and fixes


 * Commits:
 * Fix : Cycles missing geometry update when switching displacement method (on behalf of Joan Bonet Orantos)

Week 25 21 December - 25 December
Slow week due to Christmas. Fixes in the device update refactor patch, also tried to figure out a complicated newly found bug in this patch. Some bug triaging/investigating.

Week 26 28 December 2020 - 1 January 2021
Vacancy.