From BlenderWiki

Jump to: navigation, search

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.

Commit
  • 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.

Commit
  • 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.

Commit
Uncommitted
  • 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.


Commit
  • 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.

Commit
  • 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.

Commit
Design
Investigations
  • 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)

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 2cd7b80cae6
  • Baking: Add logic to get material from API regardless of Mesh/Object ownership 9cae631059c
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.

Week 4 (May 26th)

Info

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

Week 3 (May 19th)

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

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

Week 1 (May 5th)

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.