BlenderToday LIVE #246
Changelog
230 commits in total, of which 34 are fixes and 71 cleanup.
AUTHORS
- AUTHORS: correct canonical authors map - Rajesh Malviya
Anim
- Anim: after deleting bone collection, activate the proper one - Sybren A. Stüvel
- Anim: Separate keying flags - Christoph Lendenfeld
- Anim: create new bone collections as next sibling of active one - Sybren A. Stüvel
- Anim: bone collection tree, show selected bones as hollow dot - Sybren A. Stüvel
BLI
Black
- Black: skip string normalisation - Sybren A. Stüvel
Build
- Build: bump sse2neon version to latest hash - Brecht Van Lommel
- Build: use C++17 for CUDA kernels when supported - Brecht Van Lommel
Cleanup
- Cleanup: order checks to skip redundant function calls - Campbell Barton
-
Cleanup: Rename
BLI_libblock_ensure_unique_nameto useBKE_prefix. - Bastien Montagne - Cleanup: Make format - Thomas Dinges
- Cleanup: Add missing include and forward declaration to DRW header - Hans Goudey
- Cleanup: Use standard variable name for mesh face corner normals - Hans Goudey
- Cleanup: Move BKE_undo_system.h to C++ - Hans Goudey
- Cleanup: Move BKE_lib_id.h to C++ - Hans Goudey
- Cleanup: Make format - Hans Goudey
- Cleanup: GPv3: Modifier filter UI - Falk David
- Cleanup: Make format - Hans Goudey
- Cleanup: Remove unnecessary extern symbols in undofile header - Hans Goudey
- Cleanup: Use LISTBASE_FOREACH file in memfile merge - Hans Goudey
- Cleanup: Use Map instead of GHash for memfile writing - Hans Goudey
- Cleanup: simplify code in IMB_transform - Aras Pranckevicius
- Cleanup: Use std::string to store UI button string - Hans Goudey
- Cleanup: remove outdated comment - Campbell Barton
- Cleanup: Curves: Remove redundant resizing in extrude operator - Pratik Borhade
- Cleanup: make format - Jacques Lucke
- Cleanup: GPv3: Move curve smoothing to geometry namespace - Falk David
- Cleanup: GPv3: Remove unused editor function - Falk David
- Cleanup: Remove unused asset C functions - Hans Goudey
- Cleanup: quiet enum conversion warning - Campbell Barton
- Cleanup: spelling in comments - Campbell Barton
- Cleanup: reduce variable scope & use const values - Campbell Barton
-
Cleanup: Move
BKE_lib_queryheader to Cpp era. - Bastien Montagne - Cleanup: Make format - Jeroen Bakker
- Cleanup: Make format - Hans Goudey
- Cleanup: GPv3: Small tweaks to modifiers - Hans Goudey
- Cleanup: Make format - Hans Goudey
- Cleanup: Store uiBlock name as std::string - Hans Goudey
- Cleanup: Move node transform convert file to C++ namespace - Hans Goudey
- Cleanup: Fix linker error after recent cleanup - Hans Goudey
- Cleanup: rename IDCacheKey.offset_in_ID to identifier - Jacques Lucke
- Cleanup: lazily import bpy_extras.object_utils where possible - Campbell Barton
- Cleanup: various non-functional changes for C++ - Campbell Barton
- Cleanup: spelling in comments, remote debug print - Campbell Barton
- Cleanup: Make duplication node and ocmponent name more clear - Sergey Sharybin
- Cleanup: Simplify tracking of relations for instancing - Sergey Sharybin
- Cleanup: Removed unused grease pencil code lines. - Lukas Tönne
- Cleanup: GPv3: Unused variable - Falk David
- Cleanup: rename PIL to BLI - Jacques Lucke
-
Cleanup: Anim, add missing
#pragma once- Sybren A. Stüvel - Cleanup: Replace UI button "string info" function - Hans Goudey
- Cleanup: Use std::string to store and pass tooltip text - Hans Goudey
- Cleanup: Use camel case for file tooltip struct name - Hans Goudey
- Cleanup: Remove unused BLI_time.h includes - Hans Goudey
- Cleanup: Move paint stroke code to C++ namespace - Hans Goudey
- Cleanup: Use C++ random number generator for paint stroke - Hans Goudey
- Cleanup: Remove unused paint stroke field - Hans Goudey
- Cleanup: Use C++ vector types in paint stroke struct - Hans Goudey
- Cleanup: Use std::string for UI drop box tooltip return type - Hans Goudey
- Cleanup: Various clang tidy changes - Hans Goudey
- Cleanup: Simplify local automasking function names - Hans Goudey
- Cleanup: Sculpt: Store auto-masking cache in unique_ptr - Hans Goudey
- Cleanup: Make format - Harley Acheson
- Cleanup: move imbuf .h files to .hh - Aras Pranckevicius
- Cleanup: reduce C-isms in imbuf headers - Aras Pranckevicius
-
Cleanup: Move
BKE_idtype.hto Cpp headerBKE_idtype.hh- Bastien Montagne -
Cleanup: Move
BKE_autoexec.hto full Cpp headerBKE_autoexec.hh. - Bastien Montagne -
Cleanup: Move
BKE_blender_user_menu.hto full CppBKE_blender_user_menu.hh. - Bastien Montagne -
Cleanup: Move
BKE_blender_copybuffer.hto full Cpp headerBKE_blender_copybuffer.hh. - Bastien Montagne -
Cleanup: Move
BKE_appdir.hto full Cpp headerBKE_appdir.hh. - Bastien Montagne -
Cleanup: Move
BKE_blender_undo.hto full Cpp headerBKE_blender_undo.hh. - Bastien Montagne - Cleanup: format - Campbell Barton
- Cleanup: don't pass UI text through iface_ twice - Campbell Barton
- Cleanup: move addon_category_name into an internal class method - Campbell Barton
- Cleanup: import UIList, following the convention for other UI classes - Campbell Barton
- Cleanup: spelling in comments - Campbell Barton
- Cleanup: avoid many allocations recursive filesystem ops on Linux/Unix - Campbell Barton
- Cleanup: Strict compiler warning - Sergey Sharybin
- Cleanup: Removed unused variable in grease pencil color modifier. - Lukas Tönne
Compositor
- Compositor: Port redesigned Defocus node to CPU - Omar Emara
- Compositor: Add High Precision option to Kuwahara - Omar Emara
- Compositor: Re-write Pixelate node for CPU compositor - Sergey Sharybin
- Compositor: Optimize Pixelate node for unit pixel size - Omar Emara
- Compositor: Add a Nearest sampling to Map UV node - Martijn Versteegh
- Compositor: Do not flip bounds of Crop node - Omar Emara
Curves
- Curves: Debug crash after switching to sculpt mode - Pratik Borhade
Depsgraph
- Depsgraph: Add explicit object shading exit operation - Sergey Sharybin
- Depsgraph: Move scene evaluation node to own component - Sergey Sharybin
- Depsgraph: Avoid implicit tagging on hide_viewport changes - Sergey Sharybin
Docs
- Docs: Replace most wiki links with links to new developer docs - Thomas Dinges
EEVEE
- EEVEE: Fix Lights On High-res Monitors - Jeroen Bakker
- EEVEE: Skip Forward Rendering Pipeline Stages When Empty - Jeroen Bakker
Extensions
- Extensions: fix re-registered repos failing to include add-on modules - Campbell Barton
- Extensions: changes to repositories are now accounted for by add-ons - Campbell Barton
FIx
- FIx: EEVEE-Next: PlanaProbePipeline gbuffer layout - Miguel Pozo
Fix
-
Fix: Anim, replace last
arm.collections.allwitharm.collections_all- Sybren A. Stüvel - Fix: EEVEE-Next: Nvidia compilation error - Miguel Pozo
- Fix: Handle Deleted Files in the Recent List - Harley Acheson
- Fix: Sequencer crash with scene strip of no composite output - Omar Emara
- Fix: GPv3: Selection not working in crazyspace - Falk David
- Fix: broken make update on new macOS build - Brecht Van Lommel
- Fix: error when custom socket has no 'draw' function - Pedro A
- Fix: incorrect Exists output in Named Attribute node for grease pencil - Jacques Lucke
- Fix: crash trying to store an attribute on unsupported grease pencil domain - Jacques Lucke
- Fix: GPv3: Opacity modifier compilation error - Falk David
- Fix: Curves extrude with all points selected - laurynas
- Fix: Memory leaks after recent button string cleanup - Hans Goudey
- Fix: Tooltip contains bogus text after recent button string cleanup - Hans Goudey
- Fix: crash when adding repeat zone from search - Jacques Lucke
- Fix: remove assert when creating interface socket - Jacques Lucke
- Fix: Wrong GPU compositor assert in background mode - Omar Emara
- Fix: Crash in Defocus node when no camera exist - Omar Emara
-
Fix:
ModifierTypeFlagmax value - Falk David - Fix: Compile Issue Grease Pencil - Jeroen Bakker
- Fix: Files with Pixelate nodes have zero pixel size - Omar Emara
- Fix: Individual projection sometimes snapping to the wrong object - Germano Cavalcante
- Fix: GPU Directional Blur distorts input - Omar Emara
- Fix: Display newly added node in front - Hans Goudey
- Fix: crash when adding bake item to already baked node - Jacques Lucke
- Fix: Plane Deform mask retains original alpha - Omar Emara
- Fix: GPv3: Error in shader caused by mixing data types - Falk David
- Fix: Cryptomatte fails with multi-layer images - Omar Emara
- Fix: Syntax error in latest commit - Omar Emara
- Fix: Assert in geometry nodes in specific files - Sergey Sharybin
- Fix: windows compile error - Aras Pranckevicius
- Fix: windows compile error - Aras Pranckevicius
- Fix: wrong name in bpy_extras.object_utils, causing API doc build failure - Brecht Van Lommel
- Fix: build error when not using unity build - Brecht Van Lommel
- Fix: Compile errors in GPU shader builder stubs - Omar Emara
- Fix #106425: Mantaflow guiding with domains is broken - Philipp Oeser
- Fix #107805: Render border without an active region crashes - Campbell Barton
- Fix #114244: Smooth operators destroy sharp edge tags - Hans Goudey
- Fix #114657: Store default color attribute on store if none set yet - Hans Goudey
- Fix #114801: Scene.use_audio value flipped - Campbell Barton
- Fix #115183: Show errors only shows errors when channels have been expanded - Christoph Lendenfeld
- Fix #115192: Inconsistent behavior renaming data-blocks - Pratik Borhade
- Fix #115727: Draw panel buttons in the node editor side bar - Lukas Tönne
- Fix #116414: EEVEE Shadow compilation macOS - Jason Fielder
- Fix #116477: Node group sockets with subtypes have broken idnames - Lukas Tönne
- Fix #117077: layout panels don't work in panels with no header - Jacques Lucke
- Fix #117108: Memory leak report with static select engine data - Hans Goudey
- Fix #117123: EEVEE: Broken Specular BSDF - Miguel Pozo
- Fix #117158: Multires sculpting crash - Hans Goudey
- Fix #117159: GPU: Specialization constants binding deleted programs - Miguel Pozo
- Fix #117161: Detectable geometry for the brush doesn't update after Undo - Pratik Borhade
- Fix #117168: crash when using layout panel in popover - Jacques Lucke
- Fix #117171: Assert in GPU compositor Denoise node - Omar Emara
- Fix #117188: Context.temp_override() failed with full-screen areas - Campbell Barton
- Fix #117191: Crash using the Extrude tool and Snap Base - Pratik Borhade
- Fix #117224: Outliner recursive selection fails in reverse order - Pratik Borhade
- Fix #117235: Frame node sorting sometimes incorrect - Hans Goudey
- Fix #117266: Sculpt: Initialize Face Sets not updating - Pratik Borhade
- Fix #117272: Color property with popover causes Blender freeze - Hans Goudey
- Fix #117280: Cycles: Lights from instancer not working randomly - Sergey Sharybin
- Fix #117317: Empty Defocus output when Z is less than 0 - Omar Emara
- Fix #117318: Empty Defocus output when max blur is less than 1 - Omar Emara
- Fix #117335: Slow selection in scene with drivers - Sergey Sharybin
- Fix #117354: Crash loading file browser tooltips - Hans Goudey
- Fix #68436: External Particle Disk Cache Playback Is Broken - Philipp Oeser
- Fix FPS menu in "Format" panel not following translation setting - Damien Picard
- Fix Keying Screen node on Metal GPU - Sergey Sharybin
- Fix font sub-pixel AA impacting character spacing when AA is disabled - Campbell Barton
- Fix incorrect number of planes for ImBuf used for render passes - Sergey Sharybin
GHOST
- GHOST: Support for Additional 3Dconnextion Devices - ESASHIKA Kaoru
GPU
GPV3
-
GPV3: Modifiers: Add
get_drawing_infos_for_write- Falk David
GPv3
- GPv3: Add function to get the index of a layer - Falk David
- GPv3: Opacity modifier - Lukas Tönne
- GPv3: Change display name of modifier to "Opacity" - Falk David
- GPv3: Add curve plane normal cache - Falk David
- GPv3: Subdivide Modifier - YimingWu
- GPv3: Pass more attributes to the renderer - casey bianco-davis
-
GPv3: Return std::optional from
frame_key_at- Falk David - GPv3: Tint and Color modifiers - Lukas Tönne
- GPv3: Broken color modifier UI - Pratik Borhade
Geometry Nodes
- Geometry Nodes: expose bake id in Python API - Jacques Lucke
- Geometry Nodes: expose NodesModifierBake.node property in Python API - Jacques Lucke
- Geometry Nodes: support synchronous baking - Jacques Lucke
- Geometry Nodes: reorganize panels in modifier - Jacques Lucke
- Geometry Nodes: optimize single value access in NodeSocketValue - Jacques Lucke
Grease Pencil
- Grease Pencil: Fix layout for influence curve widget. - Lukas Tönne
- Grease Pencil: Replace opacity modifier DNA flag for influence panel. - Lukas Tönne
- Grease Pencil: Use a "Color" modifier category for GP2 compatibility - Lukas Tönne
I18N
- I18N: Updated UI translations from git/weblate repo (24a48aa5c83ddfa2). - Bastien Montagne
- I18N: utils: Fix invalid timestamp format in PO files. - Bastien Montagne
ImBuf
- ImBuf: no need to use double precision inside IMB_transform - Aras Pranckevicius
Linux
- Linux: Use huge pages in jemalloc to speed up allocations - Eugene Kuznetsov
Mesh
- Mesh: Add missing sharing of cached face corner normals - Hans Goudey
Modifiers
- Modifiers: add ModifierTypeInfo::foreach_cache callback - Jacques Lucke
Nodes
- Nodes: Avoid unnecessarily sorting nodes after transform - Hans Goudey
Outliner
PyAPI
- PyAPI: handle sys.exit() from the Python console - Campbell Barton
- PyAPI: improve warnings when addons from extensions repos fail to load - Campbell Barton
- PyAPI: keep the associated preference when renaming an add-on module - Campbell Barton
- PyAPI: Add ShapeKey.points for faster foreach_get/set of Mesh shape key data - Thomas Barlow
- PyAPI: include the handler type when printing an exception - Campbell Barton
RNA
Realtime Compositor
- Realtime Compositor: Rewrite Pixelate node - Omar Emara
Refactor
- Refactor: Anim, add ATTR_WARN_UNUSED_RESULT to some functions - Sybren A. Stüvel
- Refactor: remove driver dependency in keying code - Christoph Lendenfeld
- Refactor: move code from RNA to blender::animrig - Christoph Lendenfeld
- Refactor: rename function to evaluate a driver - Christoph Lendenfeld
Release
- Release: change LTS release notes script from wiki to markdown - Brecht Van Lommel
Render
- Render: Set non-color colorspace for ImBuf of data passes - Sergey Sharybin
Report when
register_class
overrides classes with the same bl_idname
Revert "Fix #68436
Revert #106653
- Revert #106653: Cleanup Dialog to Manage Orphaned Data - Harley Acheson
Shape Keys
- Shape Keys: replace the BKE_keyblock_from_key function with find_index. - Alexander Gavrilov
- Shape Keys: support locking to protect from accidental editing. - Alexander Gavrilov
Tests
- Tests: Enable new triangulate geometry node test files - Hans Goudey
- Tests: Cache revision builds in benchmark script - Brecht Van Lommel
- Tests: Enable blacklisted GPU compositor tests - Omar Emara
UI
- UI: Consistent capitalization in operator description - Hans Goudey
- UI: Improved Default GetWindowUnderCursor Behavior - Harley Acheson
- UI: don't show property shortcuts in menus - Campbell Barton
- UI: Cleanup Dialog to Manage Orphaned Data - Harley Acheson
- UI: always return shortcuts from UI_but_string_info_get on request - Campbell Barton
- UI: don't gray out "Revert to Saved Preferences" with factory startup - Campbell Barton
- UI: Update whats new link and check version rather than hardcoding it - Thomas Dinges
- UI: Dialog to Insert Unicode Characters for Text Objects - Harley Acheson
- UI: Change of File Save Icon - Harley Acheson
- UI: Replace list of workspace add-ons with a UIList - Guillermo Venegas
- UI: adjust the add-ons interface when extensions repositories enabled - Campbell Barton
Unbreak build from missing include
- Unbreak build from missing include - Campbell Barton
VSE
- VSE: add Bicubic filtering option, and optimize bicubic performance - Aras Pranckevicius
- VSE: Speed up "Alpha Over/Under" if the pixels are fully transparent or opaque - Sebastian Parborg
- VSE: Speedup Subsampled 3x3 image filter - Aras Pranckevicius
Vulkan
- Vulkan: Add shaderClipDistance feature - sjfricke
create_release_notes
- create_release_notes: include 3.6 LTS gitea issue - Philipp Oeser
13 Comments
Hi Pablo, a question. What would it take to make text topology not an issue, like in Cinema 4D?
Probably NURBS
Oi, Dalai! just a couple quick ones~
customization is massive!... and it's a bit of an issue - every customization menu is massive as well, and wider than it is deep! What's your take on a "basic customization" menu, that opens up further into the current, granular one? For example, a number of things in blender are the same color by default- perhaps their values should begin linked?
Other than that, we still need nodes with vector curves in their ui to use correct splines for geo nodes (and material nodes) accuracy! projects.blender.org/blender/blender/issues/113455 . if you know who to bug, please do! It's a very old, nearly invisible bug that affects a lot! Do you think it could be solved by expanding the vector curve selector to have proper tangent handles? maybe that's a bit much for now...
Hi Pablo! Hope you are doin great!
Just two question for today:
-When will there be dynamics in the new hair system?
-Is it some day going to be unified all physics simulations, so for example the hair system could interact with clothes, with rigid bodies and so on?
Pablo, you had it! You click on the icon like you did but write the file name in the file browser :-)
Hi pablo, great episode. Thanks. Regarding addon filter, what would you think about inverting the behavior? Disable certain addon that are activated in the preferences, but that you want disable in specifics workspace (since is worskspace dipendent)?
Hey Pablo,
What's the name of the track (songs) that plays in the background in Blender Live? they're very relaxing. Would love to get links to the ones used in Blender Today. Have a great week!
Hey :) Question about the user interface. Why are there still global transform settings among Active tool settings? Seems very misplaced. Seems like a no-brainer to put these among the other global transform settings, no?
Image from devtalk: devtalk.blender.org/uploads/default/original/3X/4/d/4db78b239437ddbe525e332a84cb08965d60c3d8.png
This misplacement is especially evident, when these appear in the N-Shelf or the properties editor, among active tool settings... Like, can the active tool "Selection" have "Automerge", for example? No. That's completely unrelated!
There's also a "Workspace" panel in there, which makes no sense too, and a lot more other stuff in other modes, that don't belong there...
Holà Senior!
When you click on the output file name icon and write the file name, Blender now changes the name by itself! For example, if I write foo. it will change it to foo_
You can change it again in the property pane but it's a bit annoying.
Why is that? It's breaking our pipeline.
Cheers :-)
Hola Pablo!
Just wanted to share a request I made some time ago for a QoL improvement: image preview for folders in the File Browser blender.community/c/rightclickselect/v8jX/
Keep Rocking!
Hi Pablo. Hope the new year has been treating you well :) I have a few questions:
HI pablo for the next week HELLO EVERYONE I amhaving some kssue with the outile of greace pencil objects tryed to duplkcate layers mask by same tried multiplier envelopp but still it is kind of environment light background issue youtube.com/shorts/mjCu-E_QxuQ youtube.com/shorts/n3_fH27BsQ0
I don't believe there's any definite timeline on this, but the first step in implementing spectral rendering into Cycles was actually the addition of AGX colour management in 4.0, along with the cleaning up of colour spaces in general, as Filmic is insufficient for handling the necessary colour range needed for spectral rendering. So it is underway.
As Pablo said, path guiding is the way to go with this. It's CPU only at the moment, but with the integration of the SYCL backend recently for Open Image Denoise 2.0, as soon as Intel's GPU path guiding API is rolled out, Intel GPU's at least will automatically be able to accelerate path guiding, which will lead to natural looking caustics by default. Hopefully all GPU's will then soon follow.
Yep. All loop types will eventually be supported, according to various Nodes and Physics meeting notes.