Note: This is an archived version of the Blender Developer Wiki (archived 2024). The current developer documentation is available on developer.blender.org/docs.

User:Dfelinto/Reports/2017

December 25-29

Info

Implemented more of the design for collection editing as proposed here: #53495. 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:

Dev-2.8-weekly-report-addon-collection-object-editor.png

Master Commits
  • Fix T53513: Particle size showing in multiple places a6c69ca57f.
Blender 2.8 Commits
  • Depsgraph: Fix copy-on-write assert when freeing Freestyle config bd80ace2da.
  • Fix T53638: View layer renaming crashes 1/2 b517dc9b2d.
  • Fix T53638: View layer renaming crashes 2/2 110373de6a.
  • Collections: Allow collections from different "parents" to have the same name c9cb5dc3da 8620dd7adf.
  • RNA: scene_collection.collections.new() name optional dfd7b0d07a.
  • Context: Fix scene_collection 70cdc8412c.
  • RNA cleanup: Argument names + tooltip for scene_collection.collections.remove() 2b7f36300e.
  • Fix T53647: Outliner crashes when active object is deleted f2a24afe8c.
  • Outliner/Collection: Operator to create (nested) collections 8252a414d8.
  • Outliner/Collection: Operator to delete selected collections 4d08ef822c.
  • Outliner/Collection: Interface for Master Collection Tree bbbdb27d65.
Addon
Next week

More work in the implementation of the collection editing design.

December 18-22

Info

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 672c9a9a6d.
  • Fix T53442: Outliner refresh issues when adding new collection b3bcbc9e85.
  • Fix for T53599: OpenGL render with transparent background e3ef782af5.
  • Implement duplicator viewport/render visibility options b89f2276e5.
  • T53610: Crash opening file with linked particles fec3be6b54.
  • Collection: Name collection based on parent's name c08dac000f.
  • Collections: delete a collection move objects to master collection if users=0 fe1e2c2f89.
code.blender.org post
Next week

Continue with the collection editing design implementation.

December 11-15

Info

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 1b2ac71f45.
  • Outliner: Fix selection drawing 53ea46d36c.
  • Object selection: Fixing cases where old selection flag was used f59728b3ea.
  • Fix RNA crash for objects without collection properties 569e29c49c.
  • Fix dupli-frames (and other duplis) 2ddee0ba5a.
  • Group collection viewport/render options and remove collection visibility 1f5106de61.
  • Depsgraph / Render / Collection: Tag groups for rendering 3a47fb764c.
  • Depsgraph: Make DEG_OBJECT_ITER more granular 90b7917687.
  • Depsgraph: cleanup DEGOIterObjectData > DEGObjectIterData 0b5616aef1.
Pending patch
Next week

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

December 4-8

Info

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

Dev-2.8-weekly-report-dfelinto-move-to-collection-mockup.png

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.

November 27-1

Info

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

Dev-2.8-weekly-report-dfelinto-group-collection-override.jpg

