From BlenderWiki

Jump to: navigation, search


Week 31 (December 25th - 29th)


Implemented more of the design for collection editing as proposed here: T53495. That includes a change in how we auto-name collections, support to collections with the same name (nested under different collections), sorted fixes, and an addon to try the idea of editing the collections in the object level.

Add-on for per-object collection editing:


Master Commits
  • Fix T53513: Particle size showing in multiple places a6c69ca57f6.
Blender 2.8 Commits
  • Depsgraph: Fix copy-on-write assert when freeing Freestyle config bd80ace2da7.
  • Fix T53638: View layer renaming crashes 1/2 b517dc9b2db.
  • Fix T53638: View layer renaming crashes 2/2 110373de6a5.
  • Collections: Allow collections from different "parents" to have the same name c9cb5dc3dab 8620dd7adf2.
  • RNA: name optional dfd7b0d07aa.
  • Context: Fix scene_collection 70cdc8412c4.
  • RNA cleanup: Argument names + tooltip for scene_collection.collections.remove() 2b7f36300e0.
  • Fix T53647: Outliner crashes when active object is deleted f2a24afe8c1.
  • Outliner/Collection: Operator to create (nested) collections 8252a414d8c.
  • Outliner/Collection: Operator to delete selected collections 4d08ef822ce.
  • Outliner/Collection: Interface for Master Collection Tree bbbdb27d658.
Next week

More work in the implementation of the collection editing design.

Week 30 (December 18th - 22th)


Tackled extensive review changes (thank you Sergey) for the now committed Duplicator viewport/render visibility patch. This concludes the implementation of the Collections visibility settings Design Task. This was followed sorted commits, including a fix/feature required by Hero, to bring alpha transparency render for Eevee and Clay (the spotted image of the week) and initial collection editing related commits. Finally I wrote and posted a full Blender 2.8 report in the code blog.

Guitar stage by Davide Tirindelli - demo of eevee alpha background
Blender 2.8 Commits
  • Fix T53583: Crash when instancing a group with an armature 672c9a9a6d6.
  • Fix T53442: Outliner refresh issues when adding new collection b3bcbc9e85a.
  • Fix for T53599: OpenGL render with transparent background e3ef782af5d.
  • Implement duplicator viewport/render visibility options b89f2276e50.
  • T53610: Crash opening file with linked particles fec3be6b545.
  • Collection: Name collection based on parent's name c08dac000ff.
  • Collections: delete a collection move objects to master collection if users=0 fe1e2c2f89b. post
Next week

Continue with the collection editing design implementation.

Week 29 (December 11th - 15th)


Got the proposed designed reviewed and updated after 2 meetings, and implemented and committed the main collection visibility changes. The only thing that is work in progress is the duplicator visibility control. The patch was sent for review, but I still need to integrate the emitter visibility in the same functionality. Also helped Antonio Vazquez with his Drawing 2D Animation in Blender 2.8 post.

Blender 2.8 Commits
  • Fix workspace ui panel after workspace API change 1b2ac71f456.
  • Outliner: Fix selection drawing 53ea46d36c3.
  • Object selection: Fixing cases where old selection flag was used f59728b3ea0.
  • Fix RNA crash for objects without collection properties 569e29c49c1.
  • Fix dupli-frames (and other duplis) 2ddee0ba5ac.
  • Group collection viewport/render options and remove collection visibility 1f5106de610.
  • Depsgraph / Render / Collection: Tag groups for rendering 3a47fb764cd.
  • Depsgraph: Make DEG_OBJECT_ITER more granular 90b79176870.
  • Depsgraph: cleanup DEGOIterObjectData > DEGObjectIterData 0b5616aef1c.
Pending patch
Next week

Address eventually feedback in the duplicator patch and tackle particles emitters. And write a post about Blender 2.8 status. If there is time left I will start implementing the collection editing tasks.

Week 28 (December 4th - 8th)


