Developer Meeting Notes

Wow that’s bad. Hiding renderability by default. If it were coupled to the eye icon then it would be no deal, so you could turn objects on and off with one click. This would seem logical to me if you only provide one option. But this way you turn something off, and it still renders, or the other way around, and you don’t see why. Might just become one of these paper cuts for beginners…

2 Likes

Isn’t renderability toggle redundant now ? Now that we have view layers to separate the “workbench” from the “renderbench” so to say, and the line is blurred more and more between viewport and (final) render… I’m not sure there should even be a distinction anymore. Want to render ? Switch to your “render” viewlayer. I thought that was the objective with view layers ? @William ?

1 Like

Thank you kindly.

By the way, what is the difference between instance visibility and viewport visibility? (the little chain and eye icons, respectively)

It determines whether or not it will be shown when you instance that collection (the old group instance), so you can work on your collection with tranquility knowing that whatever you show/hide will not affect the instances.

1 Like

No, at least not as of now. You can’t turn single objects on or off with view/renderlayers, only whole collections. For single objects you need the eye toggle AND the renderability toggle, to have what-you-see-is-what-you-get (ie. keep the viewport and your renders in sync).

Yes I agree.

Ok thanks for the explanation ! This whole system is still kind of a mystery to me, as I don’t use it on a daily basis as much as 2.7. I see it’s getting polished more and more though.

Development

  • 8 Summer of Code projects were accepted, see the list here . There is also forum for user feedback and development questions, where each student will start a thread.
  • We aim to freeze the 2.80 user interface and Python API this week, so it is stable for documentation and add-ons. So far things are going according to plan, but we will evaluate next Monday if everything is in place.
  • Automated tests should be fully working now in master. Developers should run them before committing changes. For work on the viewport and Eevee, enable WITH_OPENGL_RENDER_TESTS .
  • As a reminder for all developers, if you change the Python API don’t forget to update the scripts and add-ons along with it. This also helps to test the API changes work well.
  • If any module owners need updated library dependencies, let’s get this done as soon as possible. Currently I’m not aware of libraries that really need an update to a new version.

New Features and Changes

Render

Material and lights settings have been unified more between Cycles and Eevee, to more easily share assets between them. ( Brecht Van Lommel )

  • Lights now use strength and color properties of the light outside of the shading nodes, for both Cycles and Eevee. In Cycles the shading nodes then act as a multiplier on this, and become optional unless textures, fallof or other effects are desired. For Eevee shading nodes are not yet supported on lights.
  • Image textures now use the color space on the image datablock instead of the node, and use OpenColorIO for conversion. Eevee and workbench now match Cycles handling of colorspace and alpha handling more closely.

We attempted to preserve compatibility as much as possible based on the renderer set in the scene, however there are a few corner cases where compatibility will be broken. Material and light importer add-ons and exporters need to be updated for these changes.

Principled BSDF now has Emission and Alpha inputs, to more easily set up materials with emission and transparency. Import/export add-ons are recommended to now use these rather than creating separate transparent BSDF and emission nodes.

Outliner

The user interface of visibility options in the outliner has been updated. ( Dalai Felinto )

The checkboxes on the left enable and disable collections. This setting affects both viewport and render, and can be different per view layer.

On the right the visible settings can be customized, with settings for selectability, viewport visibility, instance visibility, render visibility, holdout and indirect only. By default only selectability and viewport visibility are shown, which are sufficient for basic scenes. For more advanced additional settings can be shown.

Preferences

Preferences now autosave changes by default. This particularly helps for Assign Shortcut and Quick Favorites, where it was previously unclear you’d have to Save Preferences manually. This setting can be disabled. It is now also possible to revert changes to the preferences. ( Campbell Barton )

The user interface for this will be further refined.

User Interface

  • Animation editors now have an updated design, with a scrubbing area and playhead at the top. This means it’s always possible to change frame with the left mouse button by default, which is easier to discover. In the default key, right click now opens the context menu while shift right mouse button can still be used for scrubbing anywhere in the editor. ( Jacques Lucke , William Reynish )

  • It is now easier to assign shortcuts to boolean and enum properties, with right click and Assign Shortcut on the property. ( Sebastian Parborg )
  • Sculpt and paint settings are now available in the 3D viewport siderbar Tool tab, for sculpting with the viewport maximized. ( Campbell Barton )
  • On macOS, command key can now be used instead of ctrl for most operations, as is standard in applications on that platform. ( William Reynish , Campbell Barton )
  • Icons can now have a border. This is used by the Blender Light theme to display colored icons on lights backgrounds. Coloring of icons in the properties editor tabs has been tweaked for the Blender Dark theme. ( Jeroen Bakker , Brecht Van Lommel )

