Blender Today LIVE #221
Changelog
Total: 94 commits, of which 46 are fixes.
Add a mechanism to abort a blend file reading on critical error.
- Add a mechanism to abort a blend file reading on critical error. - Bastien Montagne
Animation
- Animation: Move Graph Editor settings to User Preferences - Christoph Lendenfeld
Armature drawing
- Armature drawing: prevent crash on unknown draw type - Sybren A. Stüvel
Assets
- Assets: Add License and Copyright meta-data - Harley Acheson
BLI
-
BLI: Math: Move rotation types template out of
math::detail- Clément Foucault - BLI: AxisAngle: Fix wrong constructor - Clément Foucault
- BLI: AxisAngle: Make axis normalization mandatory - Clément Foucault
- BLI: Rotation C++ API - Clément Foucault
- BLI: Math: Support more vector swizzling and add alignment static assert - Clément Foucault
BLI; Math
-
BLI; Math: Remove
Normalizedtemplate parameter for some conversion - Clément Foucault
BLI_array_store
- BLI_array_store: improve hash accumulation for each memory chunk - Campbell Barton
- BLI_array_store: improve hash for smaller values (including booleans) - Campbell Barton
- BLI_array_store: use uint32_t instead of uint64_t for hash storage - Campbell Barton
Blenlib
-
Blenlib: Add
ConstListbaseWrapperfor iteratingconst ListBase *- Sybren A. Stüvel
Cleanup
- Cleanup: Remove gpu prefix in gpu test cases. - Jeroen Bakker
- Cleanup: Make mesh function static - Hans Goudey
- Cleanup: Fix unused variable warning in release builds - Hans Goudey
- Cleanup: Remove unused UI handlers function - Hans Goudey
- Cleanup: Remove unused mesh function - Hans Goudey
- Cleanup: UV: simplify uv packing API. - Chris Blackbourn
- Cleanup: format - Chris Blackbourn
- Cleanup: rename BChunkList::total_size -> total_expanded_size - Campbell Barton
- Cleanup: improve/correct doc-strings, use doxygen formatting - Campbell Barton
- Cleanup: Remove unused node function declarations - Hans Goudey
- Cleanup: spelling in comments - Campbell Barton
- Cleanup: format, sort CMake file lists - Campbell Barton
- Cleanup: UV: simplify uv packing - Chris Blackbourn
- Cleanup: UV: simplify types - Chris Blackbourn
- Cleanup: BLI: Rotation: Remove unneeded type forward declarations - Clément Foucault
- Cleanup: format - Chris Blackbourn
- Cleanup: silence unreferenced param warning in MSVC - Germano Cavalcante
- Cleanup: Move functions in BMesh Mesh conversion - Hans Goudey
- Cleanup: clear the linked list pointers for wmWindow::event_last_handled - Campbell Barton
- Cleanup: use doxy sections - Campbell Barton
- Cleanup: remove invalid copy-pasted comments - Campbell Barton
- Cleanup: format - Chris Blackbourn
- Cleanup: rename 'ok' to 'success' in file reading, double-quote paths - Campbell Barton
- Cleanup: remove redundant filepath access in WM_OT_save_mainfile - Campbell Barton
- Cleanup: comment blocks - Campbell Barton
- Cleanup: Remove unused GPU subdivision function declaration - Hans Goudey
- Cleanup: use system native slashes in PLY, OBJ tests, studiolights - Campbell Barton
- Cleanup: use BKE_area_find_region_type utility function - Campbell Barton
- Cleanup: surround expressions in defines by parenthesis - Campbell Barton
- Cleanup: make undeclared function static - Campbell Barton
- Cleanup: UV: Rearrange functions in cpp files to improve type safety - Chris Blackbourn
- Cleanup: run clang-format on a few files - Joseph Eagar
- Cleanup: resolve some unreferenced parameter warnings in MSVC - Germano Cavalcante
- Cleanup: UV: simplify #uv_parametrizer_construct_end - Chris Blackbourn
- Cleanup: UV: simplify types - Chris Blackbourn
- Cleanup: Remove useless function - Richard Antalik
- Cleanup: format - Chris Blackbourn
- Cleanup: Fix warning in skin modifier - Hans Goudey
- Cleanup: silence unused local variable warning - Germano Cavalcante
- Cleanup: Use CPP Wrapper to Clear SSBO in Eevee-next. - Jeroen Bakker
- Cleanup: remove old AST code in I18n message extraction - Damien Picard
- Cleanup: use function style casts, nullptr - Campbell Barton
-
Cleanup: use
gz_prop_typeforwmGizmoPropertyType- Campbell Barton - Cleanup: spelling in comments - Campbell Barton
- Cleanup: UV: simplify types - Chris Blackbourn
- Cleanup: format - Chris Blackbourn
- Cleanup: Avoid recursion for node parenting - illua1
-
Cleanup: Add warning to ListBase's
BLI_remlinkregarding not cleared prev/next pointers. - Bastien Montagne - Cleanup: Fix incorrectly formatted multi-line docstring - Damien Picard
- Cleanup: Remove compilation warning. - Jeroen Bakker
Curves
- Curves: change default font offset from 1.0 to 0.0 - Damien Picard
Cycles
- Cycles: Workaround for MetalRT crash when building pipelines - Michael Jones
- Cycles: oneAPI: fix AoT compilation when triggered from makepkg (archlinux) - Xavier Hallade
- Cycles: oneAPI: fix linking for when icpx compiler is used - Xavier Hallade
- Cycles: oneAPI: fix linking for when icpx compiler is used - Xavier Hallade
- Cycles: Use async Metal PSO compilation to avoid std::terminate on exit - Michael Jones
Docs
- Docs: note wmWindow::event_last_handled is for event queue handling only - Campbell Barton
- Docs: correct doc-string for wmEvent::customdata - Campbell Barton
- Docs: add comments to bNodeType init & free callbacks - Campbell Barton
Drivers
- Drivers: Introduce the Context Properties - Sergey Sharybin
EEVEE Next
Eevee
Eevee-next
- Eevee-next: Use compute shader to clear clipmaps - Jeroen Bakker
Extern
- Extern: Update TinyGLTF to include fix for CVE-2022-3008 - Julian Squires
Fix
- Fix: failing test in debug build due to wrong span size - Jacques Lucke
- Fix: Failing test case due to resource lifetime. - Jeroen Bakker
- Fix: Incorrect version code. - Jeroen Bakker
- Fix: Add missing default versioning for retopology overlay color - Jorijn de Graaf
- Fix: normalize matrix before converting to euler - Jacques Lucke
- Fix: restore margin offset for UV packing - Chris Blackbourn
- Fix: Hide ".uv_seam" attribute in UI - Hans Goudey
- Fix: crash executing geometry nodes on undefined node tree type - Lukas Tönne
- Fix: VSE retiming off by 1 error - Richard Antalik
- Fix: Logic error in check for curves selection - Hans Goudey
- Fix #101374: enable edge panning for move operators in menus - Leon Schittek
- Fix #102317: Any action triggers expansion of all ViewLayers - Pratik Borhade
- Fix #102843: Add UV Packer with O(nlogn) performance - Chris Blackbourn
- Fix #104466: Resolve smooth lines in Metal. - Jason Fielder
- Fix #104534: Image editor doesn't refresh after render.render. - Jeroen Bakker
- Fix #105430: Curves pick select selects multiple objects - Hans Goudey
- Fix #105433: Offset Tracking Shortcut no longer working - Germano Cavalcante
- Fix #105435: Pause Win32 Auto-Focus During Text Entry - Harley Acheson
- Fix #105467: NaN values resulting from curve editing with collision - Lukas Tönne
- Fix #105496: Incorrect solidify modifier materials after recent cleanup - Hans Goudey
- Fix #105518: Crash in edit mode with cage editing - Hans Goudey
- Fix #105524: Texture paint broken after recent cleanup - Hans Goudey
- Fix #105556: weld modifier crashes when merging N-gons - Germano Cavalcante
- Fix #105571: crash when connecting invalid node group to multi input - Jacques Lucke
- Fix #105579: weld modifier crashes when merging n-gons - Germano Cavalcante
- Fix #105583: crash when weld modifier checks for duplicate polygons - Germano Cavalcante
- Fix #105587: Triangulated shading in sculpt mode - Hans Goudey
- Fix #105601: Remove duplicates when inserting links into multi inputs - Leon Schittek
- Fix #105610: Missing "Amount" validation in duplicate elemnts node - Hans Goudey
- Fix #105638: image.pixels.foreach_set() does not update displayed image - Sergey Sharybin
- Fix #63890: Allow Eyedropper and Other Operations in Popovers - Harley Acheson
- Fix #93953: Translation double displayed in panel header - Damien Picard
- Fix #95105: Unclamp draw size of the frame node's label - Leon Schittek
- Fix #99836: Blender SEGV when open .blend file in blender. - Bastien Montagne
- Fix (unreported) broken ID remapping code, and improve efficiency. - Bastien Montagne
- Fix (unreported) crash in Array modifier in case of empty mesh. - Bastien Montagne
- Fix (unreported) crash in clnors with empty mesh. - Bastien Montagne
- Fix (unreported) potential invalid usage of Main relations cache. - Bastien Montagne
- Fix (unreported) potential leak in Main freeing function. - Bastien Montagne
- Fix 105449: Resolve selection in Metal backend - Jason Fielder
- Fix BLI_assert 'attr->comp_len == 2' failed in cage 2d gizmo - Weizhen Huang
- Fix Freestyle fill range by selection error when there is no active camera - Damien Picard
- Fix OptiX TLAS being built with invalid traversables when a geometry is empty - Patrick Mours
- Fix PLY exporter test writing files to install directory - Sergey Sharybin
- Fix RNA path functions not escaping strings, using single quotes - Campbell Barton
- Fix build error: ntreeIsRegistered requires non-const pointer. - Lukas Tönne
- Fix build error on Windows introduced in 46be42f6b1 - Brecht Van Lommel
- Fix compiler warning - Falk David
- Fix custom normals not normalized in Cycles shader nodes - Weizhen Huang
- Fix error freeing NULL if BArrayStore_AtSize is empty - Campbell Barton
- Fix failing test after own recent commit regarding Main freeing function. - Bastien Montagne
- Fix ffmpeg warnings due to missing header include - Sebastian Parborg
- Fix for NaN values resulting from curve editing with collision - Lukas Tönne
- Fix memory leak with button tooltip callback and decorator buttons - Julian Eisel
- Fix missing data role in color management fallback - Brecht Van Lommel
- Fix unreliable PLY regression test - Sergey Sharybin
GHOST
- GHOST: use logging for GHOST_NDOFManagerUnix - Campbell Barton
GPU
- GPU: Refactor API for Clearing Storage Buffers - Jeroen Bakker
- GPU: Replace old shader tests with shader builder. - Jeroen Bakker
GPencil
- GPencil: Fix compiler warning - Antonio Vazquez
Gitea
- Gitea: use full URL for referencing pull requests - Brecht Van Lommel
Gizmo
- Gizmo: slightly increase cage2d corner margins - Weizhen Huang
- Gizmo: show hovering regions of cage2d gizmo to indicate constraint axis - Weizhen Huang
I18n
- I18n: extract add-on bl_info warnings - Damien Picard
- I18n: extract math node operation type header messages, fix another - Damien Picard
- I18n: do not translate a message already translated using iface_() - Damien Picard
- I18n: disambiguate messages - Damien Picard
- I18n: do not extract messages explicitly marked as not translatable - Damien Picard
- I18n: add per-socket translation contexts for nodes - Damien Picard
IO
- IO: factor out axis validation logic between OBJ and PLY - Aras Pranckevicius
Ignore build files for VS and VS Code
LibOverride
- LibOverride: Do not assert on invalid resync situation. - Bastien Montagne
MSVC
- MSVC: lower C4100 warning level from 4 to 3 - Germano Cavalcante
Mesh
- Mesh: Move functions to C++ header - Hans Goudey
- Mesh: Parallelize BMesh to Mesh conversion - Hans Goudey
- Mesh: compact edit-mesh undo data in parallel (address #105046) - Campbell Barton
- Mesh: Set bounds eagerly for cube and grid primitive nodes - Hans Goudey
- Mesh: Avoid writing unnecessary attributes - Hans Goudey
- Mesh: Move face shade smooth flag to a generic attribute - Hans Goudey
Overlay
Pass BitVector by reference in lambda
- Pass BitVector by reference in lambda - Germano Cavalcante
PyAPI
- PyAPI: extend save/load handlers, optionally take a filepath argument - Campbell Barton
PyAPI Docs
- PyAPI Docs: Fix Broken link to source files - Aaron Carlisle
Realtime Compositor
- Realtime Compositor: Implement bicubic interpolation - Omar Emara
Refactor
- Refactor: Rename grease pencil files to legacy - Falk David
- Refactor: fcurve bounds functions - Christoph Lendenfeld
-
Refactor: Rename
OB_GPENCILandID_GD- Falk David
Revert "Fix for NaN values resulting from curve editing with collision"
Sculpt
- Sculpt: Edit face set operator improvements - Joseph Eagar
- Sculpt: Fix #105557 Bugs in new sculpt menu entries - Joseph Eagar
- Sculpt: Add Transform, Trim, and Mesh Filter operators to Sculpt menu - Tarek Yasser
Sequencer
- Sequencer: Use Same Sampling As Rendering. - Jeroen Bakker
Texture Painting
Transform
- Transform: split tracking conversion - Germano Cavalcante
UI
- UI: add parenting (Keep Transform Without Inverse) to menu - Philipp Oeser
Updated translations from SVN trunk (r6369).
- Updated translations from SVN trunk (r6369). - Bastien Montagne
Updated translations from svn trunk (r6385).
- Updated translations from svn trunk (r6385). - Bastien Montagne
VSE
- VSE: Use flag for strips with single frame of content. - Richard Antalik
Viewport
- Viewport: draw light icons using the light colors - Weizhen Huang
Vulkan
- Vulkan: Warn Developer When Layer Not Found. - Jeroen Bakker
- Vulkan: Automap Buffers. - Jeroen Bakker
- Vulkan: Fix Shader Compilation Issues. - Jeroen Bakker
- Vulkan: Push constants - Jeroen Bakker
cmake/win32
- cmake/win32: Fix building with WITH_VULKAN_BACKEND - Ray Molenkamp
const_cast no longer needed for ntreeIsRegistered.
- const_cast no longer needed for ntreeIsRegistered. - Lukas Tönne
8 Comments
Hey Pablo, I'd love to know what module takes care of linking and library overrides, and if there is an article or tutorial with best practices. And also reconnecting stuff when things break.
As I've been having issues with linking lately (as in linking, saving, opening and finding things broken) and I dont want things to break down the line in my shortfilm.
Also is there a way to add shapekeys to sculpt on top of character that is linked? (i'd love to be able to sculpt on a shot by shot basis)
Hola Pablo, 3 questions related to geometry nodes,
Inside of geometry nodes when blender is processing a particularly heavy set of nodes the entire application hangs putting it in a state where it is prone to crashing (clicking on it makes it "stop responding" on Windows for instance), compared to Houdini when a heavy node is being processed the application doesn't freeze and you are also allowed to cancel the node processing by hitting 'escape', would it be possible to have something similar to this in Blender?
Currently visualizing attributes is currently very limited, it would be nice if you can visualize vectors with arrows instead of point colors for instance, I am aware that their are some community made node groups that allow this functionality but it should probably be a feature that ships with blender.
Exporting stuff from geometry nodes is a bit of a mess I think it would be cool to have dedicated export nodes inside of the node tree, for instance you would have a VDB export node for volumes and alembic export for deforming meshes.
*Hey Pablo *I'm sorry to bother you, but I insist that you ask the blender programmers to develop Lattice deform for volume, because you can't make a quality deform with geometry nodes like you can with lattice deform. *Will blender soon remove surface objects like hemi lamp removed (looks like it might when mesh hard surface modeling is already progressing) surface objects are not upgraded (as a feature)? *what about this experimental notable: projects.blender.org/blender/blender/pulls/104883 ? Thank you!
Hi Pablo. Do you know if there are plans for multiple OpenVDB grids (interpolation) for a single volume object in Blender?
Hello! Last week you mentioned that 4.0 is the time to "break muscle memory" and make big changes. Do you have any juicy inside info on what those changes could be? Any big things that were too ambitious to be released earlier? You can trust me with secerets, I won't tell anyone.
Hi Pablo!
Where Is In Time Pablo Dobarro!? Seriuosly, will he be part of Blender team?
Just two other questions.
Some times ago you mentioned the idea from Blender team, to develop a way (I don't remember too much, maybe somekind of node) to make available the geometry obtained by a modifier (or only by gn), building something like a point or node where to save geometry to access back lately.. but i don't remember clearly.
Any news about that?
A last question: did I missed some option, because in texture paint the brush is always projected by screen view:
About the texture projection question: It's not possible in the Texture Paint mode as far as I'm aware, but painting on image textures with proper 3D brush falloff is now integrated in Sculpt Mode in recent Blender 3.6 builds.
It's still an experimental option, so to use it you first have to go into the Blender Preferences and under Interface enable Developer Extras, then a new category called Experimental appears where you can enable Sculpt Texture Paint.
Now when take any object into Sculpt Mode and select the Paint brush tool, you should be able to paint on an image texture by opening the Canvas dropdown menu in the top-right, choosing the Mode Material or Image (instead of Color Attribute for vertex colors) and selecting the texture to paint on. Also make sure to set the display to Texture in the Viewport Shading dropdown menu, otherwise it won't show the texture.
thank you , you have been comprehensive and precise!
I noticed that option in sculpt mode, but Blender is used so much and for so long that it felt weird to me that the brushes in texture paint were not projected along the surface normal.
When the new texture system will be released, I hope this issue will be solved.