Also, I reviewed a patch about the outliner and reported yet another known issue for the outliner (#53442). 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 14c3ef8253.
  • Fix T53291: Deleting objects do not delete them from the blend file 91034646c7.
  • Depsgraph: Fix Camera object showing when not in view layer 2f80fbbac3.
  • Depsgraph: Tag all id_types on_visible_update 2296b9776a.
  • Layer: Copy layer collection properties when doing a full copy of scene 33d2535189.
  • Fix lightprobe single user not working ba17d53e59.
  • Fix memory leak when single_obdata_users() fails to copy datablock 79bbbf7e20.
  • Depsgraph: Add assert to make sure the view layer is part of the scene 58c743f7cc.
  • Silence warning from object_relations.c a9101b332e.
  • Groups and collection: initial integration be9e469ead.
  • Groups and collection: create group from collection aeaf87bbeb.
  • Groups and collection: editing group collections f91e057786.
  • Fix update of non-scene owned layer collections 59e8b72881.
  • Fixup for workspace view_layer fix e9cf3fae8e.
  • unittests: Update (fix) unittests after workspace API change aa0c9867b2.
Outliner reported issues

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

  • #51461: Outliner: Problems removing multiple collections in sequence
  • #53340: Outliner: Collections are collapsed when opening file
  • #53442: 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.

November 20-24

Info

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 ff810f08d8.
  • SceneRenderLayer > SceneLayer: Remove exclude_layer 9ce2370ce4.
  • SceneRenderLayer > SceneLayer: Remove light_override f15c63b0c2.
  • SceneRenderLayer > SceneLayer: Convert material_override 05306d9766.
  • SceneRenderLayer > SceneLayer: Convert samples_override e22ca0fb86.
  • SceneRenderLayer > SceneLayer: Convert Z-Mask d276e45ee6.
  • Bitflag tests simplification cb67be3f22.
  • Doversion: We should always add the old RenderLayer 0a6df6b173.
  • SceneRenderLayer > SceneLayer: Convert Lay 8ba6103e66.
  • SceneRenderLayer Removal/Refactor 3a95bdfc65.
  • Fix SceneRenderLayer memory leak for files created with 2.8 ed1278b0bc.
  • Layers doversion: Don't set the Viewport created layer as renderable 5265cfdef5.
  • Fixup for last commit: flipped logic for disabling SceneLayer render 66c0f041a9.
  • Fix multi layer/multi pass render 15a0ad6027.
  • Fix doversion crash with 2.8 files that had freestyle 2.8 94d40aca0c.
  • Rename any instance of scene layer or render layer in code with view layer 3abe8b3292.
  • New view layers should be named "View Layer" (not Render Layer) 99f5180435.
  • Fix specific 2.8 broken files e314aa1e47.
  • Cleanup: Rename ViewLayer *sl > ViewLayer *view_layer b79b8478ee.
  • Layers Unittest: Background set 1971dd2976.
  • Object RNA: expose base_flag settings: 4493d0d085.
  • Unittest: Update background set test to test for proper flag dc2ae8fdf2.


Next week

Finish the group collection patch and commit it.

November 13-17

Info

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 44517c5f21 26a72f0852.
  • Fix quick smoke getting view_render from the wrong place f4beb64020.
  • Layers Unittest: Hidden flag to quckly update diffs 58a3057099.
  • Unittest: Layers - include is_disabled for LayerCollection 1122a401b0.
  • Fixup for doversion/layers: disable collections for scene layers 34c99ee85b.
  • Layers doversion: Handle hide and hide_render objects 2ec01cc7c5.
Docs
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.

November 6-10

Info

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 ee49ee24c3.
  • Fix logic for pinning textures users from context 92b342d30d.
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.

October 30-3

Info

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 0dd98af255.
  • Workspace cleanup: engine_id is in ViewRender bbb4fa7e47.
  • Collections: Bring back simple visibility behaviour 7553523af7.
  • Introduce "skip" in BLI_Iterator struct 16f06e9dc9.
  • Fix renderlayers UI removing the wrong renderlayer 7aabe3f66c.

October 23-27

Info

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 4de8e12ada.
  • Fix freestyle UI after workspace > engine changes 86899c1adf.
  • Fix T53156: VSE not working since Workspace > engine change 6b739bc2dc.
  • Fix T52392: Node materials (Materials and World) not updated in viewport 005cb90113.
  • Fix non-instanced groups in no-collection file creating collections. 7484c6c5ee.
  • Refactor: Move rna_scene.c layer/collection to rna_layer.c 23a5726ec2.
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.

October 16-20

Info

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" fc10484f7c.
  • Follow up to engine in workspaces, using clay as default 0bcb61b2fe.
  • Fix crash when Making Duplicates Real for groups 5aff67fb5e.
  • Layers: Fix selected lamp and dupli count for info stats 028a558116.
  • Fix for objects trailing in viewport when using BI in scene+Eevee in workspace 314542ffd4.
  • Workspace: Move engines to workspace and Properties Editor cleanup e4f2b2be26.
  • Fix compatibility flag for nodetree e8962f90de.
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).

October 9-13

Info

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.

Commits
  • Fix #53014: 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.

October 2-6

Info

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

code.blender.org 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.

September 25-29

Info

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

September 18-22

Info