Animation

  • New Relax/Push from Rest Pose operator, to interactively blend towards or away from the rest pose. ( Sebastian Parborg )
  • Constraints now have a Disable Constraint and Keep Transform feature. Typical usage would be a character picking up an object with a Copy Transform constraint, and then placing it somewhere else after disabling the contraint. ( Sybren A. Stüvel )
  • Spline IK constraint: new option to apply volume preservation on top of the original scaling, considering the pre-IK scale as the goal volume to be preserved. This option is used by default. (details ) ( Alexander Gavrilov )
  • Maintain Volume constraints has a new option to switch between modes: Strict, Uniform and Single Axis. (details) ( Alexander Gavrilov )
  • Drivers: Transform Channel variables now have a Average Scale option. (details) ( Alexander Gavrilov )
  • Copy Scale constraint now supports raising the copied scale to a power. (details) ( Alexander Gavrilov )

Viewport

  • Better reflection checking matcaps, both horizontal and vertical. ( Manny Hise )
  • Improved viewport and selection performance for instances. ( Clément Foucault )

Weekly Reports

12 Likes

Been waiting to read that sentence for a long time. This should make character animation much easier; transferring ownership of objects and having character’s pick things up was always cumbersome for me. Looking forward to messing around with it.

3 Likes

Iam so happy that the animation system got so much attention in blender 2.8
And unfortunately non of the improvements coming from the blender foundation itself :frowning: except the UI changes

1 Like

This is why it’s so important for FOSS projects to have an environment where devs. outside of the core team want to contribute. The core team can’t work on every single area at once because of the rather long list of possible projects and improvement.

The BF is improving in this area, Godot is very good in this area, not sure where GIMP is on this, but we should be happy to see the increased number of patches being submitted.


There’s still Animation 2020 coming up, the current contributions could decrease the workload for that project or allow the team to add new items.

5 Likes

For those who are appending a light-setup for EEVEE or loading an older scene from before the latest build ino the latest build. , All they have to do is bump up the light strenght?
( in python: bpy.context.object.data.energy = 155.292 )
Any idea it has to be multiplied? ( I have the impression it has to be multiplied around 5x? Update: ehj, looks more like 50x).

The lights show now quite weak in EEVEE

updating info few times:

  • An old scene : 34.377W
  • Open this scene in the new build: Light show up as: 3437.7W
  • Append (Via menu) the old light in the new scene: this light shows up as 100W
  • When appending with python: light shows up as 100W

So seems needs to be multiplied by 100.
You’re welcome

for loading older files in the latest build: take a look at the color space settings of the textures, bumps and normal-maps may have changed (so the lighting of the shaders could look very awful)

Yes in case of loading “old” textures with normal maps: these has to be set to: non Color. So I am lucky this week, need to update lights, script and shaders.

That’s really not the case.

Sebastian Parborg and Sybren A. Stüvel are working for Blender Foundation/Institute. From the list of animation commits the only contributor outside the Blender umbrella is Alexander Gavrilov.

That said, the more people join the Blender Development Fund, the more developers we can have working on that an other areas.

1 Like

Alexander Gavrilov kinda stole the spotlight recently with all the goodies he contributed, so I understand how other improvements and fixes could go with less notice, even though some of them are capital.

Today’s Meeting


Development

  • For developers, the user interface and Python API will be frozen at the end of today. We will wait two days before making it official in case serious issues come up. There are a few exceptions that might still change:
    • Normal editing tools user interface.
    • UV editing toolbar and gizmos improvements.
    • Adding back the Transform tool (and leaving other gizmo settings in place).
  • The focus for developers now shifts to bug fixing and documentation. The next target is to fix all high priority bugs by mid June, then release somewhere in July. Bug fixes that require deep changes and are likely to cause other bugs should be done as early as possible.
  • For contributors working on new features, we will not be able to give much attention to code review in the coming month. It’s best to get patches in as good a state as possible so they are ready to review and commit for 2.81.
  • The Summer of Code coding period starts next Monday. Bastien will set up branches and commit rights for students.

New Features and Changes

