BLENDER COLLECTIBLES 🎁 Blender Today LIVE #225
Changelog
Total: 239 commits, of which 61 are fixes and 73 cleanup.
Anim
-
Anim: add simple unit test for stability of
sort_time_fcurve()- Sybren A. Stüvel
Animation
- Animation: add function for deduplicating FCurve keys - Sybren A. Stüvel
- Animation: Add in Parent space alignment option to the Transform Orientation gizmo - Nate Rupsis
- Animation: make properties from motion path library overrideable - Christoph Lendenfeld
Assets
- Assets: Do Not Show Blank Read-Only Metadata - Harley Acheson
Attributes
BKE
- BKE: Rework ID swap code to properly handle embedded ID pointers. - Bastien Montagne
BLI
- BLI: use decay_t to determine type to hash - Jacques Lucke
- BLI: Return number of values removed from remove_if - Falk David
BLI_path
- BLI_path: support normalizing relative paths - Campbell Barton
- BLI_path: de-duplicate WIN32 logic for BLI_path_normalize - Campbell Barton
- BLI_path: add BLI_path_extension_or_end - Campbell Barton
- BLI_path: add BLI_path_extension_strip as an alternative to replace - Campbell Barton
- BLI_path: improve behavior of BLI_path_extension - Campbell Barton
Build
- Build: remove smatch, sparse & splint checking scripts - Campbell Barton
CMake
- CMake: Add extra strict flags cancellation for Clang - Sergey Sharybin
Clean up
Cleanup
- Cleanup: Add missing domain priority for mask nodes - Omar Emara
- Cleanup: remove basepath argument from BLI_path_normalize{_dir} - Campbell Barton
- Cleanup: rename main_name to main_filepath - Campbell Barton
- Cleanup: minor changes to BLI_path_normalize - Campbell Barton
- Cleanup: remove redundant path functions - Campbell Barton
- Cleanup: Miscellaneous improvements to subdivision geometry nodes - Hans Goudey
- Cleanup: Remove unused includes, correct comments - Hans Goudey
- Cleanup: Remove else after return in subdiv modifier code - Hans Goudey
- Cleanup: Avoid magic number for bits per integer - Hans Goudey
- Cleanup: Simplify subdiv check for crease usage - Hans Goudey
- Cleanup: Use utility constructor to create field operations - Hans Goudey
- Cleanup: Avoid redundant custom data lookups - Hans Goudey
- Cleanup: minor improvements to BLI_path_normalize - Campbell Barton
- Cleanup: rename path_util 'Clean' tests to 'Normalize' - Campbell Barton
- Cleanup: use hash value that fits into int to fix compile error - Jacques Lucke
- Cleanup: Use function ref instead of pointer for transform gizmo - Hans Goudey
- Cleanup: remove redundant code - Campbell Barton
- Cleanup: Avoid switch fallthrough, avoid copying bit span - Hans Goudey
- Cleanup: rename anonymous attribute id pointer type - Jacques Lucke
- Cleanup: add win32 suffix to BLI_path_is_abs - Campbell Barton
- Cleanup: code-comments in path_util.c - Campbell Barton
- Cleanup: replace binary '&' with '&&' check - Campbell Barton
- Cleanup: use const variables when reading X11 events - Campbell Barton
- Cleanup: resolve uninitialized members in GHOST Window & SystemX11 - Campbell Barton
- Cleanup: quiet shadowed variable warning - Campbell Barton
- Cleanup: use BLI_listbase_is_single to avoid unnecessary counting - Campbell Barton
- Cleanup: use const for implicit sharing info - Jacques Lucke
- Cleanup: Fix custom data memcpy call null argument - Hans Goudey
- Cleanup: fix various warnings on Windows - Brecht Van Lommel
- Cleanup: use function style casts & nullptr, spelling in comments - Campbell Barton
- Cleanup: format - Campbell Barton
- Cleanup: remove dead code, reduce variable scope - Campbell Barton
- Cleanup: match argument names between functions & declarations - Campbell Barton
- Cleanup: format - Campbell Barton
- Cleanup: Remove redundant custom data initialization - Hans Goudey
- Cleanup: Use more specific arguments to calc edges function - Hans Goudey
- Cleanup: Use utility to create mesh in metaball tessellation - Hans Goudey
- Cleanup: STL Import: Use utility to copy corner verts data - Hans Goudey
- Cleanup: use memmove instead of a string copy for BLI_path_suffix - Campbell Barton
- Cleanup: remove "Path" prefix from path_utils tests - Campbell Barton
- Cleanup: order expected value last in path_util tests - Campbell Barton
- Cleanup: use EXPECT_STREQ instead of EXPECT_EQ_ARRAY - Campbell Barton
- Cleanup: use a define for all style flags - Campbell Barton
- Cleanup: Move view3d_gizmo_ruler.c to C++ - Erik Abrahamsson
- Cleanup: Remove unnecessary point cloud function argument - Hans Goudey
- Cleanup: Remove redundant "reference" argument to geometry copy - Hans Goudey
- Cleanup: Use consistent argument order for mesh creation functions - Hans Goudey
- Cleanup: IO: Separate creating mesh and adding to Main - Hans Goudey
- Cleanup: Use generic edge calculation for legacy curve to mesh - Hans Goudey
- Cleanup: Remove unused variables/functions - Hans Goudey
- Cleanup: expand on why the extension isn't replaced for blend-file save - Campbell Barton
- Cleanup: avoid changing the filepath for alembic frame range calculation - Campbell Barton
- Cleanup: avoid redundant string copy - Campbell Barton
- Cleanup: improve doc-strings for EditFont - Campbell Barton
- Cleanup: balance doxygen grouping, minor grouping adjustment - Campbell Barton
- Cleanup: format - Campbell Barton
- Cleanup: spelling in comments - Campbell Barton
- Cleanup: avoid warnings from gcc in oneAPI device compilation - Xavier Hallade
- Cleanup: Remove unused using keyword - Hans Goudey
- Cleanup: Remove unnecessary attribute provider callbacks - Hans Goudey
- Cleanup: remove clang-format: off for EnumPropertyItem definitions - Campbell Barton
- Cleanup: remove "Curves" suffix from curve sculpting enum - Campbell Barton
- Cleanup: make format - Dalai Felinto
- Cleanup: Use curve positions accessor function - Hans Goudey
- Cleanup: Remove unused using keyword - Hans Goudey
- Cleanup: Improve comments about curves and mesh offset spans - Hans Goudey
- Cleanup: Better logging for imbuf tests - Jesse Yurkovich
- Cleanup: compile warning, correct wording - Campbell Barton
- Cleanup: double quotes for non-enum strings - Campbell Barton
- Cleanup: Replace manual flag checking with methods in node.cc - illua1
- Cleanup: Define type for object type enum - Julian Eisel
- Cleanup: UI messages fixes and tweaks. - Bastien Montagne
- Cleanup: document type of Scene::view_layers - Sybren A. Stüvel
Core
- Core: libquery: change Collection's parent pointer to master collection to 'not owned'. - Bastien Montagne
- Core: Memfile Undo: Optimize handling of 'no undo' IDs. - Bastien Montagne
- Core: Memfile undo: Add ID tag for IDs that are 'reused in place'. - Bastien Montagne
- Core: ID remapping: Do remap 'not owning embedded' ID pointers. - Bastien Montagne
Curves
- Curves: Optimize edit mode selection draw extraction - Hans Goudey
Cycles
- Cycles: MetalRT: Don't apply local object transform if it is baked - Michael Jones
- Cycles: oneAPI: Fix volume intersection for Embree GPU execution - Nikita Sirgienko
- Cycles: oneAPI: Fix motion blur rendering for Embree GPU execution - Nikita Sirgienko
- Cycles: oneAPI: Fix kernels preloading in case of incompatible AoT binaries - Nikita Sirgienko
- Cycles: Break up geometry.cpp and scene.cpp file into smaller pieces - William Leeson
- Cycles: oneAPI: Remove excess quotes in a capabilities output - Nikita Sirgienko
- Cycles: re-enable AMD GPU binaries on Windows - Brecht Van Lommel
- Cycles: oneAPI: use specialization constant to compile with/without Embree on GPU - Xavier Hallade
- Cycles: pass kernel features to get_bvh_layout_mask - Xavier Hallade
- Cycles: add hardware raytracing support to oneAPI device - Nikita Sirgienko
- Cycles: update DPCPP to 2022-12 release - Xavier Hallade
- Cycles: update compute-runtime to 23.05.25593.18 - Xavier Hallade
- Cycles: build Embree 4 with GPU support - Xavier Hallade
- Cycles: fix SYCL debug library linking on Windows - Xavier Hallade
- Cycles: move oneAPI kernels dynamic library to blender.shared - Xavier Hallade
DNA
- DNA: Move irradiance grid light cache data to Object level - Clément Foucault
Docs
- Docs: note that renaming data-blocks sorted them which impacts iteration - Campbell Barton
- Docs: Update RNA to user manual url map - Aaron Carlisle
EEVEE
- EEVEE: Optimise texture usage flags - Jason Fielder
EEVEE Next
- EEVEE Next: Ensure correct texture usage for views - Jason Fielder
- EEVEE Next: GLSL Metal shader type compatibility - Jason Fielder
EEVEE-Next
- EEVEE-Next: Resolve compilation errors in Metal - Jason Fielder
Fix
- Fix: Wrong conversion for crease type in multires reshape - Hans Goudey
- Fix: Incorrect mesh cache tagging causing excess calculation - Hans Goudey
- Fix: wrong field inferencing in Sample Curve node - Iliya Katueshenock
- Fix: missing variable initialization - Jacques Lucke
- Fix: Spreadsheet missing other geometry types for edit mode mesh objects - Hans Goudey
- Fix: Normalization with baked curves and preview range - Christoph Lendenfeld
- Fix: Search in node editors missing items - Hans Goudey
- Fix: Build error after last commit - Hans Goudey
- Fix: segfault when indexing into some collections with strings. - Nathan Vegdahl
- Fix : Iteration for BMLayerCollection was broken - Martijn Versteegh
- Fix #100053: Incorrect saving asset catalogs after renaming parent item - Philipp Oeser
- Fix #105450: Resolve box selection issue in Metal - Jason Fielder
- Fix #106138: Node add searches missing context-based poll - Hans Goudey
- Fix #106208: data-block socket defaults not used for node group - Jacques Lucke
- Fix #106293: Cycles importance sampling with multiple suns works poorly - Brecht Van Lommel
- Fix #106405: Cycles multi GPU crash with vertex color baking - Brecht Van Lommel
- Fix #106469: unstable tessellation with quad-flipping detection - Campbell Barton
- Fix #106706: fireflies with Nishita sky sun sampling at certain angles - Alaska
- Fix #106751: No implicit conversion for group inputs - Omar Emara
- Fix #106771: Selection offset in timeline when NLA track is offset - Christoph Lendenfeld
- Fix #106943: driver on inactive view layer doesn't work - Sybren A. Stüvel
- Fix #106977: Crash when OpenEXR IO fails - Sergey Sharybin
- Fix #106982: crash with muted node - Jacques Lucke
- Fix #106993: Slowness with Orbiting around select + Mesh Symmetry - Germano Cavalcante
- Fix #106998: selection of bones in grease pencil weightpaint mode fails - Philipp Oeser
- Fix #107004: Cycles shadow caustics not working with area lights - Brecht Van Lommel
- Fix #107009: Setting Text Object Styles - Harley Acheson
- Fix #107020: crash when canceling Sky Resize with mesh symmetry - Germano Cavalcante
- Fix #107032: API Document: matrix_channel (PoseBone) description incorrect - Sybren A. Stüvel
-
Fix #107050: accessing
nullptrafter progress is canceled - Weizhen Huang - Fix #107060: Curves sculpt mode does not select default tool - Campbell Barton
- Fix #107067: Properly clear CD_FLAG_ACTIVE/DEFAULT_COLOR flags - Martijn Versteegh
- Fix #107081: Slow selection with context variables - Sergey Sharybin
- Fix #107101: Update depsgraph on muting VSE channel - YimingWu
- Fix #107113: VSE channel buttons invisible in Light theme - Pablo Vazquez
- Fix #107120: Small fixes to OS File Operations - Harley Acheson
- Fix #107125: Entering Grease Pencil Vertex Paint mode crashes - Philipp Oeser
- Fix #107127: Context property driver to view layer does not work - Sergey Sharybin
- Fix #107156: UV Cylinder/Sphere Projection fails after other operators - Philipp Oeser
- Fix #107185: Edit mode or existing attribute break rest position - Hans Goudey
- Fix #107261: bpy.types.Text (region_as_string/region_from_string) crash - Philipp Oeser
- Fix #90159: Inconsistent display of active filters for import/export file dialogs - Pratik Borhade
- Fix #91966: Alembic/USD export ignores bone parent animation - Sybren A. Stüvel
- Fix Build Warning - Harley Acheson
- Fix Build Warning in fileops.c - Harley Acheson
- Fix Build Warnings - Harley Acheson
- Fix VSE thumbnails are displayed from incorrect scene - Richard Antalik
- Fix bitwise logical operation in Metal backend - Sergey Sharybin
- Fix bitwise operation used on boolean in Mantaflow - Sergey Sharybin
- Fix buffer overflow in BLI_path_frame_strip with long extensions - Campbell Barton
- Fix build error on macOS after previous commit - Brecht Van Lommel
- Fix build error using WITH_CYCLES_LOGGING=OFF - Brecht Van Lommel
- Fix build error when not using unity build - Brecht Van Lommel
- Fix comment style in previous commit. - Nathan Vegdahl
- Fix failing lite build - Richard Antalik
- Fix missing include causing build error & invalid NULL check - Campbell Barton
- Fix regression in BLI_path_extension_ensure - Campbell Barton
- Fix regression in BLI_path_suffix for long extensions - Campbell Barton
- Fix regression in recent BLI_path extension logic - Campbell Barton
- Fix regression tests failure on the latest Xcode - Sergey Sharybin
- Fix set but unused variable in Freestyle - Sergey Sharybin
- Fix set but unused variable in IK solver - Sergey Sharybin
- Fix set but unused variable in Libmv - Sergey Sharybin
- Fix set but unused variable in dualcon octree - Sergey Sharybin
- Fix set but unused variable in mesh intersect - Sergey Sharybin
- Fix set but unused variables in Cycles - Sergey Sharybin
- Fix splash preference overriding Read Home File's use_splash property - Campbell Barton
- Fix strict prototypes in Audio - Sergey Sharybin
- Fix unqualified access to std::move in OpenSubdiv - Sergey Sharybin
- Fix unqualified access to std::move in Cycles - Sergey Sharybin
- Fix unused variable in release build in Metal backend - Sergey Sharybin
GHOST/Wayland
- GHOST/Wayland: Fix disposeContext with VK - Mateusz Albecki
GPencil
- GPencil: Several Weight Paint additions - Sietse Brouwer
Geometry Nodes
- Geometry Nodes: support outputting field without computing full node - Jacques Lucke
- Geometry Nodes: Delete value moving for drag and drop group inputs - illua1
- Geometry Nodes: add map from bsocket index to lf socket index - Jacques Lucke
- Geometry Nodes: replace more maps with array - Jacques Lucke
- Geometry Nodes: new Index of Nearest node - illua1
- Geometry Nodes: replace multiple maps with single array - Jacques Lucke
- Geometry Nodes: Slightly optimize mesh to curve node - Hans Goudey
Graph editor
- Graph editor: fix box select when scene has annotations - Sybren A. Stüvel
I18n
- I18n: translate default preset name - Damien Picard
- I18n: Updated translation files from SVN trunk (r6467). - Bastien Montagne
Mesh
- Mesh: Cache loose vertices - Hans Goudey
- Mesh: Move edges to a generic attribute - Hans Goudey
Metal
- Metal: Resolve high memory pressure on EEVEE render - Jason Fielder
- Metal: TF more optimal for hair refinement - Jason Fielder
- Metal: Increase concurrent shader compilation threads - Jason Fielder
- Metal: Add textureGrad support - Jason Fielder
- Metal: Add new files for Storage Buffers support - Clément Foucault
Py module i18n utils
- Py module i18n utils: return subprocess.run result to catch output of external commands. - Bastien Montagne
RNA
- RNA: ignore some large arrays in override code - Jacques Lucke
Realtime Compositor
- Realtime Compositor: Implement ID Mask node - Omar Emara
Refactor
- Refactor: move keyframe-adding function from RNA to editors/animation - Sybren A. Stüvel
- Refactor: anim, simplify range check - Sybren A. Stüvel
Render
- Render: Fix crash in baking - Joseph Eagar
Revert "Cycles
Sculpt
- Sculpt: Fix #107068: Crash in multires unsubdivide - Joseph Eagar
- Sculpt: Fix #107093: expand helper function not specialized to pbvh - Joseph Eagar
- Sculpt: fix brush.falloff_shape not being reset in "reset brush" op - Joseph Eagar
- Sculpt: Fix #106996: Mising null check in BKE_sculpt_update_object_before_eval - Joseph Eagar
Subdiv
- Subdiv: Tag result mesh with no loose edges/verts - Hans Goudey
Tests
- Tests: add BLI_path_extension replace/ensure tests for overflow handling - Campbell Barton
- Tests: add more path extension tests - Campbell Barton
- Tests: add tests for BLI_path_extension ensure & replace - Campbell Barton
- Tests: add test for BLI_path_suffix & BLI_path_sequence_decode - Campbell Barton
Text object
- Text object: operators to move cursor to the top or bottom - Damien Picard
UI
- UI: Make it possible to add shortcuts to UI operators. - Richard Antalik
- UI: Change the name of Invert nodes to Invert Color - zanqdo
- UI: OS File Operations Within File Browser - Harley Acheson
VFONT
- VFONT: Text Selection Operator - Harley Acheson
VSE
- VSE: Add sound strip retiming support - Richard Antalik
Vulkan
- Vulkan: Initialize Device Capabilities. - Jeroen Bakker
- Vulkan: Construct a Vulkan 1.2 Context. - Jeroen Bakker
- Vulkan: Attach debug utils to GPU_debug_group. - Jeroen Bakker
- Vulkan: Provide Debug Utilities - AgAmemnno
WM
- WM: add versioning for 3.5 sculpt brushes (part of fix for #106057) - Campbell Barton
WindowManager
- WindowManager: Context Creation - Jeroen Bakker
deps_builder/windows
- deps_builder/windows: Cleanup dpcpp harvest - Ray Molenkamp
macOS
- macOS: Add open files to system recent files - Ankit Meel
macOS/GTests
- macOS/GTests: simplify blender_test library linking - Ankit Meel
14 Comments
Hey Pablo! Does RCS have some sort of moderation or even shadow ban? I tried submitting my first proposal and it never showed up in any feed on the website or my profile. Although it is viewable with a direct link: blender.community/c/rightclickselect/0LBX/
Hola Pablo ! Blender Today is my favorite place to stay updated but this is the first time I am getting to watch it live so I must say, "You're amazing and thanks for all the wonderful work you are doing!"
No questions, but I just had a feature idea that I would like to share with you and the community. Kindly have a look : blender.community/c/rightclickselect/k7Nx
Regards to Ton and the whole team :)
Hello. While you have the Roosendal in the house, what are you're opinions on this: blender.community/c/rightclickselect/D8lB/
Hello Pablo, I hope you have a nice day, Very big and nice working in every single Blender Reasle, But i think before we go very far ingeometry Nodes or SIM Nodes, We should have should have the basic of very important things, like Edge groups, Face Groups, Multiple Groups, And Selections Groups in the object mode ( Level ), and selection groups in GEO Nodes based on viewport and edit mode, And some basic modeling command in GEO Nodes like inset and bevel and mirror.... Bigg Thanks For Nice Blender DEV Team.
What is the purpose of asking questions early if they are going to be ignored? I am working on a major movie project and it seems like my question is being ignored and wiped from the history of this site. What's up with that?
Hello Pablo, Are there any plans to add a proper UV synchronization mode in Blender, similar to what has already been implemented in Maya, C4D, and RizomUV? It's extremely inconvenient to work with a large number of objects in the current synchronization mode. When editing objects, I can't see all the UV islands. If I switch to synchronization mode, almost all add-ons stop working or give errors. When hovering over a UV island, it doesn't highlight in the viewport. There's an add-on called uv_highlight by BenjaminSauder for Blender 2.7x, here's a link to it: github.com/BenjaminSauder/uv_highlight . There are examples of it in action there. Will such a feature be added to Blender?
Hello Pablo, I hope you have a nice day, Very big and nice working in every single Blender Reasle, But i think before we go very far ingeometry Nodes or SIM Nodes, We should have should have the basic of very important things, like Edge groups, Face Groups, Multiple Groups, And Selections Groups in the object mode ( Level ), and selection groups in GEO Nodes based on viewport and edit mode. Bigg Thanks For Nice Blender DEV Team.
Hi Pablo, can we also create a "negative node" in Geometry Nodes that gives the negative/positive value of a number pulled from Separate XYZ values?
Hey Pablo thank you so much for doing the streams, you really grew up as a podcaster :)
It might be too early to speculate but after 3.6 simulation nodes will we see other simulation solvers such as rigid bodies and rigid body constraint start to get developed in geometry nodes? Is there some long term simulation nodes roadmap?
Thanks <3
oi, Pablo!
Is there a chance we could get the old smoke sim back as a black box solver? I was having trouble getting mantaflow to work, and ended up redownloading 2.79, and exporting a VDB sequence, to get my VFX looking good. While mantaflow works well enough, it doesn't react as conceptually as blender smoke does to force fields, and its density/generation/noise has some wonky effects.
Hi Pablo. Geometry Nodes: I understand that it works against one object but when in Geometry Nodes, we can create many meshes and instances. How do we create hierarchical parenting inside the Geometry Nodes so that there can be parenting against a certain mesh? So, if I have three (3) cubes created in Geometry Nodes, the cube in the middle drives transforms for any "child" objects
Let's work with the default cube (Do not delete! LOL!) Go to Geometry nodes. Create three (3) separate cube meshes (labeled 1,2,3) 2 is the parent cube to 1 & 3 if I transform/scale cube 2, the other two will be automatically transformed to their respective position after 2 is done being modified. Does this make sense?
hola Pablo I have one question. first of all, I hope you have a good day. my question is the bpy.ops.wm.save_mainfile already an incremental system? Because I build an addon for Blender that acts like the Davinci resolve live save feature if you don't know it saves your project while you work incrementally
Hope today went well Pablo! Just one question: Are there plans to have any new essential assets in blender 3.6? Thanks for all you do!