This week we had a long meeting on Tuesday to talk about how to address ongoing issues with Blender 2.8 communication and moving forward. One of the outcomes was to prioritize the design of the missing parts, so users know what is coming, and we can also more easily expand the team to help tackling these.

I worked in design documents for collections visibility settings, and collection editing as well as some minor commits. I'm quite happy with the proposal for visibility settings, but the collection editing will be a bit more polemic I'm afraid so I still need to polish it.

Master Commits

Blender 2.8 Commits

Design Proposals


Next week

Finish design documents, gather more feedback for them, design other parts. I want to start a document in a state report for the Blender 2.8 project. But not before the designs are well received.

Week 27 (November 27th - 1st)


Finished the group collection patch and merged it in Blender 2.8.


Also, I reviewed a patch about the outliner and reported yet another known issue for the outliner (T53442). It should be easy for new developers to tackle them. They are all listed further down for the records.

Blender 2.8 Commits
  • Fixing alembic unittest after render layer purge 14c3ef82532.
  • Fix T53291: Deleting objects do not delete them from the blend file 91034646c7c.
  • Depsgraph: Fix Camera object showing when not in view layer 2f80fbbac3f.
  • Depsgraph: Tag all id_types on_visible_update 2296b9776a8.
  • Layer: Copy layer collection properties when doing a full copy of scene 33d2535189a.
  • Fix lightprobe single user not working ba17d53e599.
  • Fix memory leak when single_obdata_users() fails to copy datablock 79bbbf7e200.
  • Depsgraph: Add assert to make sure the view layer is part of the scene 58c743f7cc9.
  • Silence warning from object_relations.c a9101b332e3.
  • Groups and collection: initial integration be9e469ead2.
  • Groups and collection: create group from collection aeaf87bbeb0.
  • Groups and collection: editing group collections f91e0577861.
  • Fix update of non-scene owned layer collections 59e8b72881b.
  • Fixup for workspace view_layer fix e9cf3fae8e2.
  • unittests: Update (fix) unittests after workspace API change aa0c9867b27.
Outliner reported issues

For the records, all the current reported outliner tasks are:

  • T51461: Outliner: Problems removing multiple collections in sequence
  • T53340: Outliner: Collections are collapsed when opening file
  • T53442: Outliner: Drawing doesn't refresh after adding a new collection

Next week

I would like to step down a bit from coding to make sure the project is on track. But if I'm up to coding again I would like to work improving the collection pipeline, with shortcuts (e.g., M), the outliner collection collapse issue, check with the UI team what will be the final design for the new collection editor, ... anyways, layer and collection pipeline.

Week 26 (November 20th - 24th)


Finished and committed the SceneRenderLayer > SceneLayer patch, as well as SceneLayer > ViewLayer rename refactor. There is no more reference to scene layer in the entire code.

I also did a few unittests to help make sure depsgraph changes are not breaking things. The dupli group tests couldn't me committed because it still fails because of a bug in the depsgraph dupli iterator.

Blender 2.8 Commits
  • Shows all Cycles panels based on scene, not context engine ff810f08d86.
  • SceneRenderLayer > SceneLayer: Remove exclude_layer 9ce2370ce4f.
  • SceneRenderLayer > SceneLayer: Remove light_override f15c63b0c22.
  • SceneRenderLayer > SceneLayer: Convert material_override 05306d97663.
  • SceneRenderLayer > SceneLayer: Convert samples_override e22ca0fb860.
  • SceneRenderLayer > SceneLayer: Convert Z-Mask d276e45ee6c.
  • Bitflag tests simplification cb67be3f22c.
  • Doversion: We should always add the old RenderLayer 0a6df6b173c.
  • SceneRenderLayer > SceneLayer: Convert Lay 8ba6103e66b.
  • SceneRenderLayer Removal/Refactor 3a95bdfc65d.
  • Fix SceneRenderLayer memory leak for files created with 2.8 ed1278b0bcd.
  • Layers doversion: Don't set the Viewport created layer as renderable 5265cfdef5e.
  • Fixup for last commit: flipped logic for disabling SceneLayer render 66c0f041a9b.
  • Fix multi layer/multi pass render 15a0ad60274.
  • Fix doversion crash with 2.8 files that had freestyle 2.8 94d40aca0c6.
  • Rename any instance of scene layer or render layer in code with view layer 3abe8b3292c.
  • New view layers should be named "View Layer" (not Render Layer) 99f51804353.
  • Fix specific 2.8 broken files e314aa1e47b.
  • Cleanup: Rename ViewLayer *sl > ViewLayer *view_layer b79b8478ee3.
  • Layers Unittest: Background set 1971dd29768.
  • Object RNA: expose base_flag settings: 4493d0d085b.
  • Unittest: Update background set test to test for proper flag dc2ae8fdf2a.

