User:OmarSquircleArt/WeeklyReports/2023
Week 1
March 7 to March 13.
- Bicubic interpolation support for Realtime Compositor. cbf569523c.
- Allow access to multiple EXR passes and layers in Realtime Compositor by fixing missing GPU texture updates. PR #105547.
- Refactor GPU texture samplers. Allow per-axis image repetition in Realtime Compositor. PR #105642.
Week 2
March 21 to March 27.
- Fix: Realtime compositor outputs wrong EXR passes. 04d128f545.
- Continued working on refactoring GPU texture samplers. PR #105642.
- Implement Fog Glow Glare node. PR #106042.
- Implement Anti-Aliasing node. 2f4a7d67b7.
- Fix: Glare has an offset on low quality settings. c42370d577.
- Use luminance coefficients in SMAA. 3d06905ac4.
- Spent some time debugging dynamic linking issues when using RenderDoc to debug Blender. Found the root cause and looking into either fixing it or documenting the workaround somewhere.
Week 3
April 4 to April 10.
- GPU: Refactor texture samplers. ff3b2226fb.
- Realtime Compositor: Implement Z Combine node. b939b60c3f.
- Realtime Compositor: Implement Displace node. 625ba3cb5d.
- Realtime Compositor: Implement Fog Glow Glare node. cc5128f6ca.
- Realtime Compositor: Implement ID Mask node. PR #106593.
- Realtime Compositor: Implement Map UV node. PR #106765.
Week 4
April 18 to April 24.
Shorter week because of two days of a national holiday.
- Fix #106751: No implicit conversion for group inputs. c10e8e4166.
- Realtime Compositor: Implement ID Mask node. 3d6117994c.
- Investigate adjustments with identity settings in the Hue Correction node. #106965.
- Realtime Compositor: Implement Texture node. PR #107291.
Week 5
April 24 to May 1.
- Realtime Compositor: Implement Denoise node. PR #107375.
- Realtime Compositor: Implement Stabilize 2D node. PR #107401.
- Realtime Compositor: Implement Texture node. 151a53110c.
- Realtime Compositor: Implement Corner Pin node. fa2dbceadd.
- Realtime Compositor: Implement Mask node. 3f6912ece2.
- Realtime Compositor: Split cache into containers. 1c3d67d4cc.
- Realtime Compositor: Optimize image textures. a32dbb892f.
- Realtime Compositor: Prioritize Viewer output node. 5fa8f7746c.
- Fix #106965: HSV/HSL conversion differ from CPU compositor. 59b6e8900f.
- Realtime Compositor: Add missing domain priority for mask nodes. b68b3e7b8f.
Week 6
May 9 to May 15.
- Realtime Compositor: Implement Convert Color Space node. d91f0bf8d2.
- Realtime Compositor: Implement Plane Track Deform node. 6698e8f4a0.
- Fix #107583: HSV node differ from CPU compositor. f9b5b0efd2.
- Realtime Compositor: Implement Denoise node. e8c660b855.
- Realtime Compositor: Implement Stabilize 2D node. 88d03d15c1.
Week 7
May 23 to May 29.
- Realtime Compositor: Implement Movie Distortion node. PR #108230.
- Realtime Compositor: Implement Keying node. PR #108393.
- Reviewed: Add Fractal Voronoi Noise V.2. PR #106827.
- Investigate and try to make sense of the Sun Beams node.
Week 8
June 6 to June 12.
- Realtime Compositor: Implement Movie Distortion node. f06929766b.
- Realtime Compositor: Implement Sun Beams node. 9ddc8504fa.
- Realtime Compositor: Support Viewer nodes. 5400fe941e.
- Nodes: Add bNodeInstanceKey to DerivedNodeTree. PR #108900.
- Realtime Compositor: Add support for node previews. PR #108904.
- Reviewed a number of pull requests related to compositing.
Week 9
June 20 to June 26.
Had to take one day off this week.
- Nodes: Add bNodeInstanceKey to DerivedNodeTree. 740baefb16.
- Realtime Compositor: Add support for node previews. b450101000.
- Fix: Sun Beams shader does not work on Metal. 75b519eb89.
- Fix: Wrong reference count for shader operation. d6cd3db13b.
- Realtime Compositor: Add node previews for shader operations. 753747e859.
- Nodes: Compute logically linked sockets to outputs. c6e5be9a36.
- Realtime Compositor: Implement Keying node. c9e6399fe1.
- Realtime Compositor: Implement Classic Kuwahara. PR #109292.
- Worked on support for Summed Area Tables for the compositor.
- Reviewed a number of pull requests related to compositing and shading.
Week 10
July 4 to July 10.
Most of the week was spent on prerequisites to the Classic Kuwahara node PR #109292, including:
- A Summed Area Table implementation algorithm.
- Full float extension to compositor results.
- A library for evaluating the computed SAT.
Week 11
July 18 to July 24.
- Fix #109676: GPU compositor crashes on muting output nodes. 5be226699f.
- Fix #109869: Switch View node crashes on editing. 4c72dc98c2.
- Realtime Compositor: Implement Classic Kuwahara. 940558f9ac.
- Fix #109868: Keying node differ between GPU and CPU. bdb042c243.
- Fix #110281: Keying node despill is wrong on GPU. 6400190836.
- Compositor: Use average color variance in Kuwahara node. a939f46350.
- Researched and worked on an optimized version of Anisotropic Kuwahara node for the Realtime Compositor.
Week 12
August 1 to August 7.
- Realtime Compositor: Implement Anisotropic Kuwahara. PR #110786.
Week 13
August 14 to August 21.
- BLI: Add 2D transformation matrix decomposition. 85a3f61150.
- Realtime Compositor: Support realization of transformations. 726ba534fc.
- BLI: Add square function. 110cb5d0d5.
- Realtime Compositor: Implement Anisotropic Kuwahara. 9ef2310e5f.
- Realtime Compositor: Realize rotation for filter nodes. PR #111213.
- Realtime Compositor: Realize rotation and scale for filter nodes. PR #111216.
- Fix: Bokeh Blur not affected by transforms. #102252.
- Patch review and research on Gabor noise.
- Research parallel algorithms necessary for Inpaint and Double Edge Mask nodes. 1+JFA and PBA+ algorithms.
Week 14
August 29 to September 4.
- Implement 1+JFA algorithm. PR #111792.
- Realtime Compositor: Implement Inpaint node. PR #111792.
- Realtime Compositor: Implement Double Edge Mask node. (Not submitted yet.)
- Code review.
Week 15
September 11 to September 15.
- Realtime Compositor: Immediately realize transformations. PR #112332.
- Realtime Compositor: Allow more result types. PR #112414.
- Compositor: Use RBF Interpolation in Keying Screen node. PR #112480.
- Realtime Compositor: Implement Inpaint node. PR #111792.
- Realtime Compositor: Implement Double Edge Mask node. PR #112223.
Week 16
September 25 to September 29.
- Fix: Cached distortion grids are not reset. 869d0aeaa1.
- Realtime Compositor: Use Int2 images in JFA algorithm. f217380128.
- Realtime Compositor: Implement Keying Screen node. PR #113055.
- Compositor: Use RBF Interpolation in Keying Screen node. PR #112480.
- Realtime Compositor: Allow variable Kuwahara size. PR #112946.
- Realtime Compositor: Implement Inpaint node. acb88528a5.
- Realtime Compositor: Implement Double Edge Mask node. 5008938a1c.
- Realtime Compositor: Allow more result types. 6b53fd5cf6.
- Code review.
Week 17
October 2 to October 6.
- Realtime Compositor: Implement File Output node. PR #113204.
- Fix: GPU compositor always returns first view. 8860dc9910.
- Cleanup: Clarify the use of DrawDataList. a609af06f9.
- Realtime Compositor: Implement Keying Screen node. 17bdf18397.
- Compositor: Use RBF Interpolation in Keying Screen node. 75c947a467.
- Realtime Compositor: Allow variable Kuwahara size. PR #112946.
- Full float precision support, not yet submitted.
Week 18
October 9 to October 13.
- Compositor: Allow variable size Kuwahara. 203559757a.
- Realtime Compositor: Support full float compositing. PR #113476.
- Realtime Compositor: Immediately realize transformations. e592763940.
- Write manual for 4.0. 1f038f05e7. e66b06de85.
- Fix #112883: GPU compositor crops viewed image. 405ec79a0a.
- Fix: GPU Compositor rotation transposes the image. 444241fbcf.
- Realtime Compositor: Immediately realize wrapped translations. PR #113669.
- Investigate Kuwahara precision issues and alternative File Output node implementation.
Week 19
October 16 to October 20.
- Realtime Compositor: Immediately realize wrapped translations. PR #113669.
- Cleanup: Move compositor headers to c++. 9f1538b586.
- Fix #113768: GPU compositor is leaking memory. cea5ea4096.
- Fix: Texture pool resources are freed in wrong context. edfa6f3235.
- Compositor: Refactor File Output node. PR #113982.
- Investigate a number of reports regarding experimental GPU compositor and new transformation method.
Week 20
October 23 to October 27.
- Compositor: Refactor File Output node. PR #113982.
- Fix #112716: Custom sockets ignore draw_color method. PR #114148.
- Fix #113864: Compositor translation is doubled. 3f49d286cc.
- Realtime Compositor: Improve classic Kuwahara precision. PR #114191.
- Fix #113811: Blender freezes upon adding a Cryptomatte node. 01a2bd0369.
- Patch review.
Week 21
October 30 to November 3.
- Cleanup: Generalise input reading in compositor. f79b3ffe12.
- Cleanup: Use input reading shaders for Movie Clip node. 56ffa441b9.
- Fix #114260: Compositor sometimes produces straight alpha. PR #114305.
- IMB: Support rgba and V channels in single-layer EXR. b54a26ede4.
- Fix #112716: Custom sockets ignore draw_color method. cbcfca0a19.
- Realtime Compositor: Support full float compositing. PR #113476.
- Realtime Compositor: Immediately realize wrapped translations. 1500a594ad.
- Fix #114422: Inpaint node ignores semi-transparent pixels. PR #113476.
Week 22
November 6 to November 10.
Shorter week, had to take Thursday off due to moving home.
- Nodes: Draw using draw_color_simple as a fallback. 54e35e7388.
- Fix #114530: Cryptomatte node not link drag searchable. ae739a6173.
- Cleanup: Fix warnings due to disabled OCIO. 571bddb6c8.
- Fix #114260: Compositor sometimes produces straight alpha. 5258b17ef6.
- Realtime Compositor: Support full precision compositing. 474b6fa070.
- Researched parallel acceleration of diffusion based inpainting methods.
- Started a rewrite of the Inpaint Node.
- Code review.
Week 23
November 13 to November 17.
- Fix #113653: Compositor superfluously executes on scene changes. c98308a77e.
- Realtime Compositor: Rewrite inpaint node. PR #114849.
- Compositor: Refactor File Output node. PR #113982.
- Fix #114648: Compositor executes upon editing non-compositor trees. 7ea54b7472.
- Viewport Compositor: Allow access to depth pass. c5eb420c74.
- Fix: Link errors due to different linkage in recent refactor. b71cddb6b4.
- Worked on cryptomatte support for the realtime compositor.
- Code review.
Week 24
November 20 to November 24.
- Compositor: Refactor File Output node. PR #113982.
- Fix: DEG: Image updates are flushed for initial evaluation. PR #115240.
- Realtime Compositor: Rewrite inpaint node. 48d7d60c96.
- IMB: Read single-layer XYZ channels as a combined image. PR #115290.
- Fix #115043: Compositor crashes for huge render sizes. PR #115299.
- Cached images for realtime compositor. Needs a proper solution to PR #115240.
- Code review.
Week 25
November 27 to December 1.
- Fix #115043: Compositor crashes for huge render sizes. 5af7d3e2be.
- IMB: Read single-layer XYZ channels as a combined image. PR #115290.
- Realtime Compositor: Add static cached images. PR #115511.
- Fix: Missing compositor update upon changing tree options. 5e370ee643.
- Realtime Compositor: Implement zero cost external images. 07e051d7cd.
- Realtime Compositor: Add utilities to handle texture formats. b8f4c45638.
Week 26
December 4 to December 8.
- Fix: Dangling pointer in Split Viewer versioning. 771a0cf4e7.
- Compositor: Disable preview of Split node by default. b183a1cd12.
- Compositor: Add High Precision option to Kuwahara. PR #115763.
- Fix #107465: Compositor Texture node produces artifacts. 689040db2f.
- Fix #115859: Cryptomatte node considers preview channels. 45dcc61fd2.
- Realtime Compositor: Implement Cryptomatte node. PR #115884.
- Realtime Compositor: Add static cached images. PR #115511.
- Code review.
Week 27
December 11 to December 15.
I only worked part of Friday due to a personal life event.
- Researched and worked on the Defocus node, still a work in progress.
- Compositor: Use full precision inputs for GPU compositor. eabe386e8e.
- Realtime Compositor: Cache bokeh kernel image. bcea221021.
- Fix #116037: Corner Pin mask retains original alpha. a6948310b9.
- IMB: Read single-layer XYZ channels as a combined image. 23df139aaf.
- Cleanup: Move Cryptomatte node defines into enums. 123da3412b.
- GPU: Add function for setting float array uniforms. 048f70e7c2.
- Realtime Compositor: Add static cached images. 356480fabb.
- Realtime Compositor: Implement Cryptomatte node. a8e13994b8.
- Compositor: Refactor File Output node. 931c188ce5.
- Code review.
Week 28
December 18 to December 22.
- Compositor: Only execute compositor if result is viewed. e165624885.
- Realtime Compositor: Implement Defocus node. e055db6605.
- Viewport Compositor: Add option to exempt Grease Pencil. PR #116425.
- Fix: Crash in single value input to Glare node. dea7d65ee7.
- Fix #116432: Crash when changing source of image node. 9bbe81b630.
- Compositor: Support viewer offset in GPU compositor. 7a8e349b73.
- Investigate and read literature on motion blur. The plan is to use the same method used by EEVEE.
- Code review.
Week 29
December 25 to December 29.
I had to take Friday off.
- Read the literature on motion blur and started implementing an EEVEE-equivalent implementation.
- Compositor: Support viewer offset in GPU compositor. 7a8e349b73.
- Fix: Bokeh images missing write usage flag. 92a0dfed94.
- Fix #116522: Compositor incorrectly extrapolates values. dc082f432a.
- Code review.