Images & Video

  • Unsaved .blend and image file handling has been improved, so that unsaved changes are unlikely to be lost. Images can now be saved to disk along with the .blend file. New images that have not been saved to disk yet will be packed into the .blend file. ( Brecht Van Lommel, Jacques Lucke )
  • Image texture alpha modes have been changed. The new Channel Packed mode can be used for channel packing as commonly used by game engines, where the RGB and Alpha channels contain different images that should not affect each other. The new None replaces the Use Alpha option. ( Brecht Van Lommel )
  • Image editor panels have been reorganized to fit the new UI guidelines. ( Brecht Van Lommel )
  • Sequencer menus and sidebar panels have been reorganized for consistency and clarity. ( Peter Fog, William Reynish )

Outliner

  • Outliner visibility control has been further refined. Ctrl+click isolates visibility for collection, while shift+click applies visibility recursively for collections and parenting hierarchies. ( Dalai Felinto )
  • The object properties now have a Visibility panel, to access the same object visibility settings available in the outliner and easily keyframe them. ( Dalai Felinto )
  • Display of active, selected and edited items in the outliner has been tweaked. ( Harley Acheson )

outliner_update

User Interface

  • Theme colors for Blender Dark and Blender Light have been tweaked. ( Pablo Vazquez )
  • Various new and updated icons for the interface. ( Andrzej Ambroż, Alessio Monti )
  • Desktop icons have been updated for consistent colors across platforms. ( Yevgeny Makarov )
  • The user interface for preferences auto-saving has been tweaked, with preferences operations moved into a menu. For loading factory settings, there is now the option to do it permanently to overwrite existing preferences, or temporarily for testing. ( Campbell Barton, William Reynish )
  • The Blender icon in the top bar now opens a menu for application-level info, with Splash, Support Blender, Help and Install Application Template… menu entries move there. Some entries in the File menu have been moved into Recover and Defaults submenus. ( Pablo Vazquez )

blender_menu

Render

  • Eevee materials gained an option for backface culling. There was already an option for the viewport, the new option exists to control backface culling for renders and import/export. ( Clément Foucault )
  • Eevee subsurface scattering and volume rendering is now automatically enabled when there are objects with these effects in the scene. ( Clément Foucault )
  • Sun light size is now specified as an angle. This is the angular diameter as seen from earth, which is between 0.526° and 0.545° in reality. ( Tim Stullich )
  • Depth of field and film transparency settings are now shared between Cycles and Eevee. ( Jeroen Bakker )
  • The OpenColorIO color management configuration was updated to remove legacy transforms. This provides a clean base for future improvements. ( Brecht Van Lommel )
    • Replace Log view transform with Filmic Log.
    • Remove Rec.709, DCI-P3 displays that were incomplete and outdated.
    • Remove outdated RRT and Film transforms, replaced by Filmic.
    • Remove camera responsive curves that don’t work with HDR colors.
    • Rename Default view transform to Standard.

Other

  • Objects: new 3D cursor alignment option when adding objects. ( Hans Goudey, Pablo Dobarro )
  • Grease Pencil: new filter for onion skinning, to select only specified keyframe types. ( Antonio Vazquez )
  • Armatures: Apply Pose as Rest Pose now has an option to only affect the selected bones. ( Alexander Gavrilov )
  • Selection occlusion in multi-object edit mode is now working. ( Germano Cavalcante, Campbell Barton )

Python API

  • The dependency graph and scene update Python API have been changed to better reflect the internal dependency graph system. Despgraph API documentation with usage examples is available. Scripts that access meshes with modifiers or any other evaluated data-blocks will need to be updated. ( Sergey Sharybin )

Weekly Reports



The good news is that the interface and Python API should be close to its final state, meaning 2.8 should become far more stable as far as usability and addons are concerned.

9 Likes

Thanks for posting this

i see they changed the default shading type to matcaps !! it seems odd , i know it’s nit-picking since you can change it and save the start-up file but it’s not practical in general because matcaps don’t have textures overlays for certain workspaces that might need it like UV/Texture … i made this one that looks nice and matcap-ish and i think it’s better than the default one…they can use it as the default for better quality of life :wink:

zDefault.sl (1.1 KB)

1 Like

Wow, looking at the hundreds of changes since 2.7, I propose to remove the point from 2.8 and turn it into Blender version 28. Or call it Blender Studio Max. :slightly_smiling_face:

And matcaps are slightly slower in the UI than standard OpenGL lights, or is this not the case anymore in Blender 28, I mean 2.8?

Matcaps are faster.

3 Likes