Next week

Finish the group collection patch and commit it.

Week 25 (November 13th - 17th)


Aside from sorted commits, I worked in the SceneRenderLayer > SceneLayer patch getting close to completion. I also worked with Sergey Sharybin on finishing and publishing the Depsgraph and dynamic override proposal.

Relevant 2.8 Commits
  • Cycles: Fix after recent merge from master 44517c5f217 26a72f0852a.
  • Fix quick smoke getting view_render from the wrong place f4beb64020d.
  • Layers Unittest: Hidden flag to quckly update diffs 58a3057099f.
  • Unittest: Layers - include is_disabled for LayerCollection 1122a401b02.
  • Fixup for doversion/layers: disable collections for scene layers 34c99ee85b8.
  • Layers doversion: Handle hide and hide_render objects 2ec01cc7c59.
Pending Patches
Next week

Wrap up and commit the SceneRenderLayer patch, and handle more cleanup if needed by depsgraph or go back to groups user ref or collection groups.

Week 24 (November 6th - 10th)


Spent most of the week paying some old technical debts. Now we have no more BaseLegacy, Scene.basact, Scene.base anywhere in the code. Also finished and merged the ID Nodes iterator Depsgraph: patch. And other sorted fixes while handling the cleanups. Finally handled doversion for 2.79 files that have hide and hide_render objects. Rendering now is the same as it was (Cycles unittests all pass now).

Note: Decided with Sergey Sharybin that the Groups and collection Patch can wait until more technical debt is taken care of. Also we decided to have it simpler first (without Group Collections, but still using LayerCollections as the way for groups to handle their internal members and visibility), and then approach this afterwards.

Relevant 2.8 Commits
Master Commits
  • Fix: unselectable objects can be selected via the NLA editor ee49ee24c33.
  • Fix logic for pinning textures users from context 92b342d30d3.
Next week

More cleanups, specifically to move the data from SceneRenderLayer into SceneLayer. Followed by trying to merge Groups and collection. Bastien Montagne proposed to change how groups handle user count, so I may look at that before wrapping up the patch.

Week 23 (October 30th - 3rd)


More work on finishing the Groups and collection Patch. Short week due to holidays.

Relevant Commits
  • Prevent users to be able to override context engine 0dd98af2559.
  • Workspace cleanup: engine_id is in ViewRender bbb4fa7e476.
  • Collections: Bring back simple visibility behaviour 7553523af7b.
  • Introduce "skip" in BLI_Iterator struct 16f06e9dc9f.
  • Fix renderlayers UI removing the wrong renderlayer 7aabe3f66ca.

Week 22 (October 23th - 27th)


Sorted fixes in 2.8, long overdue refactor in rna (moving layer code from rna_scene.c to a new rna_layer.c file), patch to handle depsgraph objects iterator differently and finished up most (not all) work required for the "Groups and collection" patch. Note I decided not to do the "list" with all the required UI tasks, because during the UI team meeting, Julian Eisel said he will do it himself.

