Week 158 : 20th - 26th January

  • Info

I have been sidetracked by color management from my bug hunting duty. I've created a branch that includes the colormanagent changes that are likely to go in for 2.83. This should fix issues with overlays, background images, Grease Pencil compositing and clear the way for the future realtime compositor. I tried to find a general implementation that does not need much more processing time nor VRAM.

Note these changes does only concern the viewport. The branch (draw-colormanagement) still has a few issues that needs to be resolved before merge.

  • General development
    • Fix T69121 DRW: Missing depth buffer refresh with GPencil + Cycles c5436883c66.
    • Fix T71374 EEVEE: Fix Node group socket not converting inputs as in Cycles c2e21b23296.
    • Fix T67050 Overlay: Forcefield limits are not dashed 170844135aa.
    • Fix T66956 EEVEE: NaN produced by bad geometry mess with the DoF 3cd32c376db.
    • Fix T73335 Overlay: Light Distance line does not represent custom distance 6dcbc3cd5aa.
    • Overlay: Improve Outline diagonal Antialiasing 335930ab4ef.
  • Viewport Color Management Refactor
    • DRW: Color Management: Do some rearangement of the draw code 05dda64cf29.
    • DRW: Color Management: Fix ghosting with cycles. bef1c0d11e0.
    • DRW: Color Management: Fix viewport render pipeline be68e899488.
    • DRW: Color Management: Rework code to accept new color transform needed 281fb484408.
    • DRW: Color Management: Move color management to the GPUViewport adf98e6360d.
    • DRW: Color Management: Remove DrawEngineType draw_background function 7d25c746152.
    • GPU: Add sRGB framebuffer support 73f612fa3bd.
    • GPUViewport: Add fallback colormanagment 2616a0a9d6e.
    • GPUViewport: Fix image uv editor. 5db185d1c48.
    • OCIO: Improve/Cleanup Implementation a0283355fcf.
    • OCIO: Support overlay blending in linear colorspace in GLSL backend 419a818eec8.
    • Overlay: Add other background types (checker and gradient) e18f0a4cfb5.
    • Overlay: Cleanup Image background implementation e9411b8ccf2.
  • Next week

Continue bug fixing.

Week 157 : 13th - 19th January

  • Info

General bug tracker week. Some long standing bugs have been solved.

  • General development
    • GPencil: Refactor: Reuse GPENCIL_MaterialPool across multiple objects b847861b6cb.
    • GPencil: Refactor: Speedup: Add drawcall merging of consecutive strokes cb089c25e2d.
    • GPencil: Refactor: Allocate GPU framebuffers only if necessary 8b02f761d99.
    • DRW: Store vertex color in linear format on GPU 6eaf51ef3e5.
    • DRW: Fix stencil being modified by passes that are read only b8bdb8e9e99.
    • Fix EEVEE: Planar Reflection data has inverted facing 0461ff764af.
    • Fix T67942 EEVEE: Crash when empty is set as camera and motion blur is on 7b29956cc54.
    • Fix T69794 EEVEE: "Bake Cubemap Only" resets Irradiance Volume if world is updated 5d5add5de2b.
    • Fix T70766 EEVEE: Performance drop with node tree in 2.81 32f0bb05230.
    • Fix T71402 EEVEE: Transparent material add volume scattering 39d5d11e022.
    • Fix T71532 EEVEE: Hair UV/Color attributes not working ba5bbf14f92.
    • Fix T71788 EEVEE: Invalid (pink) shader when using wireframe node faf563d27ca.
    • Fix T72104 Blender selects faces outside of Clipping Region if X-Ray is off 848b28d71e1.
    • Fix T72152 DRW_debug_sphere Not Working After Overlay Refactor 60c6a74ce1d.
    • Fix T72490 Collections: Exclude From View toggle causes segment violation e2724abc22d.
    • Fix T72547 Overlay: Wireframe clipping issues fca069a7053.
    • Fix T72574 Overlay: 'Show Cone' for Spotlights not working anymore aa3720ed82f.
    • Fix T72871 Overlay: Spotlights cone is much smaller than before 3fa548f9862.
    • Fix T72957 Crash using Eye dropper in Edit mode with X-ray 84825e4b50c.
    • Fix T73044 Crash in UV editor when changing UV selection modes 23599791418.
    • Fix T73116 Crash on startup caused by implicit conversion in glsl d51dcaf1041.
    • Overlay: Edit Mode: Fix vertices depth test not always on 820794e162e.
    • Overlay: Fix wrong 3D icon for cubemap lightprobes d72ffb5e9a4.
  • Next week

Continue bug fixing duty.

Week 156 : 6th - 12th January

  • Info