Finished with Pablo and Ton the code.blender.org post about collections. Also Eevee was really broken (#52855 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.

Commits
Pending Patches
  • Build Info: Splash screen color change D2852
  • Collection enable/disable: use camera visibility as behaviour D2851
code.blender.org 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.

September 11-15

Info

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 8cafa42a91.
  • Fix engine context in Cycles cb259dc044.
  • Store engine_name in render struct and use it for render preview 02bc44c5ab.
  • Workspace/Engine: Create BKE_render_* calls equivalent to BKE_scene_* fff4ab5557.
  • Fix UI compatibility to use context.engine 7215830df9.
  • Use workspace engine for draw manager "render preview" efec3b097b.
Patch reviewed, pending addressing suggestions
  • Bring engines to workspace and UI sanitize D2842.
Grease pencil
6 months roadmap

September 4-8

Info

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.
Images

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

Dev-2.8-design-object-edit-mode-diagrams.png

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

Aug 28 - Sep 1

Info

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.

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

Dev-2.8-design-worskpace-render.jpg

Documentation
Upcoming Diagrams

Dev-2.8-design-engine-settigns-diagrams.jpg

August 21-25

Info

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.

Commits
  • Revert "material Glsl: Fix tangent with new orco." ae04e27bfa
  • Fix #52528: generated texture mismatch between Cycles and Eevee 0feeef89f0
  • Revert "Eevee: Fix generated coordinates when no texture coordinates connected" 99b1f9f4f4
  • Fix ORCO never used for draw manager (Eevee) 4e975b6b44
  • Eevee: Fix generated coordinates when no texture coordinates connected 0e29a97813
  • Cycles Bake: Fix overflow when using hundreds of images 1fb2637006
  • GL_TEXTURE_2D_ARRAY wasn't handled in GPU_texture_update d7b3e33af4
  • GPU Texture: Use switch instead of if/else 9457715d9a
Usability design proposal

August 14-18

Info

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.

Commit
  • Eevee: Convert metallic nodes into princinpled nodes 036f43f3cd
  • Swap Eevee material output with (Cycles) Material Output e8f0ee157b
  • Expose Transparency BSDF for Eevee UI 8ab6e8aad6
  • Uniform Buffer Objects: More complete padding solution 2dad2aa9b7
  • Fix ubo vec3 alignment issue f4bd416b34
  • Fix zombie manipulators when deleting collection from outliner a4068d0083
  • Fix #52415: Copy/Pasting a mesh immediately crashes blender 6bca0dcf7b
  • Update code comments from DAG_id_tag_update to DEG_id_tag_update 2b95617b15
  • Depsgraph/Layers: Keep original visibility when doing full scene copy 18ce2bfac6

July 10-14

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.

Commit
  • Implement Uniformbuffer objects for nodetree parameters 2a489273d7
  • Fix snap in 2.8 after poor merge from master 4467efe971 0ea4bb51df
  • Revert "Fix T51794: Crash on hair file when opening with no UI" 78e2238fe4
  • Workspace: Fix crash on preview, and sanitize placeholder functions b48694639a
  • Eevee: Fix crash on eevee lamps and shadows 445963f299
  • RNA/UI: Always use capitalized words in the UI e5d74954bf
  • Lamps should not have their own gpu material 2325d15d02
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.

July 3-7

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.

Commit
  • Fix #51963: 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.

June 26-30

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.

Commit
Uncommitted
  • D2732: Alternative Fix #51877: Deleting a scene uses freed memory.
Reported Bugs
  • #51904: Eevee Depth of Field: Issues with opengl viewport render.
  • #51913: Context tab for textures issue.
  • #51920: Draw Manager: Set Origin is not updating mesh cache.
  • #51921: Gawain assert with heavy mesh when selecting vertices on edit mode.
  • #51922: Eevee: Probe and AO issues.
  • #51924: Eevee: Mysterious square shows up in spot lamp.
  • #51925: Eevee: Animated Eevee values slowdown.
  • #51931: Eevee: Tangent normal map refresh issue.
  • #51938: Draw Manager / Eevee: Sculpting mode doesn't have fancy shaders (UVs show black).
  • #51939: Eevee / Draw Manager: Tangent not available in sculpt mode.
  • cdb07ff30e: Eevee: broken default coordinate.
  • #51943: 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.

June 19-23

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 (#51467) I created an opengl sandbox to help isolate the problem from Blender. See link below.


Commit
  • Fix #51863: 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.

June 16

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.

Commit
  • Depsgraph: Traversing should be consistent for nodes and relationship 8ca497b911
  • Draw Manager: Fix memory issues when copying scene 109447d008
  • Fix #51777: Separating objects by selected vertices in Eevee causes crash 47b9d0d040
  • Grease Pencil: Fix problems linking object with Pallete 8d3e2af877.
  • Fix #51463: 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.

June 9

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.

Commit
  • Fix crash when using sculpt dynamic smooth dadb99074c
  • Draw Manager: stop using stack memory! f35df9a25a
  • Implement a new util function to get reference of mesh tex space 35f8a02496
  • Eevee DoF: Use more reasonable UI range for anamorphic bokeh ee93bc806b
  • Fix #51720: Depth of Field Bug - Black Screen 461ea375ad
  • Fix #51750: Group selection broken 484e3527d1
  • gcc5 has issues with Wconversion 29ace10f7e
  • Small cleanup: Use ELEM and wrong identation 7f01329a84
  • CMake: Update clay engine message 6d2aabc1d0
  • Draw Manager: Prevent misuse of static draw context cb97b07e23
  • Force crash on depsgraph iterator wrong access. d267d76540
  • Draw manager: visibility of objects centers to mimic old 2.7x behaviour a418e269c8
  • Fix logic for bitwise flags in bases during deg iterator 8ff405ebd4
  • Fixup for 824bf261f7 so Cycles does not show dupli c5dccc9734
  • Silence annoying rna warnings from Eevee 9dddd73ee3
  • Initial implementation for dupli objects 824bf261f7
Design
Investigations
  • #51736 Drawing issues when running in multiple windows
  • #51722 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.

June 2

Info

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
Commits Master
  • Fix T49570: Cycles baking can't handle materials with no images 2cd7b80cae
  • Baking: Add logic to get material from API regardless of Mesh/Object ownership 9cae631059
Publications
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.

May 26

Info

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

May 19

Info

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).

Commits
  • 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 15317775c5
  • 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.

May 12

Info

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.

Commits
Publications

May 5

Info

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: https://www.youtube.com/watch?v=UwarUj_Y6J0

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.


Commits
Next week

More draw manager.