Relevant Commits
  • Showing Clay collection settings when clay is the workspace not the scene engine 4de8e12adac.
  • Fix freestyle UI after workspace > engine changes 86899c1adf1.
  • Fix T53156: VSE not working since Workspace > engine change 6b739bc2dcd.
  • Fix T52392: Node materials (Materials and World) not updated in viewport 005cb901133.
  • Fix non-instanced groups in no-collection file creating collections. 7484c6c5ee6.
  • Refactor: Move rna_scene.c layer/collection to rna_layer.c 23a5726ec28.
Work in Progress Patches
Next week

I want to spend the begin of the week (Monday/Tuesday) with Jonathan William to see if we can make good use of his time in Amsterdam. Also hopefully there is some review in the ID Nodes patch so I can tackle and merge it. And I would love to finish the group collection patch and send for review. That said, Thursday is holiday here and I'm taking Friday off, so it's a short week.

Week 21 (October 16th - 20th)


I helped putting together a week-by-week planning for Depsgraph with Sergey [1] and Asset and Static Override with Bastien [2]. I then finished and committed the patch for engines to be part of workspace [D2842]. Next I started working on my three parts patch for groups and collections [D2892]. Meanwhile I fixed/reported a few bugs in 2.8 related to group proxies. Group proxy, make dupli real are all working now. Finally I helped testing and reviewing Brecht's patch: "Multiview OpenEXR save/load refactor and fixes" [D2887].

Relevant Commits
  • Fix/properly implement: "make group proxy" fc10484f7c5.
  • Follow up to engine in workspaces, using clay as default 0bcb61b2fe9.
  • Fix crash when Making Duplicates Real for groups 5aff67fb5ee.
  • Layers: Fix selected lamp and dupli count for info stats 028a558116d.
  • Fix for objects trailing in viewport when using BI in scene+Eevee in workspace 314542ffd4c.
  • Workspace: Move engines to workspace and Properties Editor cleanup e4f2b2be26a.
  • Fix compatibility flag for nodetree e8962f90de4.
Work in Progress Patches
Next week

I would like to put together a list with all the feedback we need from the UI/design team. With most of the planning out of the way (save from my own planning for workbench) we can have a better picture of what the bottlenecks are, and stimulate the design team to jump in. Apart from that I would like to finish the group collection patch entirely, so that I can move to polishing collection usability (even if we still miss final mockups for the UI).

Week 20 (October 9th - 13th)


Fixed Cycles material preview, helped Campbell Barton with 101 roadmap, ported Blender 2.8 Design Document to wiki, discussed how to handle collection visibility a lot with Sergey Sharybin and Pablo Vazquez, and prepared a patch with suggested options and worked on my wokspace -> engine patch.

  • Fix T53014: Cycles material preview not working
Pending Patches
  • Bring engines to workspace and UI sanitize D2842
  • Layer evaluation --set-advanced-collection-evaluation D2878
Next week

I want to finish my patches, and help getting asset manager or depsgraph a roadmap as well.

Week 19 (October 2nd - 6th)


First week working remotely. No proper weekly report. Things will be back from normal from now on. post
Next week

Now that the technical design doc is published, I want to wrap up pending patches related to new design (engine in workspace, collection hide/render flags, collection groups) and fixing material previews.

Week 18 (September 25th - 29th)


Last week working from the Blender Institute. No proper weekly report.

Week 17 (September 18th - 22th)


