EEVEE FISH EYE! 🐟 Blender Today LIVE #289
Blender Today #289
Announcements
- OVERGROWN teaser next week Monday. All free until tonight! studio.blender.org/
- COWBOI project starts
Announcements
What's new in Blender?
August 25 — September 08, 2026, at 12:00 Amsterdam CEST+0200 369 commits in total, of which 153 are fixes, 74 cleanup, and 37 refactors.
Assets
- Asset Libraries: Properly safe the invalid_uuid string to disk - Sebastian Parborg
Build
- Build: resolve build failure with undefined SHRT_MAX - Campbell Barton
- Build: resolve errors from missing fmt/format.h include - Campbell Barton
- Deps: Fix LLVM library directory for building OpenPGL on Windows on ARM - Bart van der Braak
Cleanup
- Cleanup: Fix formatting for real now trust me bro - Clément Foucault
- Cleanup: Extract helper methods for last stroke tracking - Sean Kim
- Cleanup: Convert Vertex & Weight paint view normal math to C++ - Sean Kim
-
Cleanup: Remove unused
view_originvariables fromStrokeCache- Sean Kim - Cleanup: Remove undefined & unused method - Sean Kim
-
Cleanup: Make two
SculptPaintStrokemethods static - Sean Kim - Cleanup: Remove unused variables from recent commit - Sean Kim
- Cleanup: Clarify compositor cache FrameRange struct - Omar Emara
- Cleanup: Cycles: Reduce duplication in SVM/OSL sheen setup - Weizhen Huang
- Cleanup: Attributes: split Auto mode from AttrDomain enum - Jacques Lucke
- Cleanup: Remove unused reference render image - Brecht Van Lommel
- Cleanup: remove unused workbench_effect_dof_info.hh - Campbell Barton
- Cleanup: remove the unused select fallback for poll on Wayland - Campbell Barton
- Cleanup: GPU: Shader Tool: Remove duplicated branch and use child_scope - Clément Foucault
- Cleanup: GPU: Shader Tool: Avoid bool comparison warnings - Clément Foucault
- Cleanup: Remove compilation warnings XR - Jeroen Bakker
- Cleanup: Paint: Remove unused world perspective matrix handling - Sean Kim
- Cleanup: Sync Sculpt & Vertex / Weight Paint cache update methods - Sean Kim
- Cleanup: use the _maxncpy suffix for buffer size arguments - Campbell Barton
- Cleanup: don't copy file paths as UTF8 - Campbell Barton
- Cleanup: avoid redundant strlen after copying strings - Campbell Barton
- Cleanup: improve doxy sections for editors - Campbell Barton
- Cleanup: improve doxy sections for GPU - Campbell Barton
- Cleanup: add missing dividers for doxy sections - Campbell Barton
- Cleanup: remove unused vector - Christoph Lendenfeld
- Cleanup: GPU: Remove unused files - Clément Foucault
- Cleanup: GPU: Unused var warning on MSVC - Clément Foucault
- Cleanup: GPU: Shader: Move compatibility files to own folder - Clément Foucault
- Cleanup: GPU: Shader: Move python shaders to their own folders - Clément Foucault
- Cleanup: GPU: Shader: Remove 2D from filenames - Clément Foucault
- Cleanup: GPU: Shader: Remove unused info files - Clément Foucault
- Cleanup: clarify docstring of asset library invalid_uuid field - Sybren A. Stüvel
- Cleanup: UI: Avoid unused region argument - Julian Eisel
- Cleanup: Paint: Simplify mode enter logic - Sean Kim
- Cleanup: Avoid null check for Sculpt stroke initialization - Sean Kim
- Cleanup: Pass in brush to cache update method - Sean Kim
-
Cleanup: Minor non-functional changes for
sculpt.brush_stroke- Sean Kim - Cleanup: Minor non-functional test helper changes - Sean Kim
- Cleanup: Sculpt: Profile scopes for area normal and center calculation - Hans Goudey
- Cleanup: Transform: Sync Vert Slide status bar updates with Edge Slide - John Kiril Swenson
-
Cleanup: Remove unused
BKE_paint.hhmethods - Sean Kim - Cleanup: Nodes: Remove a duplicate bNodeTree reference - W_Cloud
- Cleanup: Cycles: Unused include and clarified comment - Sergey Sharybin
- Cleanup: Cycles: Warning in CUDA and OptiX compilation - Weizhen Huang
- Cleanup: Node Wrangler: Remove/mark unused imports and variables - quackarooni
- Cleanup: Deduplicate socket access for compositor gizmos - Habib Gahbiche
- Cleanup: compiler warnings (unused variables, undeclared function) - Campbell Barton
- Cleanup: redundant includes - Campbell Barton
- Cleanup: spelling in comments & code (make check_spelling_*) - Campbell Barton
- Cleanup: consistent doxygen comments for global flags & preferences - Campbell Barton
- Cleanup: add missing doxygen \file comments - Campbell Barton
- Cleanup: use colons after doxygen argument names - Campbell Barton
- Cleanup: C-style multi-line comment block consistency - Campbell Barton
- Cleanup: Cycles: De-duplicate float<->byte logic - Sergey Sharybin
- Cleanup: Cycles: Consistently call packed spherical harmonics rest - Sergey Sharybin
- Cleanup: Separate function to extract GeometryFieldContext - Hans Goudey
- Cleanup: Remove debug print in recent commit - Hans Goudey
- Cleanup: Unused variable warnings with Embree unavailable - Hans Goudey
- Cleanup: Shrinkwrap: Remove unused argument - Hans Goudey
- Cleanup: Sculpt: Add profile markers for normals calculation - Hans Goudey
- Cleanup: Remove unused reference render image - Weizhen Huang
- Cleanup: Outliner: Let tree building helpers hold the tree-display - Julian Eisel
- Cleanup: EEVEE: Avoid widening for counting bits - Clément Foucault
- Cleanup: GPU: Shader Tool: Avoid noisy warning on MSVC - Clément Foucault
- Cleanup: Sculpt: Remove defunct connectivity check - Sean Kim
- Cleanup: undefined method warning - Campbell Barton
- Cleanup: doxy comments, consistent comment blocks & minor corrections - Campbell Barton
- Cleanup: spelling in comments (make check_spelling_*) - Campbell Barton
- Cleanup: VSE: Deduplicate drag-and-drop poll functions - John Kiril Swenson
-
Cleanup: VSE: Make add-strip
_PATHS(filepath, directory) seeding opt-in - John Kiril Swenson - Cleanup: GPU: Shader: Remove unused variables - Clément Foucault
- Cleanup: Cycles: Fix some mistakes in error messages and comments - Brecht Van Lommel
- Cleanup: Fix wrong profile scope names - Hans Goudey
- Cleanup: EEVEE: Avoid warning on GCC - Clément Foucault
Compositor
- 🔸 Compositor: Fallback to Bilinear if EWA is not needed - Omar Emara
- 🔸 Compositor: Gizmo for translate node - Habib Gahbiche
Core
- 🔸 Core: Project Asset Libraries - Sebastian Parborg
- BLI: Replace OpenImageIO UString with our own implementation - Hans Goudey
-
Core: Add type-safe
ListBaseT<T>first/last element functions - Sybren A. Stüvel - Core: Add C++ unit tests for Blender Projects and Variables - Nathan Vegdahl
Cycles
- Cycles: oneAPI: Remove MNEE+dispersion workaround - Xavier Hallade
- Cycles: Cover quaternion_to_rotation() with unit test - Sergey Sharybin
- Cycles: Add Quaternion attribute type - Sergey Sharybin
- Cycles: Add spherical harmonics attribute - Sergey Sharybin
- 🔸 Cycles: Support anisotropic glass - Weizhen Huang
Docs
EEVEE
- EEVEE: Conditionally enable viewport_index - Clément Foucault
- 🔸 EEVEE: Material Lighting Nodes - Miguel Pozo
- EEVEE: Blocklist aov_consecutive_view_layers on OpenGL - Le Gia Bao
- 🔸 EEVEE: Add Support for Panoramic Camera View - Le Gia Bao
Fixes
- Fix: GPU: Shader Tool: New BSL compiler errors - Clément Foucault
- Fix formatting - Clément Foucault
- Fix: Thread unsafe compositor cache access - Omar Emara
- Fix #162066: Crash selecting object in outliner - Christoph Lendenfeld
- Fix: VSE: Text drawing disappears when changing user preferences - John Kiril Swenson
- Fix #163000: Geometry Nodes data-block user counts increase on save - Tibo Stans
- Fix: Geometry Nodes: crash using multi-functions on lists containing e.g. lists or fields - Jacques Lucke
- Fix #163010: Preview icons stuck loading after undo on unchanged ID - Brecht Van Lommel
- Fix #160613: Python error when right clicking with filter tool - Sean Kim
- Fix #159584: Cycles, Compositor: Do not bundle UR Level Zero v1 adapter - Christoph Neuhauser
- Fix: Wrong UBO MSL bool padding - Cristian-Mihai Ivana
- Fix: Cycles: wrong flag for testing closure for emission layering - Weizhen Huang
- Fix: Shader: wrong coat albedo for fractional coat weight - Weizhen Huang
- Fix: Images: ICC profile incorrectly embedded in grayscale output - Brecht Van Lommel
- Fix: Color Management: Add back blender prefix for g24_rec2020_display - Brecht Van Lommel
- Fix: Color Management: g24_rec2020_display missing ICC profile and gamut - Brecht Van Lommel
- Fix: Camera: Wrong render region clip in camera view without camera - Brecht Van Lommel
- Fix: Cycles: Vertex domain custom normals lost with velocity motion blur - Brecht Van Lommel
- Fix: Preview icons stuck loading after a render or editor operator - Brecht Van Lommel
- Fix: Cycles: 3x3 matrix multiplication SIMD optimization lost - Brecht Van Lommel
- Fix #163092: Remove invalid assert - Martijn Versteegh
- Fix: IMM: Metal: invalid attribute binding - Clément Foucault
- Fix #161390: canceling texture bakes does not cancel them - Kévin Dietrich
- Fix #163011: Cycles blocky shadow artifacts with Metal - Christophe Hery
- Fix: Possible nullptr dereference in depsgraph builder - Omar Emara
- Fix: use-after-free on exit in the WAYLAND event thread - Campbell Barton
- Fix #158426: Improve energy conservation for multi-scatter glass BSDF - Sebastian
- Fix: Missing relations update when editing mask frames - Omar Emara
- Fix: Jobs with no progress are assumed to not be running - Omar Emara
- Fix #163135: Ctrl + Scrollwheel not working on certain number fields - Pratik Borhade
- Fix #162957: Grease pencil missing in displayed render result - Brecht Van Lommel
- Fix: GPU: Shader: Imprecision in normalized int packing in mipmap gen - Clément Foucault
- Fix: GPU: Shader Tool: Offsets after array members - Clément Foucault
- Fix: GPU: Shader Tool: Broken Union support - Clément Foucault
- Fix: List filters in project variables tab - Pratik Borhade
- Fix: Anim: Cache File Dopesheet mode was broken for 10 years - John Kiril Swenson
- Fix: VSE: Crash when setting speed where retiming key is not clamped properly - John Kiril Swenson
-
Fix: Vertex & Weight paint perform unnecessary
StrokeCacheupdates - Sean Kim - Fix: Various Sculpt Mode properties have incorrect unit - Sean Kim
- Fix: out-of-bounds read loading vector fonts, stripping UTF8 string - Campbell Barton
- Fix: UI: text clipping assert was always suppressed - Campbell Barton
- Fix: studio light names could contain non UTF8 characters - Campbell Barton
- Fix #162456: Project Point node can cause zero division - Cristian-Mihai Ivana
- Fix #163150: False straight line detection in Grease Pencil plane normal - Philipp Oeser
- Fix: Project variable properties no longer use split layout - Pratik Borhade
- Fix #163001: Naming and moving bone collection deactivates it - Starz099
- Fix: Assert when reading compositor passes - Omar Emara
- Fix #162933: Tooltip incorrect for lineart bake all and clear all - Eitan Traurig
- Fix #163233: Attribute domain enum misses point/vertex icon for meshes - Philipp Oeser
- Fix: Remote asset libraries didn't get their name from the url properly - Sebastian Parborg
- Fix #163176: Make sure that resolved_dirpath is refreshed on pref load - Sebastian Parborg
- Fix: Vertex & Weight smear brushes should not affect first daub - Sean Kim
-
Fix: Vertex & Weight paint affected by invisible
.sculpt_mask- Sean Kim - Fix: Nodes: KeyError with Typed Bundle operators tooltip - quackarooni
- Fix #162925: Frame cache gets invalidated when scrubbing - Omar Emara
- Fix #163245: Cycles crashes with an Empty as viewport local camera - Philipp Oeser
- Fix #163192: Memory leak on WM_exit after recent commit - Hans Goudey
- Fix: FBX import does not recognize Metalness texture in some cases - Aras Pranckevicius
- Fix: GPU: Shader Tool: Invalid scope guards in function returning bool - Clément Foucault
- Fix #163273: Push pose for quaternion properties didn't work - Christoph Lendenfeld
- Fix: #162796: Anim: Copy-pasting keys fails when bones are missing - Sybren A. Stüvel
- Fix: IDP_group_lookup_float_array checks the wrong property type - Nick Fratto
- Fix #163313: Crash when using Mask brush toggle with size pressure - Sean Kim
- Fix: Pass in correct data for tiling & feathering symmetry - Sean Kim
- Fix: free allocated data when add_override() fails - Martijn Versteegh
- Fix: Compositor asset shelf tabs not working - Habib Gahbiche
- Fix #162848: Compositor single values are zero in Vulkan - Omar Emara
- Fix #163242: Hydra render engines ignore viewport local camera - Brecht Van Lommel
- Fix #163304: Draw tools add material slot even if object is linked - Falk David
- Fix #163014: Crash when adding hair after reattaching curves - Tibo Stans
- Fix: Transform: Incorrect icon for Vert Slide "Cancel" - John Kiril Swenson
- Fix #163368: Cancelling a autokey mask transform still creates keyframes - Philipp Oeser
- Fix #163334: Materials linked to Grease Pencil Data missing in Outliner - Philipp Oeser
- Fix #163274: Point rasterization uses insufficient kernel range in some modes - Lukas Tönne
-
Fix: Node Wrangler:
Attributemenu fails for geometry types without attributes - quackarooni - Fix #162713: Crash in Add Modifer menu for Nurb Surface - Julian Eisel
- Fix #163201: GP missing in some frames with GPU compositor - Omar Emara
- Fix: Potential duplicate UString entries with concurrency - Hans Goudey
- Fix: GPU: Missing include - Clément Foucault
-
Fix:
PaintStroke::execcan read garbage data - Sean Kim - Fix: UI: Sidebar shows both Shape and Falloff panel - Jerry Wei
- Fix #163412: Highlights ignore display window of the input - Omar Emara
- Fix #163416: Crash when blurring images by a huge amount - Omar Emara
- Fix #163396: strip modifiers properties are set to zero when reset to default - Kévin Dietrich
- Fix: Memory leak from pose runtime - Christoph Lendenfeld
- Fix #163439: playhead text drawing outside indicator in VSE scrub UI - mrgreenapple24
- Fix #162884: Node tree interface accessors to prevent crash on nullptr - Lukas Tönne
- Fix: image editor pan not preserved for 'zoom to mouse position' and 'view all' - Habib Gahbiche
- Fix: Depsgraph: missing relations for collection under excluded ancestor - Suprhimp
- Fix: Motion Path update issues - Christoph Lendenfeld
- Fix #162650: Failing vulkan texture view tests - Jeroen Bakker
- Fix: Animation playback wrongly reported as playing during pre-callback - Sybren A. Stüvel
- Fix #163272: Metal: Allow running Blender without GPU. - Jeroen Bakker
- Fix: Light Falloff node reports the wrong value for Node.type - Brecht Van Lommel
- Fix #162998: Restore multi-drag for Geometry Nodes modifier inputs - Tibo Stans
- Fix: Sculpt toolbar test broken after Quad sphere addition - Sean Kim
- Fix #163253: Slide brush broken from BVH bug - Hans Goudey
- Fix #161522: Changing camera sensor fit changes viewport framing - Richard Antalik
- Fix #163380: EEVEE shader compilation error with vector mix node - Kévin Dietrich
- Fix: UI: Sidebar search crashes if there is no active category - Guillermo Venegas
- Fix: Remove duplcate outliner filter check for animdata - Pratik Borhade
- Fix: Assert when changing compositor precision - Omar Emara
- Fix #114275: Geometry Nodes: Blur Attribute handle Face Corner domain - Anirudh Vempati
- Fix #162710: Cancelling edit mode transform deletes existing keyframes - Pratik Borhade
- Fix #163471: Cycles GPU crash with shadow caustics and AO pass - Brecht Van Lommel
- Fix: wrong data written to debug .blend file - Jacques Lucke
- Fix #162908: Cycles: Copy correct number of pass components - Christoph Neuhauser
- Fix #162637: Crash loading invalid vector interface socket - Tibo Stans
- Fix #163328: Grease Pencil fill tool adds keyframe even if fill fails - Philipp Oeser
- Fix: Nodes: support more stable .blend file when adding nodes for versioning - Jacques Lucke
- Fix: Collection importer buttons not translated - Pablo Vazquez
- Fix: Ensure Image Paint is initialized on Scene creation - Sean Kim
- Fix: Newly introduced deprecated field warning - Sean Kim
- Fix: Broken build after recent change - Sean Kim
-
Fix: Explicitly include header for
ENUM_OPERATORS- Sean Kim - Fix: Overlay texture leak in experimental paint mode - Sean Kim
- Fix: Potential crash if texture slot has no image - Sean Kim
- Fix: Crash when drawing brush texture after file load - Sean Kim
- Fix: Crash after drawing when copying Scene with cursor data - Sean Kim
- Fix: VSE: Set pivot point to median for new preview spaces - John Kiril Swenson
- Fix: UI: Incorrect experimental texture paint brush options show - Sean Kim
- Fix: UI: Show correct size value in texture paint context menu - Sean Kim
- Fix #118558: Jump to target not updating active outliner object - Pratik Borhade
- Fix: Outliner content filters have no effect with All View Layers on - Pratik Borhade
- Fix #162455: Geometry nodes bool attribute needs correct default input type - Lukas Tönne
- Fix: RNA_property_enum_step leaks memory on empty enum - Pratik Borhade
- Fix: Nodes: Only offset inserted node when space suffices - W_Cloud
- Fix: Mismatched severity icons for driver error messages - Pablo Vazquez
- Fix: VSE: Dragging a Scene or Mask asset over the timeline appends it - John Kiril Swenson
- Fix: Grease Pencil: Double start point - Casey Bianco-Davis
- Fix: Debug build on windows - Ray Molenkamp
- Fix: Use after free in Proximity node with mesh and point cloud target - Hans Goudey
- Fix #163428: Remesh modifier inconsistent "scale" precision with arrow incrementing - Karim Mohamed
- Fix: Potential crash when copy-pasting keyframes with malformed rna path - Christoph Lendenfeld
- Fix: Warnings persist when node group unassigned from Effect - Habib Gahbiche
- Fix: CMake error when configuring/building for X11 - Nathan Vegdahl
- Fix: Missing versioning for anisotropic glass - Weizhen Huang
- Fix: Cycles: Background denoising motion vectors scaled by sample count - Brecht Van Lommel
- Fix: Cycles: Metal using lower precision for lgammaf than before - Brecht Van Lommel
- Fix: Cycles: Quaternion attribute alpha differs in derivative path - Brecht Van Lommel
- Fix: Cycles: Zeroing spherical harmonics gives -1 instead of 0 - Brecht Van Lommel
- Fix: Cycles: Baking cancelled when one object failed to bake - Brecht Van Lommel
- Fix: Cycles: Logging shows wrong hardware ray-tracing state for OptiX - Brecht Van Lommel
- Fix: Cycles: Inconsistent lens value for non-camera object cameras - Brecht Van Lommel
- Fix: Cycles: Don't report errors for image texture nodes without images - Brecht Van Lommel
- Fix: Render: Deadlock drawing render with render stats handler - Brecht Van Lommel
- Fix: VSE: Default strip length preference not versioned for some builds - John Kiril Swenson
- Fix #163610: VSE: Can't drag and drop multiple files in the preview area - John Kiril Swenson
- Fix: GPU: Shader Tool: Wrong attribute parsing in - Clément Foucault
- Fix: Outliner object data filter also hides materials and instances - Pratik Borhade
- Fix #163402: Crash during rendering with pre-render handler - Omar Emara
- Fix: Motion Path evaluated range logic - Christoph Lendenfeld
- Fix: Add extra checks inside anim box select operator - Pratik Borhade
Geometry Nodes
- 🔸 Geometry Nodes: Combine List node - Brady Johnston
-
🔸
Geometry Nodes: Add
Miter Scaleinputs toCurve to Tube- quackarooni - Geometry: Use Embree for vertex and edge BVH trees - Hans Goudey
GHOST
- GHOST/Wayland: Dynamically load libdbus - Campbell Barton
- GHOST: Add DBUS-based desktop settings watcher (GHOST_SystemDBusUnix) - Hans Goudey
- GHOST/Wayland: Add watcher for desktop theme change - Hans Goudey
Git
- Tools: Only list reports in the Blender repo in issues per module script - Alaska
- ToolSystem: add quad-sphere "method" which was missing from the tool - Campbell Barton
GPU
- GPU: Shader: Add support for conditional Shader Interfaces - Clément Foucault
- GPU: Shader: Port builtin shaders to BSL - Clément Foucault
- GPU: Shader: Port builtin image shaders to BSL - Clément Foucault
- GPU: Shader: Allow duplicated push constant names - Clément Foucault
- GPU: Shader: Port Node Socket and Widget shadows to BSL - Clément Foucault
- GPU: Shader: Port Icon shader to BSL - Clément Foucault
- GPU: Shader: Port index gen shaders to BSL - Clément Foucault
- GPU: Shader: Port area & window border shaders to BSL - Clément Foucault
- GPU: Shader Tool: Make UB in constexpr a compilation error - Clément Foucault
- GPU: Vulkan: Fix invalid layout transition for aliased pool images - Christoph Neuhauser
- GPU: Add command line option for skipping GPU backend support checks - Christoph Neuhauser
- GPU: Shader: Port polyline shader to BSL - Clément Foucault
- GPU: Shader: Port keyframe shader to BSL - Clément Foucault
- GPU: Shader: Port text shader to BSL - Clément Foucault
- GPU: Shader: Port annotation shader to BSL - Clément Foucault
- GPU: Shader: Port display fallback shader to BSL - Clément Foucault
- GPU: Shader: Port sequencer scope shader to BSL - Clément Foucault
- GPU: Shader: Port sequencer widgets & zebra shaders to BSL - Clément Foucault
- GPU: Vulkan: Implement shader name SPIR-V injection - Christoph Neuhauser
- GPU: Shader: Add missing matrix-scalar operator stubs - Clément Foucault
- GPU: Shader Tool: Add support for bitfields - Clément Foucault
- GPU: Enable int/bool types in EEVEE codegen - Criss-Ivana
Grease Pencil
- 🔸 Grease Pencil: Basic selection support in Draw Mode - Falk David
- 🔸 Grease Pencil: Add multi-filling to Fill Tool - Casey Bianco-Davis
I/O
- glTF: UI: Capitalize words in UI - Julien Duroure
- glTF: Refactor: isolate Vertex Color detection code - Julien Duroure
macOS
Metal
- Metal: Use CLOG - Jeroen Bakker
Modeling
- 🔸 Modeling: add quad-sphere primitive - bravo09
- Modeling: improve Quad-Sphere tessellation direction - bravo09
Nodes
- Nodes: Deselect sockets when hidden - Omar Emara
- Nodes: Ignore invalid links in ShaderNodeInliner - Miguel Pozo
- 🔸 Nodes: Make errors in node body multi-line - quackarooni
-
🔸
Nodes: Use
XYZsubtype forGet Vector Componentvector input - quackarooni - Nodes: Make initfunc_api optional for built-in nodes - Omar Emara
Outliner
- 🔸 Outliner: New options for filtering contents - Pratik Borhade
- 🔸 Outliner: Move object hierarchy to target collection during drag-drop - Pratik Borhade
Overlay
- 🔸 Overlay: Anti-alias normal lines in the viewport - Nicholas Fratto
Paint
Python
- PyAPI: expose bpy.app.autoexec so Python can test the value - Campbell Barton
- PyAPI: add bpy.path.is_autoexec - Campbell Barton
- Python: add context properties to retrieve scene & pose markers - RedMser
Refactor
-
Refactor: Texture Paint: Migrate data out of
PaintOperationstruct - Sean Kim -
Refactor: Paint: Remove
AbstractPaintMode- Sean Kim -
Refactor: Change
PaintStroke::get_locationto usestd::optional- Sean Kim -
Refactor: Paint: Extract common
StrokeCachesetup - Sean Kim - Refactor: Extract and split brush BVH helper function - Sean Kim
-
Refactor: Stop using
eval()in Rigify code - Demeter Dzadik - Refactorr: Use std::variant in GPUNodeStack's value - Cristian-Mihai Ivana
- Refactor: Move id to ShaderInterface - Jeroen Bakker
- Refactor: Sculpt: Remove BVH node tmin_ value - Hans Goudey
-
Refactor: Transform: Move custom status bar overrides to new
status_fn- John Kiril Swenson - Refactor: use PointerRNA ancestor info for RNA path of Action subdata - Sybren A. Stüvel
- Refactor: Avoid transitive fmt include in BLI_string_ref.hh - Hans Goudey
- Refactor: Paint: Replace internal stroke usage of RNA with struct - Sean Kim
- Refactor: Compositor: Sort after gathering dependency nodes - Omar Emara
- Refactor: Define needed output types in compositor context - Omar Emara
- Refactor: Paint: Remove inverted cursor drawing code - Sean Kim
- Refactor: extract cursor utility functions for GHOST/Wayland - Campbell Barton
- Refactor: Remove compositor set_info_message API - Omar Emara
- Refactor: Use base class for Group Input/Output operations - Omar Emara
- Refactor: UI: Activate area filters from hidden regions - Guillermo Venegas
- Refactor: BLO: move remaining blend-writing API to BlendWriter methods - Jacques Lucke
- Refactor: Geometry Nodes: generalize SocketValueVariant - Jacques Lucke
- Refactor: Move fields-to-grid evaluation for general use - Lukas Tönne
- Refactor: Cycles: Make some fields in KernelObject mesh/volume specific - Sergey Sharybin
- Refactor: Outliner: Add type safe element add function - Julian Eisel
- Refactor: Outliner: Port element types to type safe element add function - Julian Eisel
- Refactor: Outliner: Remove the now unused & unsafe element add functions - Julian Eisel
- Refactor: use PointerRNA ancestor info for RNA path of FCurves - Sybren A. Stüvel
- Refactor: use PointerRNA ancestor info for RNA path of Action Groups - Sybren A. Stüvel
- Refactor: Paint: Make cursor overlay variables non-global - Sean Kim
-
Refactor: Paint: Store and use
AssetCategoryinstead ofPaintMode- Sean Kim - Refactor: Compositor: Generalize node tree evaluator - Omar Emara
- Refactor: Cycles: Remove custom Python thread save/restore - Brecht Van Lommel
- Refactor: Decouple scheduler from node group operation - Omar Emara
-
Refactor: Node Wrangler: Remove
get_nodes_linkshelper function - quackarooni -
Refactor: Node Wrangler: Create
Hotkeydataclass - quackarooni
Sculpt
- 🔸 Sculpt: Interpolate generic attributes when displaying Multires data - Sean Kim
- 🔸 Sculpt: Reduce overhead in Mesh normals calculation - Hans Goudey
Tests
- Tests: USD: Add coverage for animations producing no geometry - Jesse Yurkovich
- Tests: Blocklist failing compositor OpenGL Linux tests - Omar Emara
- Tests: Add tests for existing Texture Paint brush code - Sean Kim
Translations
- I18N: Updated UI translations from git/weblate repository (eabb3a00c7ebb367). - Bastien Montagne
- I18N: Updated UI translations from git/weblate repository (a45d284d549e1d8). - Bastien Montagne
User Interface
- 🔸 UI: Move "Export All Collections" to Export menu - Pablo Vazquez
- UI: Add tests for operator poll - phantom
- 🔸 UI: Use theme for Region collapse arrows - Pratik Borhade
- 🔸 UI: Style pass on Collection Importer UI - Pablo Vazquez
- 🔸 UI: Project: Display Project name in window title - Pablo Vazquez
- 🔸 UI: Rename File/Directory browse operators - Guillermo Venegas
- UI: Always draw project categories - Pratik Borhade
- UI: Add drop tests (invoked when dropped onto editor regions) - phantom
- UI: Add test for preferences section drawing - phantom
-
🔸
UI: Rigid Body: Use search popup for
Calculate Massoperator - quackarooni - 🔸 UI: Add missing link property in the theme editor - Guillermo Venegas
- UI: add auto_keymap option to wm.call_panel - Campbell Barton
- 🔸 UI: Allow alpha on playhead - Christoph Lendenfeld
- 🔸 UI: Add search to side regions - Guillermo Venegas
- 🔸 UI: Enable viewport compositing by default - Habib Gahbiche
- 🔸 UI: Support edge scrolling in Box Select gesture - Pratik Borhade
- 🔸 UI: Properties: Sort View Layer tab after Scene - Pablo Vazquez
- 🔸 UI: Dropdown menu for "Convert Rotation Mode" operator - Christoph Lendenfeld
- UI: add an "auto_keymap" argument to WindowManager.popover - Campbell Barton
- UI: add an "auto_keymap" argument to WindowManager.invoke_popup - Campbell Barton
Video Sequencer
- 🔸 VSE: Add drag-and-drop support for Mask, Scene, and Movieclips - John Kiril Swenson
- 🔸 VSE: Add drag-and-drop support for text datablocks and text files - John Kiril Swenson
- 🔸 VSE: Add drag-and-drop support for colors - John Kiril Swenson
- 🔸 VSE: Add default strip length user preference - John Kiril Swenson
- 🔸 VSE: Add "Middle" option to show thumbnails in the middle of strips - Falk David
- 🔸 VSE: Always allow selecting handles, even if they are small - John Kiril Swenson
- 🔸 VSE: Always list all clip, mask and scene datablocks in the Add menu - John Kiril Swenson
- 🔸 VSE: Show text files in Video Editing file browser filter - John Kiril Swenson
Vulkan
- Vulkan: make shaderClipDistance optional - rajaryan-2
14 Comments
Hola Pablo!
Material Lighting Nodes are a HUGE thing!
But I think that along with proper documentation, it would be good if Blender, maybe on 5.3 release, made a couple of videos explaining their usage and how they work (something similar to what was done e.g. with GN matrix nodes)
This because I think that the potential for these nodes is immense, but being them more on the technical knowledge of how materials and lighting works, many artists (myself included) could struggle a little bit in understanding how to use them without initial guidance. I myself had to use the node groups provided in the dev thread by the main developer, otherwise I would have had no idea how to make them work.
Already can't wait for 5.3, thanks and cheers!
yes! sometimes were at the mercy of random blender youtubers to make tutorials on new specific topics. (caramel)
thank you jackrocky :) and have a good time..
Hi, Pablo! Could you make a quick overview of the AI Contributions Policy please? Thanks! developer.blender.org/docs/handbook/contributing/ai_contributions/
Hey Pablo, hope you're doing well.
Are there plans to improve blender's unhiding of objects without relying on the outliner?
For instance pressing H to hide an object and pressing it again immediately afterwards while the object is still active should result in it unhiding, but because you can't use operators on hidden objects nothing happens, and you're forced to either unhide everything with ALT H or use the outliner.
Maybe this also calls for better interactivity of hidden objects in general when selected from the outliner as several other operations fail if the selected objects are hidden.
Cheers
Hey buddy, this annoyed me so much (especially coming from Maya) that I created a simple toggle for it. Unfortunately I don't agree with Pablo on this one and the current solution assumes the user is too stupid to track what has just been hidden... too bad... well..
I called it "Hide Selected: a better Show/Hide toggle for Blender". I published it in my gumroad and it's free. I can't post links here, sorry.
Cheers 🫡
Heya Pablo, hope you and the Blender team are doing great. Can't wait to see what you guys are cooking up for BlenderCon.
Question regarding Ani Layer, do you guys feel it will be in ''Experimental mode'' for Blender 5.3? Always love you guys and will keep on supporting!
PS. Why don't my profile show my image when i post here? I see others but not mines, even when I click on change profile picture, nothing pops up. Bug on the site? ( I'm using WIN PC Chrome browser). Thanks :)
Oi, Pablo!
One of my friends was learning blender, and he was starting with a mirrored mesh. He asked me why there's no function to just remove all faces in the middle of a mirrored mesh. I was shocked "remove pinching geometry" wasn't already an operator! maybe something that looks for flat, duplicated faces, or faces that cause a 0-width face with subdivision.
also, this is a little selfish, but youtube is no longer recommending your livestreams! along with the recent schedle shakeup, I missed a month of them! perhaps register the stream a day or two in advance? I know you can post early and plan a start time
also on the addon thing- I'm not sure if I ever mentioned this idea, but perhaps there should be a full workspace just for addons to fill with a full UI, i imagine it would mirror the viewport tabs, but not linked to the viewport, which would give "pin and pop out addon to window" functionality!
apologies for rambling- glad to catch this again!
hi pablo what do you think about new ChatGPT 6 and it's AI function and can is there a plan for auto roto tool in blender?
Always happy to see a new Blender Today stream!
Do we have any news on DLSS and OpenImageDenoise 3? For DLSS, I know the problem is that NVIDIA doesn't ship the SDK in the driver, which makes shipping Blender with DLSS difficult. How does Blender plan to work around that? Do you think NVIDIA will eventually ship the SDK with the driver?
I know I'm asking a lot of questions so I understand if you can't answer it all, I'm just very excited for these upcoming features!
Hello, Pablo!
I have a question I don't know where to ask. Why does Blender save TIFF files with a premultiplied alpha channel in 16-bit format, and straight in 8-bit format? I know that before version 2.66, you could choose the alpha channel type, but now that's not possible.
btw I was watching this new feature with enabeling compositor in viewport and thought that it would be nice to see a switch above the composer stack.
PABLO, did you see that blender was featured in gpt 6 astra reveal🤢? why?! such a bad look for blender...
also big thanks for eventually seeing the genius in my RCS post 😎can't believe it's actually happening now! Thank you for another great stream 👋
Blender thanks to its great python API is just great for LLM's
Hey Pablo, how are you? Been a while since I had a question!
I know recently Harley Acheson left, which is a shame, but I was curious about one of his ideas: projects.blender.org/blender/blender/issues/117954
It's a new paradigm in blender, but I think I do like the idea of having tabs for editors because a lot of times I need to swap a ton in-between editors if I already have my workspace set up how I like it.
It does create a rather empty bar at the top of every editor, that's definitely the downside. But I was really curious what you thought about this. I still see it in the UI roadmap in extras.
PS: Really love all the work in the outliner that is being done for 5.3!