This past week I finally finished the Grease Pencil refactor. We have (almost) all features implemented and Antonio Vazquez will be stabilizing the branch from now on.

The week was focused into bringging back support form gpencil overlays in a cleaner way using the overlay engine (instead of custom builtin overlays inside the gpencil engine).

I also made sure all shading and color modes are on par with the mesh usage.

  • General development
    • GPencil: Fix vertex color draw tool color blending 1d25838eb41.
    • GPencil: Refactor: Add back guides and control points overlays ae529faa87e.
    • GPencil: Refactor: Add canvas grid 3b27d75f451.
    • GPencil: Refactor: Add fill vertex color suppport 2e609a45822.
    • GPencil: Refactor: Add gpencil case to BKE_object_is_in_editmode b33c61a4afd.
    • GPencil: Refactor: Add outline overlay 981c49ff4c2.
    • GPencil: Refactor: Add support for GPencil wireframes de4c23384fd.
    • GPencil: Refactor: Add Weight Paint support 1762cd34125.
    • GPencil: Refactor: Disable GPencil Outline in edit mode d333b0c6cb3.
    • GPencil: Refactor: Don't draw Gpencil objects if drawtype is not solid 2942e7eb03c.
    • GPencil: Refactor: Edit Mode support. a1285eb4d80.
    • GPencil: Refactor: Edit Mode: Add support for minor features 55f38e453c9.
    • GPencil: Refactor: Enable gpencil engine if xray is not used 5d6eb25858b.
    • GPencil: Refactor: Enable Vertex color mode in vertex paint 00feefba102.
    • GPencil: Refactor: Fix depth sorting with workbench render bd0809da61c.
    • GPencil: Refactor: Make Lighting effect only happen in lookdev & render mode bc774caaac5.
    • GPencil: Refactor: Make sbuffer batches managment more robust 5196533f91f.
    • GPencil: Refactor: Make Texture UV transform behave like normal 3D ones 1da03b2e806.
    • GPencil: Refactor: Move batch cache functions to DRW module 41cef139adc.
    • GPencil: Refactor: Move iterator to BKE 154fa8b8536.
    • GPencil: Refactor: Move vertex shader logic to gpencil_common_lib.glsl fb514173709.
    • GPencil: Refactor: Overlay: Add hide selection option back 6ac1f2eff25.
    • Gpencil: Refactor: Overlay: Fix crash when no gpencil object is active d9f0885050c.
    • GPencil: Refactor: Remove 3D stroke offset 80109a69eae.
    • GPencil: Refactor: Remove last occurence of stl->storage b6ff712af2b.
    • GPencil: Refactor: Remove per layer random color jitter in wireframe 50da5bf2cbe.
    • GPencil: Refactor: Replace Stroke Miter break by rounded corners b83692e11a3.
    • GPencil: Refactor: Rewrite the render pipeline 42ad3282c5c.
    • Gpencil: Refactor: Support per layer random color in wireframe overlay 938a26be8fe.
    • GPencil: Refactor: Support solid mode color modes 710601b5d01.
    • GPencil: Refactor: Use drawcall matrices instead of custom one 93c9347e9c4.
    • Overlay: Allow alpha blend passes to write to the line buffer 31700ba657b.
  • Next week

I will dedicate my time to the bug tracker & patch review until further notice.

Week 155 : 30th - 5th January

  • Info

Most of the Grease Pencil refactor is done, only the overlays need to be implemented back. This will be the focus of next week alongside some final UI review and cleanup. I hope to bring it to a mergeable state by the start of the week after.

Some noteworthy change is the refactor of current stroke drawing now supporting FX and correct blending. An option will be added to trade accuracy for stroke smooth "feel".

  • General development
    • GPencil: Refactor: Add SMAA as Antialiasing solution 0f7bde8f6f5.
    • GPencil: Refactor: Fix black GPobjects in hero files eca698867c8.
    • GPencil: Refactor: Add stroke fast drawing 94d228a4e4c.
    • GPencil: Refactor: Implement sbuffer stroke drawing 8a1cc77fdd1.
    • GPencil: Refactor: Add back gradient fill mode 384f870f4dc.
    • GPencil: Refactor: Implement Onion skinning back 589a889d232 f0ba75639a9.
    • GPencil: Refactor: Fix dot UV rotation at the end of strokes a6d30c064df.
    • GPencil: Refactor: Remove image size from uv computation 6a51a610743.
    • GPencil: Refactor: Add Stroke dot UV random rotation support 549a547f548.
    • GPencil: Refactor: Use stroke mask to cut dots shape 0d8a4528f72.
    • GPencil: Refactor: Add dot stroke object rotation mode 3fc6f6c5920.
  • Next week

Focus on finishing the GPencil refactor.