Finished with Pablo and Ton the post about collections. Also Eevee was really broken (T52855 since last week so I spent some time working with Clément to fix it. So we could present the new splashscreen with everything working. Started the implementation of collection enable/disable. Finished the week with a meeting with Bastien, Brecht and Sergey about 2.8 related design.

Pending Patches
  • Build Info: Splash screen color change D2852
  • Collection enable/disable: use camera visibility as behaviour D2851 post
Next Week

Friday I will be gone, and I will spend some time during the week wrapping up my stay here (city hall, bank account, ...). But I will update the design doc, and update the patches based on the design meeting feedback. Hopefully will get those patches (workspace engine and collection visibility/renderability) merged by the end of the week.

Week 16 (September 11th - 15th)


Meeting about grease pencil on Tuesday. Thursday and Friday with Clément Foucault at the studio, defining the Eevee roadmap. And more coding work for the workspace engine changes, submitted for review on D2842. Which lead to time spent communicating the new design proposal, including a length back and forth at D2842. Also started own roadmap for upcoming 2 quarters.

Branch: `temp-workspace-changes`
  • Use engine from context/render in more places 8cafa42a91a.
  • Fix engine context in Cycles cb259dc0442.
  • Store engine_name in render struct and use it for render preview 02bc44c5ab2.
  • Workspace/Engine: Create BKE_render_* calls equivalent to BKE_scene_* fff4ab55578.
  • Fix UI compatibility to use context.engine 7215830df90.
  • Use workspace engine for draw manager "render preview" efec3b097b8.
Patch reviewed, pending addressing suggestions
  • Bring engines to workspace and UI sanitize D2842.
Grease pencil
6 months roadmap

Week 15 (September 4th - 8th)


Final take on re-visiting the viewport design in light of the workspace implementation. Developed the final treatment on this with Ton Roosendaal and Pablo Vazquez. We will have this as properly formatted documents this week. After that I started some of the implementation regarding workspace changes. It's in a branch since I would like the design to be review by other developers before we bring this to 2.8.

2.8 Commits
Branch: `temp-workspace-changes`
  • Expose scene > engine in the UI (render panel) a62a1e4.
  • Use workspace -> engine in the opengl render f46edd0.
  • Use workspace -> engine in the viewport 6537660.
  • Collection Panel: Get mode from workspace f0ccf03.
  • Context: Expose "engine" for Python and add BKE_render_engine_get() fda4f87.
  • Properties Editor: Add Workspace and organize context path f14c7a7.
  • Workspace: Add (render) engines 60081b0.
  • Workspace: SETLOOPER should get render layer from workspace a2a3e04.
  • Pass workspace for space listeners bb8f2c5.
  • Workspace: "use_scene_settings" flag ddf95cc.

Diagrams illustrating the move of toolsettings and draw settings from scene, viewport, object and data structs to workspaces.


Upcoming Task List
  • Enable collection
  • Outliner filter
  • Viewport collection editor
  • "Group" collection
  • Move tool and display settings to workspace
  • Have engine render settings per workspace
  • Modes data flush for workspaces
  • Workspace UI: topbar, properties editor and viewport
  • Current frame in workspace
  • F12 layers are the enabled ones

Week 14 (August 28th - September 1st)


Finished the previous design document, ported it to wiki. Worked in the tracker (triaging and bisecting). Worked in design of Object and Edit mode data (see diagrams below). And few sorted commits.

  • Increase max/min frame range to over a million 44e10a5.
  • Eevee: Fix conditional statement depending on unitialized value 698bae0.
  • First take on fixing OpenColorIO issues on Mac 510651e.
Addendum to last week's design


Upcoming Diagrams


Week 13 (August 21th - 25th)


I worked in usability design for scene organization and workspaces. The document will be in the wiki soon. Apart from that I took a day to do 2.8 coding, and tackled the orco generated texture mapping.

  • Revert "material Glsl: Fix tangent with new orco." ae04e27bfa5
  • Fix T52528: generated texture mismatch between Cycles and Eevee 0feeef89f06
  • Revert "Eevee: Fix generated coordinates when no texture coordinates connected" 99b1f9f4f46
  • Fix ORCO never used for draw manager (Eevee) 4e975b6b442
  • Eevee: Fix generated coordinates when no texture coordinates connected 0e29a97813d
  • Cycles Bake: Fix overflow when using hundreds of images 1fb26370067
  • GL_TEXTURE_2D_ARRAY wasn't handled in GPU_texture_update d7b3e33af43
  • GPU Texture: Use switch instead of if/else 9457715d9a6
Usability design proposal

Week 12 (August 14th - 18th)


Back from holidays. Eevee planning and eevee sample file organizing not included in this report. Preparing the room for moving on to usability next week.

  • Eevee: Convert metallic nodes into princinpled nodes 036f43f3cde
  • Swap Eevee material output with (Cycles) Material Output e8f0ee157b2
  • Expose Transparency BSDF for Eevee UI 8ab6e8aad62
  • Uniform Buffer Objects: More complete padding solution 2dad2aa9b7d
  • Fix ubo vec3 alignment issue f4bd416b342
  • Fix zombie manipulators when deleting collection from outliner a4068d00830
  • Fix T52415: Copy/Pasting a mesh immediately crashes blender 6bca0dcf7bd
  • Update code comments from DAG_id_tag_update to DEG_id_tag_update 2b95617b152
  • Depsgraph/Layers: Keep original visibility when doing full scene copy 18ce2bfac63

Week 11 (July 10th - 14th)

The highlight of this 4-day week was the Uniformbuffer block for nodetree parameters. That means you can tweak shaders in the nodetree and things are way faster. This is a huge improvement, particularly in systems that have no shader cache (e.g., Mesa drivers on linux). Apart from that we sanitized some of the workspace issues, and fixed some breakages.

  • Implement Uniformbuffer objects for nodetree parameters 2a489273d7e
  • Fix snap in 2.8 after poor merge from master 4467efe9716 0ea4bb51df9
  • Revert "Fix T51794: Crash on hair file when opening with no UI" 78e2238fe4c
  • Workspace: Fix crash on preview, and sanitize placeholder functions b48694639af
  • Eevee: Fix crash on eevee lamps and shadows 445963f2997
  • RNA/UI: Always use capitalized words in the UI e5d74954bfe
  • Lamps should not have their own gpu material 2325d15d02e
Next Week

It's my last week before holidays. So I'm either tackling something big (groups as collection? multi-window?) or trying to pin down usability and other pending topics for the team to tackle in the upcoming weeks.

Week 10 (July 3rd - 7th)

Apart from the listed commits and fixes, I worked on bring UBO (Uniform Buffer Objects) for nodetree inputs. That means we can have shader tweaking and animation work fast, without compromising the drawing performance. This is yet not finished though.

  • Fix T51963: Eevee: ASAN crash on copy_attrib_name 871325e26f
  • Eevee: Hide lightprobe data when using "Only Render" 1ad0cc6bde
  • Fix building with gcc6 after merge from master 3fc342bda0
  • Fix alembic after merge from master 3eeac771d0
  • Fix edit mode not drawing e571e6d60e
  • Eevee: Fix world test for volumetric 84d20dd227
  • Expose rna_translate_ui_text to be used for interface templates eb48eeba84
  • Override template: Add text and icon optional parameters 6de28e7f90
  • Eevee: Move volumetric to its own panel, new settings to come 971ecfa721
  • Fix User Interface for Volumetric 5495f89cf6
  • Draw Manager: Use defines instead of hardcoded enum values 15f5457502
  • GPU: Silence warning of potentially unused variable (NormalMatrix) e960cecdf8
Live Stream
Next Week

Finish tweaking shader and animation updated uniforms patch. And then decide on what is more important next.

Week 9 (June 26th - 30th)

We now can export renders from viewport, get a decent performance when adding lamps, changing the world, ...

Although some of this was thanks to my own fixes most of it was thanks to bug reports. I spent time on "quality assurance". Which translates to test the features that the team was implementing, and make sure they are 100% working, or if not, at least reported. That included reports for Eevee, Draw Manager and Gawain as you can see below.

  • D2732: Alternative Fix T51877: Deleting a scene uses freed memory.
Reported Bugs
  • T51904: Eevee Depth of Field: Issues with opengl viewport render.
  • T51913: Context tab for textures issue.
  • T51920: Draw Manager: Set Origin is not updating mesh cache.
  • T51921: Gawain assert with heavy mesh when selecting vertices on edit mode.
  • T51922: Eevee: Probe and AO issues.
  • T51924: Eevee: Mysterious square shows up in spot lamp.
  • T51925: Eevee: Animated Eevee values slowdown.
  • T51931: Eevee: Tangent normal map refresh issue.
  • T51938: Draw Manager / Eevee: Sculpting mode doesn't have fancy shaders (UVs show black).
  • T51939: Eevee / Draw Manager: Tangent not available in sculpt mode.
  • cdb07ff30e: Eevee: broken default coordinate.
  • T51943: Depsgraph: world update happening eternally on background (set) scene
Next Week

Since I didn't dedicate time to work on render/material preview with Eevee, I would like to do it this week. As well as define with Sergey an attack plan for the uniforms issue.

Week 8 (June 19th / 23rd)

Mixed mixes and UI changes. Focus on rendering to image pipeline and Eevee shader compilation issues. Some grease pencil work to support the studio sequencer pipeline needs (see c2d285f0ff and D2722).

For the shader compilation issue (T51467) I created an opengl sandbox to help isolate the problem from Blender. See link below.

  • Fix T51863: CompositorNodeSwitchView have the wrong rna API be4b5551c7
  • Grease Pencil: Fix hardcoded DKEY for continous drawing c2d285f0ff
  • Fixup for gawain rename 701a76769d
  • Fix collada build after gawain rename/refactor 63d71edfca
  • Draw Manager: Introduce functions/options to indicate the type of render 0ef7ccb4d7
  • Indicate to users when manual conversion of Eevee materials is needed 7773a8ad04
  • Light Probes: interface changes, and renames 4cd9a3e337
  • Eevee: Interface and units d9c5433144
  • Eevee: Fix max range of lightprobes 5b2e596ce9
External Repository
Next Week

Handle anti-aliasing situation for viewport render, investigate the shader issue a bit further, and do render/material preview for Eevee.

Week 7 (June 16th)

Started on render_to_image. But spent most of the week on more fixes, setting up an Intel development machine to reproduce the issues there (try new drivers, ...), fixed group collection proposal document, helped Grease Pencil project, and organized the reports on 2.8 workboard.

  • Depsgraph: Traversing should be consistent for nodes and relationship 8ca497b911
  • Draw Manager: Fix memory issues when copying scene 109447d008
  • Fix T51777: Separating objects by selected vertices in Eevee causes crash 47b9d0d0403
  • Grease Pencil: Fix problems linking object with Pallete 8d3e2af877.
  • Fix T51463: Eevee motion blur not working (with AMD) 1a7099f3ec.
  • Fix duplication of scene, it was missing duplication of layer properties cd21236ea1
  • Expose World ID panel for Eevee 281a4540e2
  • Fix object selection doversion issue since Workspace 946bc4d3c1
Next Week

More 2.8, finish up render_to_image.

Week 6 (June 9th)

A short week (Monday was holidays). I spent mostly finishing up dupli instancing issues (there are still some issues with using stack data). Multi-window investigation consumed some time (created a [non-committed] debug engine for that). See discussion in the investigation link.

  • T51736 Drawing issues when running in multiple windows
  • T51722 Background updating error in Eevee
Next Week

Finish the dupli group design, publish and start implementing it. Then pending tasks from previous week(s): tackle render_to_image/render_to_view and clear my coding agenda as much as possible to start usability issues in Draw Manager/Blender 2.8 viewport.

Week 5 (June 2nd)


Wrapped up the core of dupli objects, implemented append, master Cycles baking bugfixing, blog post and documentation writing, grease pencil meeting, and overall cleanups.

Also spent some time trying to get unittests to work again. One of Eevee and workspace commits made multiple layer related unittests to fail. Leading to crashes on hair among other issues.

Some time on reviewing 2.8/Eevee progress and reporting issues, such as T51464 and T51465.

Commits Master
  • Fix T49570: Cycles baking can't handle materials with no images 2cd7b80cae6
  • Baking: Add logic to get material from API regardless of Mesh/Object ownership 9cae631059c
Next Week

Finish Cycles dupli objects (or rather, review Sergey's work on it), investigate multi-window issues (clay/Eevee), render_to_image/render_to_view, and start to focus on usability, polish and finish up viewport mockups and designs. If time allows, I would like to stress test workspaces too, at least see if I can fix the crashes on the unittests.

Week 4 (May 26th)


No report, spent the week with Clement on Eevee documentation, optimization and planning.

Week 3 (May 19th)


The original plan of bringing render_to_image and render_to_view to draw manager was not successful. I ended up spending most of the week on fixes and cleanups.

As far as new features goes we got Freestyle working for 2.8 (with Cycles). This way we can also remove the Freestyle derivedmesh related code and keep testing to make sure it still renders fine in Cycles (and in the future with the other draw manager).

  • Fix T51501: Cycles baking cancel affects baking script b60f80e9b3
  • Fix info header stats to iterator over layer instead of scene 1e31127933
  • Fix hair width changing e43597446e
  • Clay/Hair: Only show hair when in object mode b11168c8f1
  • Outliner: Bring back "activate" object when selecting from outliner 15317775c5e
  • Clay hair: use builtin reflect function fca52c42ae
  • Fixup on weightpaint shader after rB{{GitCommit|fabd55a5e9} c8e96a8b6b
  • Freestyle working for Blender2.8 c55c2dbfba c2191912ca
  • Fix crash when adding Torus in edit mode 4525357a3a
  • Fix crash when changing Clay "Edge Strength" 3af8f52752
  • Remove "Modern Viewport" 740f33d8a2
  • Remove viewport shading panel 781e22c2df
  • Correct core profile way of getting color depth bad8b91fd3
  • Remove reference to WITH_GL_PROFILE_CORE 60fc04fb9b
  • Remove reference to SUPPORT_LEGACY_MATRIX 3527739002
  • Remove reference to WITH_LEGACY_OPENGL 2383667a2e
  • Remove unused functions after WITH_LEGACY_OPENGL cleanup 8975ad7a88
Next Week

Since Clément is going to be here next week time will be spent on planning next steps for Eevee and the draw manager. Apart from that I still want to finish the render_to_image/render_to_view for draw manager.

The idea is to use F12 to always draw the current workspace with "render_to_image", and no extra engine/modes. Then to keep the "viewport render" (formerly known as OpenGL render) and also do a render_to_image, but including all the extra mode/engines being used.

Week 2 (May 12th)


Fixed multi-view single camera mode in master and 2.8. This is the most common mode to use when working with multi-view, and had problems with selection, grease pencil, 3d cursor placement, and transform manipulators.

Expanded override interface to take arrays. That means color override properties are now supported.

Some time on reviewing Eevee progress and reporting issues, such as T51695 and T51694.

Addressed concerns and move the Override Manifesto to the wiki. And then I wrote a document on Draw Manager Possibilities, to guide mockup designers and developers.


Week 1 (May 5th)


The main task of this week was to integrate Cycles with the draw manager. This means using Cycles and object engine (selection outline, object center), edit engine (mesh overlay), weight paint, ...

This can be seen on youtube:

On top of that, we now have a info system that can be used not only for cycles in the viewport, but also by any other engine at the same time.

Also I brought the pose bone drawing as part of the pose engine (so it works with the weightpaint engine as well).

The way we handle collection properties at read time was rethought. So now you can add new properties for any engine and get them automatically integrated into the existing elements. Without the need of version bumping for every elements.

And finally I implemented scene render settings. This means that engines can define their render settings in the scene level, and override them at the layer level. An example is the "samples" quality of clay shaders. Eevee is expected to use those as well.

Next week

More draw manager.