We SURVIVED! - Blender Today LIVE #242
Changelog
416 commits in total, of which 73 are fixes and 128 cleanup.
Anim
- Anim: Add regression tests for NLA strip evaluation - Paolo Amadini
- Anim: View FCurve of Property in the Graph Editor - Christoph Lendenfeld
- Anim: Insert keyframes without keying sets - Christoph Lendenfeld
- Anim: Add basic autokey tests - Christoph Lendenfeld
- Anim: Restrict range of fcurve_to_keylist - Christoph Lendenfeld
- Anim: Marker Drawing Changes - Harley Acheson
- Anim: Change how Only Insert Needed works - Christoph Lendenfeld
- Anim: Add "Add/delete" track operations to NLA context menu - Nate Rupsis
- Anim: Refactoring NLA menu into more sensible format - Nate Rupsis
Assets
- Assets: Cleanup/deduplicate usages of RNA enum for asset lib types. - Bastien Montagne
- Assets: RNA: Add RNA struct for 'AssetWeakReference' data. - Bastien Montagne
BKE
-
BKE lib remap: Add option to allow remapping of
ID.libpointers. - Bastien Montagne - BKE main: Add 'merge' utils to merge one Main content into another. - Bastien Montagne
-
BKE_lib: Convert
BKE_lib_remapandlib_internheaders to be fully C++. - Bastien Montagne -
BKE_lib_remap: Refactor: Replace
LinkNodebyblender::Span. - Bastien Montagne - BKE_main: move header to be a fully CPP one. - Bastien Montagne
-
Move
BKE_main_idmapandBKE_main_namemapto be fully cpp headers. - Bastien Montagne
BLF
- BLF: Support All Render and Bitmap Formats - Harley Acheson
- BLF: Fix Shader Type Conversion - Harley Acheson
- BLF: Rename Text Shader Depth to Component Len - Harley Acheson
- VFont: Use BLF for font & glyph loading - Harley Acheson
BLI
- BLI: support checking if two maps are the same - Jacques Lucke
- BLI: change timeit to use fmtlib instead of direct cout - Aras Pranckevicius
- BLI: Add utility to reverse index mask - Hans Goudey
- BLI: improve const handling in ImplicitSharingPtr - Jacques Lucke
- BLI_fileops: Harmonize 'rename' behaviors accross platforms. - Bastien Montagne
Build
- Build: update rocky8 setup script to install the Jack audio library - Iyad Ahmed
- Build: update wayland protocols to 1.32 - Campbell Barton
CMake
- CMake: Disable vcpkg for msbuild based builds - Ray Molenkamp
- CMake: fix shader_builder build error - Ray Molenkamp
Cleanup
- Cleanup: Remove sculpt session mask pointer - Hans Goudey
- Cleanup: Access sculpt attributes with C++ attribute API - Hans Goudey
- Cleanup: Remove unused return argument from "ensure mask" function - Hans Goudey
- Cleanup: Move draw_subdivision.h to C++ - Hans Goudey
- Cleanup: Remove unnecessary keywords in C++ header - Hans Goudey
- Cleanup: rename node group to group node context - Jacques Lucke
- Cleanup: remove unused variable - Iliya Katueshenock
- Cleanup: Grammar in comments - Hans Goudey
- Cleanup: EEVEE-Next: Remove use of deprecated DRWView API - Clément Foucault
- Cleanup: rename sse2 specific functions to avoid accidentally using them - Brecht Van Lommel
- Cleanup: Slightly generalize attribute gather function - Hans Goudey
- Cleanup: Generalize some attribute propagation functions - Hans Goudey
- Cleanup: Correct offset indices slice assert - Hans Goudey
- Cleanup: Make format - Harley Acheson
- Cleanup: internally renaming NLA Channels to NLA Tracks - Nate Rupsis
- Cleanup: Make format - Harley Acheson
- Cleanup: Make format - Jeroen Bakker
- Cleanup: remove debug print - Jacques Lucke
- Cleanup: BLI: add assertion for uninitialized boolean in IndexMask.from_predicate - Iliya Katueshenock
-
Cleanup: typo in
rna_enum_asset_library_type_itemsname. - Bastien Montagne - Cleanup: CMake: Modernize bf_intern_clog dependencies - Ray Molenkamp
- Cleanup: CMake: Modernize bf_blenfont dependencies - Ray Molenkamp
- Cleanup: default initialize members of ParamHandle - Brecht Van Lommel
- Cleanup: CMake: Modernize bf_depsgraph dependencies - Ray Molenkamp
- Cleanup: CMake: Modernize bf_imbuf dependencies - Ray Molenkamp
- Cleanup: formatting - Iliya Katueshenock
- Cleanup: format - Campbell Barton
- Cleanup: add missing include - Campbell Barton
- Cleanup: spelling in comments, variables - Campbell Barton
- Cleanup: spelling in code - Campbell Barton
- Cleanup: various C++ updates from C - Campbell Barton
- Cleanup: declare functions with overrides in GHOST_ContextVK - Campbell Barton
- Cleanup: Use attribute propagation utility function in fillet curves - Hans Goudey
- Cleanup: silence warning inconsistent-missing-override - Habib Gahbiche
- Cleanup: remove line accidentally added in previous commit - Jacques Lucke
- Cleanup: Use optional for original indices in extrude node - Hans Goudey
- Cleanup: Make format - Hans Goudey
- Cleanup: Add missing return - Hans Goudey
- Cleanup: Remove redundant selection comparison from mesh tests - Hans Goudey
- Cleanup: USD: Fix unused declaration and argument - Charles Wardlaw
- Cleanup: Correct path used in example help text for bl_run_operators_event_simulate.py - dupoxy
- Cleanup: CMake: Modernize bf_intern_utfconv dependencies - Ray molenkamp
- Cleanup: CMake: Modernize bf_functions dependencies - Ray molenkamp
- Cleanup: remove redundant exception/report handling from FreeStyle - Campbell Barton
- Cleanup: spelling in comments - Campbell Barton
- Cleanup: simplify Python API use running scripts - Campbell Barton
- Cleanup: Add constructor/destructor for drag data to avoid includes - Julian Eisel
- Cleanup: Remove mesh "vert coords" functions - Hans Goudey
- Cleanup: Remove unnecessary mesh C-API functions - Hans Goudey
- Cleanup: Remove unused BLI voronoi code - Hans Goudey
- Cleanup: Remove unused voxel sampling functions - Hans Goudey
- Cleanup: Remove/replace SmallHash data structure - Hans Goudey
- Cleanup: Move four blenkernel headers to C++ - Hans Goudey
- Cleanup: Remove unnecessary keywords from newly C++ headers - Hans Goudey
- Cleanup: Store BVH and shrinkwrap data with C++ types - Hans Goudey
- Cleanup: Move mesh looptri real edges function - Hans Goudey
- Cleanup: Remove outdated normals comment for mesh validation - Hans Goudey
- Cleanup: make hash sizes static, remove references to smallhash - Campbell Barton
- Cleanup: format - Campbell Barton
- Cleanup: spelling in comments - Campbell Barton
- Cleanup: use default initializers for members of GWL_Seat - Campbell Barton
- Cleanup: avoid STR_ELEM expanding into multiple function calls - Campbell Barton
- Cleanup: replace MAX2 with std::max - Campbell Barton
- Cleanup: declare values for enums that may be written into blend files - Campbell Barton
- Cleanup: use single underscore prefixes - Campbell Barton
- Cleanup: remove unused code - Jacques Lucke
- Cleanup: Use proper type for subdiv CCG faces - Hans Goudey
- Cleanup: Remove unused curve positions variable - Hans Goudey
- Cleanup: Use C++ threading API in subdiv_ccg.cc - Hans Goudey
- Cleanup: Use references instead of pointers in subdiv_ccg.cc - Hans Goudey
- Cleanup: Use const SubdivCCGFace variables - Hans Goudey
- Cleanup: Use C++ arrays to store subdiv ccg data - Hans Goudey
- Cleanup: Grammar in a few comments - Hans Goudey
- Cleanup: pass const arguments to BKE_mesh_fair functions - Campbell Barton
- Cleanup: use 'r_' prefix for output arguments, order last - Campbell Barton
- Cleanup: suppress CLANG warnings, remove unused variables - Campbell Barton
- Cleanup: use style for doxygen comment blocks - Campbell Barton
- Cleanup: quiet CLANG conversion warnings - Campbell Barton
- Cleanup: remove warning suppression which is no longer needed - Campbell Barton
- Cleanup: move writeffmpeg to C++ - Aras Pranckevicius
- Cleanup: various non-functional changes for C++ - Campbell Barton
- Cleanup: declare pointers const where possible - Campbell Barton
- Cleanup: compiler warning in release build - Brecht Van Lommel
- Cleanup: Make format - Harley Acheson
- Cleanup: Pass all nodes to paint hiding functions - Hans Goudey
- Cleanup: Avoid using keyword in sculpt header - Hans Goudey
- Cleanup: Move enum definition out of header - Hans Goudey
- Cleanup: Move paint hide file to namespace - Hans Goudey
- Cleanup: Use enum class int paint hide operator - Hans Goudey
- Cleanup: use const variables and arguments - Hans Goudey
- Cleanup: Remove redundant subdiv pointers from PBVH - Hans Goudey
- Cleanup: Small tweaks to C++ style in lib remap code - Hans Goudey
- Cleanup: naming for GPUSelectResult - Campbell Barton
- Cleanup: assign values for enums that may be stored in blend files - Campbell Barton
- Cleanup: pass const vectors BKE_lnor_space_define - Campbell Barton
- Cleanup: Rename GPU_select header to indicate its move to C++ - Jesse Yurkovich
- Cleanup: PBVH: Process multiple nodes at once in visibility update - Hans Goudey
- Cleanup: Reduce usage of mesh data pointers in PBVH - Hans Goudey
- Cleanup: Move PBVH draw args function to where it's used - Hans Goudey
- Cleanup: use references, const arguments for PBVH draw args function - Hans Goudey
- Cleanup: Move draw_pbvh.h to C++ - Hans Goudey
- Cleanup: Move draw_pbvh to a C++ namespace - Hans Goudey
- Cleanup: Use object arguments in many drawing related functions - Hans Goudey
- Cleanup: Remove unused argument to PBVH draw functions - Hans Goudey
- Cleanup: Pass PBVH draw attribute requests as span - Hans Goudey
- Cleanup: return managed pointer when copying geometry component - Jacques Lucke
- Cleanup: Solve missing declaration warning for grease pencil operator - Hans Goudey
- Cleanup: Rename Glossy To Metallic - Jeroen Bakker
- Cleanup: MTL: Framebuffer: Make code less verbose - Clément Foucault
- Cleanup: Remove unused threading C-API functions - Hans Goudey
- Cleanup: make name more specific for simulations - Jacques Lucke
- Cleanup: Use const arguments for some paint functions - Hans Goudey
- Cleanup: Move constant variable declarations outside of loop - Hans Goudey
- Cleanup: Make format - Harley Acheson
- Cleanup: Pass PBVH node grid indices as Span - Hans Goudey
- Cleanup: format - Campbell Barton
- Cleanup: Make format - Harley Acheson
- Cleanup: to_bools comment - Pratik Borhade
- Cleanup: minor simplification to internal Wayland cursor API - Campbell Barton
- Cleanup: match logic & naming between bmesh & mesh crazyspace functions - Campbell Barton
- Cleanup: use more descriptive function names - Jacques Lucke
- Cleanup: Remove unused arguments to sculpt update function - Hans Goudey
- Cleanup: Move paint_mask functions to proper namespace - Hans Goudey
- Cleanup: Use const arguments to PBVH functions - Hans Goudey
- Cleanup: Return multires grid key by value - Hans Goudey
- Cleanup: Store SubdivCCG in unique_ptr - Hans Goudey
- Cleanup: Remove unused DMFlagMat struct - Hans Goudey
- Cleanup: Return PBVH vertex data arrays as spans - Hans Goudey
Collection
-
Collection: Revert moving
owner_idto runtime data. - Bastien Montagne
Color management
- Color management: multi-thread IMB_colormanagement_transform_from_byte_threaded simple case - Aras Pranckevicius
Compositor
- Compositor: UI: better node visibility for default node tree - Habib Gahbiche
- Compositor: Make split viewer a regular split node - Habib Gahbiche
- Compositor: Disable preview of Split node by default - Omar Emara
Core
- Core: Allow Optional Use of Harfbuzz and FriBiDi - Harley Acheson
- Core: Add ObjectRuntime::last_update transform, geometry and shading - Miguel Pozo
Cycles
- Cycles: clearer message when denoising in build without OpenImageDenoise - Brecht Van Lommel
- Cycles: Added quality parameter for OIDN - Stefan Werner
EEVEE Next
- EEVEE Next: Ensure HiZ buffer update flag is cleared - Jason Fielder
- EEVEE-Next: Add horizon scan to raytracing module - Clément Foucault
- EEVEE-Next: Displacement Option - Clément Foucault
- EEVEE-Next: Naming & UI tweaks Light Probes - Jeroen Bakker
- EEVEE-Next: Cleanup Lookdev as its shaders are never deferred compiled - Jeroen Bakker
- EEVEE-Next: Display render pass panel in viewport - Clément Foucault
- EEVEE-Next: Add back transparent render pass - Clément Foucault
- EEVEE-Next: Disable distant light if world contains absorption - Clément Foucault
- EEVEE-Next: Fix ObjectHandle::recalc - Miguel Pozo
- EEVEE-Next: Optimize GBuffer Layout and writting - Clément Foucault
Externals
- Externals: update fmtlib to latest version (10.1.1) - Aras Pranckevicius
Fix
- Fix: memory leak when inserting keys - Christoph Lendenfeld
- Fix: Vulkan Multi Indirect Drawing - Jeroen Bakker
- Fix: Duplicate node tools menus in sculpt mode - Hans Goudey
- Fix: Missing space in property description - Hans Goudey
- Fix: USD Export: Calculate extents property for lights - Charles Wardlaw
- Fix: crash when using attribute search in Named Attribute node - Iliya Katueshenock
- Fix: GPv3: Stutter while drawing - Falk David
- Fix: Geometry Nodes: wrong field inferencing in Shortest Edge Paths node - Iliya Katueshenock
- Fix: BLI: Math: Build error for bad overload-lookup - Iliya Katueshenock
- Fix: Crash with crazyspace mesh sculpting - Hans Goudey
- Fix: Error in previous commit - Hans Goudey
- Fix: bevel weights in Simple mode of Solidify - laurynas
- Fix: Avoid unnecessary conversions in rotation socket versioning - Hans Goudey
- Fix: crash when getting node tree logger - Jacques Lucke
- Fix: EEVEE-Next: MaterialKey - Miguel Pozo
- Fix: EEVEE-Next: Ambient Occlusion pass broken - Clément Foucault
- Fix: EEVEE-Next: blending of dithered material - Clément Foucault
- Fix: Increase thread stack size for musl libc - Leon Marz
- Fix: GPv3: Missing curve type counts update in hard erasor - Hans Goudey
- Fix: EEVEE-Next: Motion Vectors for non float4 position buffers - Miguel Pozo
- Fix: EEVEE-Next: Add transparency blending back - Miguel Pozo
- Fix: Failing bf_io_wavefront_obj_tests test - Harley Acheson
- Fix: EEVEE-Next: Metal shader compilation error - Clément Foucault
- Fix: Compiler warning about unused variable - Pratik Borhade
- Fix: Inserting keys no longer sets the FCurve channel color - Christoph Lendenfeld
- Fix: Segfault when inserting keyframes - Christoph Lendenfeld
- Fix: remove leading space in window title - RedMser
- Fix: EEVEE Compiler Issue Emission Shader - Jeroen Bakker
- Fix: Various Small GLSL Material Tweaks - Jeroen Bakker
- Fix: GPv3: Uninitialized runtime variable - Falk David
-
Fix: GPv3: Wrong location in
paint_init_pivot- Falk David - Fix: assert when randomizing mesh with zero faces - Jacques Lucke
- Fix: FCurve colors on bones - Christoph Lendenfeld
- Fix: missed some version bump code - Nathan Vegdahl
- Fix: EEVEE-Next: Object::visibility_flag in material_sync - Miguel Pozo
- Fix: Debug and lite build errors after recent cleanup - Hans Goudey
- Fix: Incorrect subdiv IndexMask construction - Hans Goudey
- Fix: allow overshoot numerical input in the Pose Breakdowner operator - Nathan Vegdahl
- Fix: GPv3: Smoothing even with factor of 0 - Falk David
- Fix: EEVEE-Next: Alpha hashed transparency doesn't converge - Miguel Pozo
- Fix: Missing compositor update upon changing tree options - Omar Emara
- Fix: script_validate_keymap test failed - Christoph Lendenfeld
- Fix: Sculpt drawing ignores hide status - Hans Goudey
- Fix: Crash building sculpt PBVH - Hans Goudey
- Fix: Depsgraph: Avoid duplicated operation nodes on geometry data - Miguel Pozo
- Fix: Compiling EEVEE Test cases - Jeroen Bakker
- Fix: EEVEE-Next: Crash when baking multiple volume probes - Miguel Pozo
- Fix: Dangling pointer in Split Viewer versioning - Omar Emara
- Fix: Missing versioning for generic sculpt mask conversion - Hans Goudey
- Fix: Various issues with multires visibility undo - Hans Goudey
- Fix "make doc_man" not working, after changes in 61d99d45 - Brecht Van Lommel
- Fix "make doc_man" not working, after recent changes - Campbell Barton
- Fix #112767: Outliner unlink operation fails to unlink from scene - Pratik Borhade
- Fix #113059: file selector shrinks on each display under KDE - Campbell Barton
- Fix #113059: file selector shrinks on each display under KDE - Campbell Barton
- Fix #114151: Workbench: Assert with volume and thumbnail rendering - Clément Foucault
- Fix #114291: EEVEE-Next: Deferred tranparency blending - Miguel Pozo
- Fix #114302: EEVEE Next: Curves material compilation errors - Miguel Pozo
- Fix #114482: EEVEE-Next: Wrong Texture Coordinates - Miguel Pozo
- Fix #114557: UI scrollbar "focus bubble" interaction wrong in cases - Philipp Oeser
- Fix #114596: snap to face nearest failing with transformed objects - Germano Cavalcante
- Fix #114609: compose key sequences includes continuation keys on Wayland - Campbell Barton
- Fix #114651: EEVEE-Next: SSS NaNs - Miguel Pozo
- Fix #114860: Edge bevel weights in complex solidify - laurynas
- Fix #114861: Add NLA region padding if markers are present. - Nate Rupsis
- Fix #114982: Crash when rendering scene strips - Richard Antalik
- Fix #115007: Crash when creating transition from last reiming key - Richard Antalik
- Fix #115037: Crash deleting tool node group from outliner - Philipp Oeser
- Fix #115043: Compositor crashes for huge render sizes - Omar Emara
- Fix #115056: man page generation fails with Python error - HurricanePootis
- Fix #115056: man-page fails to build with non-portable install - Campbell Barton
- Fix #115108: Object dimensions infinite for armatures - Hans Goudey
- Fix #115140: Crash undoing painting on linked image from 3DView - Philipp Oeser
- Fix #115144: isect_data_setup compiler error - Miguel Pozo
- Fix #115151: ID property's id_type enum is missing the SCREEN type. - Bastien Montagne
-
Fix #115151, step one: Fallback to
ID_OBin case of defined unknown ID type. - Bastien Montagne - Fix #115153: Snap Base in Camera View crashes Blender - Germano Cavalcante
- Fix #115160: Keyboard layout sometimes ignored on Wayland - Campbell Barton
- Fix #115167: crash opening files with missing fonts on disk - Philipp Oeser
- Fix #115171: Transfer Mode operator tries and fails on linked objects - Pratik Borhade
- Fix #115181: RMB Select sometimes to enter pose mode when selected - Campbell Barton
- Fix #115202: Set Selection node crash in object mode - Hans Goudey
- Fix #115206: Sheen renders incorrectly when viewed head on - Alaska
- Fix #115207: dynamically typed Viewer node - Iliya Katueshenock
- Fix #115275: Allow Wrapping of Single Column Enum Menus - Harley Acheson
- Fix #115276: Vertex group canvas picker errors with no active group - Philipp Oeser
- Fix #115277: cannot create group interface for custom sockets - Jacques Lucke
- Fix #115279: FModifier.type enum 'NULL' item was renamed to 'nullptr' - Germano Cavalcante
- Fix #115291: Object dimension setting ignores modifiers - Hans Goudey
- Fix #115298: Sculpt mask removed with undo involving mode change - Hans Goudey
- Fix #115363: Scrollbars for template_lists in popups update issue - Philipp Oeser
- Fix #115366: Missing task isolation subdividing loose edges - Hans Goudey
- Fix #115368: Auto smooth node is added every time if the file has linked object - Pratik Borhade
- Fix #115393: Set Snap Base not working - Germano Cavalcante
- Fix #115424: Cycles object space normal map wrong with backfaces - Brecht Van Lommel
- Fix #115431: Crash on right click on string button inside menu - Julian Eisel
- Fix #115434: custom bone colors invisible in stick mode - Nathan Vegdahl
- Fix #115444: Revert "Refactor: Text Editor Formatted Output" - Harley Acheson
- Fix #115451: hard to resize collapsed nodes - Jacques Lucke
- Fix #115471: Crash opening files with particle boid goal objects - Philipp Oeser
- Fix #115521: Voxel remesh resets smooth with attribute propagation off - Hans Goudey
- Fix #115526: missing normals on first chunk of array modifier - Philipp Oeser
- Fix #115548: Missed sort after multithreaded algorithm - Iliya Katueshenock
- Fix #115570: Crash when using snap to volume and clipping region - Germano Cavalcante
- Fix #115572: shape_key_remove operator leaves shared normals - Philipp Oeser
- Fix #115601: Clamp Color Picker Vertical Value Slider Position - Harley Acheson
- Fix #115704: Crash when using transfer mode on empty space - Pratik Borhade
- Fix #44834: Add bone selection icon next to face and vertex selection in weight paint mode - Daiki Hashimoto
- Fix #95045: UI: keymap header in preferences truncated when filtering - Damien Picard
- Fix #95709: Improve pulldown menu corner rounding - Leon Schittek
- Fix (Unreported) VSE crash when editing retiming - Richard Antalik
- Fix (unreported): VSE offset drawing not working - Richard Antalik
- Fix (unreported) Scene Collection runtime data not cleared on write. - Bastien Montagne
- Fix Cycles rare assert in ensure_valid_specular_reflection - Brecht Van Lommel
- Fix EEVEE: Compilation on Metal - Clément Foucault
- Fix build error in freestyle when not using precompiled headers - Brecht Van Lommel
- Fix build error on architectures without SSE or sse2neon - Leon Marz
- Fix error in recent GHOST/Wayland thread priority function - Campbell Barton
- Fix error updating the tablets cursor scale on Wayland - Campbell Barton
- Fix missing NULL check from fix for #113059 on Wayland/LIBDECOR - Campbell Barton
- Fix missing null check from !115247 & simplify - Campbell Barton
- Fix mistake in previous commit - Richard Antalik
- Fix shadowing error causing a value to be assigned to it's self - Campbell Barton
- Fix typo in UI message. - Bastien Montagne
- Fix uninitialized use_scene_unit for STL export - Campbell Barton
Fullframe compositor
GHOST/Wayland
- GHOST: remove X11 include when WITH_GHOST_X11=11 - Campbell Barton
- GHOST/Wayland: improve tablet event handling - Campbell Barton
- GHOST/Wayland: use time-stamps from Wayland input - Campbell Barton
- GHOST/Wayland: animated cursor support - Campbell Barton
- GHOST/Wayland: use minimum priority for helper threads - Campbell Barton
GPU
- GPU: Sanitize closure nodes inputs - Miguel Pozo
- GPU: Assert no UINT push constants are used - Miguel Pozo
- GPU: cleanup texture view usage flags - Jason Fielder
- GPU: Resolve compilation error in Metal caused by type ambiguity - Jason Fielder
- GPUMaterial: Add volume shader flags - Clément Foucault
Grease Pencil 3
- GPv3: Material locking - Falk David
- GPv3: Replace depsgraph tag to ID_RECALC_GEOMETRY - Antonio Vazquez
- GPv3: Avoid unnecessarily creating cyclic attribute in hard erasor - Hans Goudey
- GPv3: Lock Unused Materials operator - Antonio Vazquez
- GPv3: Lock and Unlock all materials operators - Antonio Vazquez
- GPv3: Hide Others operator - Antonio Vazquez
- GPv3: Lock unselect materials operator - Antonio Vazquez
- GPv3: Fix #113994: Overlay: Hide points for locked layers. - casey bianco-davis
- GPv3: "Set Active Layer" operator and menu - Clément Busschaert
- GPv3: Duplicate Points operator - casey bianco-davis
- GPv3: Show and hide layers operators - Matias Mendiola
-
GPv3: Menu to Select Material using
Ukey - Antonio Vazquez - GPv3: Fix compiler warning and format - Antonio Vazquez
Geometry Nodes
- Geometry Nodes: Node tools: Support warnings - Hans Goudey
- Geometry Nodes: Edges to Face Groups speedup - Iliya Katueshenock
- Geometry Nodes: Parallel Edges to Face Groups - Iliya Katueshenock
- Geometry Nodes: Use rotation socket for the object info node - Hans Goudey
- Geometry Nodes: Index switch node - Hans Goudey
- Geometry Nodes: set soft min/max in Index Switch node - Jacques Lucke
- Geometry Nodes: add two inputs in Index Switch by default - Jacques Lucke
- Geometry Nodes: muting zone input and output nodes is not allowed - Jacques Lucke
- Geometry Nodes: Rewrite parts of extrude mesh node - Hans Goudey
- Geometry Nodes: Remove drag & drop requirement of geometry input - Hans Goudey
- Geometry Nodes: extract global data passed to a geometry nodes invocation to separate struct - Jacques Lucke
- Geometry Nodes: Remove experimental volume nodes - Lukas Tönne
- Geometry Nodes: make function for mixing baked data more reusable - Jacques Lucke
Hydra
- Hydra: Parallelize and simplify submesh export - Hans Goudey
I18n
- I18N: Updated UI translations from git/weblate (7dc048f65e2a). - Bastien Montagne
- I18N: UI Translatiion: Add Belarusian language entries. - Bastien Montagne
- I18N: Updated UI translations from git/weblate (55af06d62a579dcae). - Bastien Montagne
- I18n: translate new text object body - Damien Picard
Liboverride
- Liboverride: Refactor 'refresh' tagging and handling. - Bastien Montagne
License headers
- License headers: add SPDX copyright entries - Campbell Barton
Mesh
- Mesh: Move sculpt mask to a generic attribute - Hans Goudey
- Mesh: Copy small caches when moving mesh data to Main database - Hans Goudey
- Mesh: Parallelize remaining topology maps - Hans Goudey
- Mesh: Improve remesh attribute transfer - Hans Goudey
- Mesh: add index-independent test for mesh equality - Wannes Malfait
Metal
- Metal: Ensure increased FB attachment count supported - Jason Fielder
Nodes
- Nodes: support storing caller tree and node in node group compute context - Jacques Lucke
- Nodes: improve socket picking tolerances - Jacques Lucke
OpenGL
- OpenGL: Raise Minimum SSBO Bindings to 12. - Jeroen Bakker
- OpenGL: Mark Legacy Intel Drivers Unsupported - Jeroen Bakker
Overlay
- Overlay: Wireframe: avoid using custom depth bias with xray enabled - Xavier Hallade
PBVH
- PBVH: Refactor hide and mask update to be data oriented and reusable - Hans Goudey
- PBVH: Specialize node bounds update, expose functions - Hans Goudey
PyAPI
- PyAPI: call 'sys.excepthook' for text editor exceptions - Campbell Barton
- PyAPI: use binary file access running scripts on non-WIN32 platforms - Campbell Barton
- PyAPI: raise an error when executing a directory on non-Windows systems - Campbell Barton
- PyAPI: remove use of stub script to execute files on WIN32 - Campbell Barton
RNA
- RNA: Expose ID type identifier in ID structs, add coherence test. - Bastien Montagne
Realtime Compositor
- Realtime Compositor: Rewrite inpaint node - Omar Emara
- Realtime Compositor: Implement zero cost external images - Omar Emara
- Realtime Compositor: Add utilities to handle texture formats - Omar Emara
Refactor
- Refactor: Rename eAutokey_Flag enum - Christoph Lendenfeld
- Refactor: Text Editor Formatted Output - Harley Acheson
- Refactor: Move insert_key_rna from editors to animrig - Christoph Lendenfeld
- Refactor: improve (still unused) UV unwrap simplify code - Brecht Van Lommel
- Refactor: GEO: Mesh selection header file - Iliya Katueshenock
- Refactor: Further improvements to geometry bounds - Hans Goudey
- Refactor: reduce complexity of object mode selection, minor optimization - Campbell Barton
- Refactor: Sculpt: Clarify PBVH attribute requests - Hans Goudey
Revert...
- Revert "CMake: Give kernel compilation targets access to console" - Sergey Sharybin
- Revert "Cycles: Added quality parameter for OIDN" - Werner, Stefan
- Revert "Fix: Cycles: inconsistent normal checks when sampling and evaluating BSDF" - Brecht Van Lommel
- Revert "Fix #113059: file selector shrinks on each display under KDE" - Campbell Barton
- Revert preset changes in c6db3f98bb - Germano Cavalcante
Sculpt
- Sculpt: Improve "Hide/Show" operator performance for mesh - Hans Goudey
- Sculpt: Remove redundant "reveal all" operator - Hans Goudey
- Sculpt: Multithread mesh "show all" operation - Hans Goudey
- Sculpt: Specialize mask fill/invert operator per PBVH type - Hans Goudey
Selection
- Selection: Remove limit on number of items which can be selected at once - Jesse Yurkovich
Subdiv
- Subdiv: Store multires sculpt grid visibility in BitGroupVector - Hans Goudey
- Subdiv: Use base mesh faces and topology map for SubdivCCG - Hans Goudey
- Subdiv: Inline grid to face map lookup function - Hans Goudey
- Subdiv: Remove unnecessary CCG derived flag structs - Hans Goudey
Suppress warnings by removing unused properties from keymaps
- Suppress warnings by removing unused properties from keymaps - Germano Cavalcante
Text Editor
- Text Editor: Use active text selection as search query - Guillermo Venegas
UI
- UI: Improve menu dropshadow - Leon Schittek
- UI: Improve description of custom asset library type - Julian Eisel
- UI: enable immediate typing for 'Select Pattern" operator - Philipp Oeser
- UI: Icons for Area Join and Swap - Harley Acheson
USD
- USD: Improved texture coordinate translation (UsdTransform2d) - Charles Wardlaw
Unbreak build with Vulkan+Wayland+X11
- Unbreak build with Vulkan+Wayland+X11 - Campbell Barton
Unbreak building with Vulkan & WITH_GHOST_X11=OFF
- Unbreak building with Vulkan & WITH_GHOST_X11=OFF - Campbell Barton
VSE
- VSE: Use Strip Volume property for scenes - 20kdc
- VSE: speedup timeline drawing, and improve waveform display - Aras Pranckevicius
- VSE: speedup Luma Waveform display output mode - Aras Pranckevicius
- VSE: speedup "show overexposed" option - Aras Pranckevicius
Vulkan
- Vulkan: Enable Tests Not Relying on a Context - Jeroen Bakker
- Vulkan: Pipeline Cache - Jeroen Bakker
- Vulkan: Store Vertex, Index and Storage Buffers on Device Memory - Jeroen Bakker
- Vulkan: Timeline Semaphores - Jeroen Bakker
install_linux_packages
-
install_linux_packages: update for 4.1 libraries, and some fixes. - Bastien Montagne -
install_linux_packages: Add libdeflate library. - Bastien Montagne
Miscellaneous
- Initial exposure of compute dispatch and image store in Python API - Jure Triglav
- shader_builder: Fix startup error on windows - Ray Molenkamp
- Linux: add StartupWMClass to avoid duplicate dock items on some systems - Brecht Van Lommel
- Make ImplicitSharingPtr constructor from data pointer explicit - Lukas Tönne
- Multires: Use IndexMask for Subdiv CCG face updates - Hans Goudey
- NLA: Console warnings about missing channel_index property - Pratik Borhade
- OBJ: add import option to create collection hierarchy by splitting names with a separator - Aras Pranckevicius
11 Comments
Greetings,
I have a request to make the dropdown list bigger [like actions, materials, nla clips]. Or show it fully like the search menu. The current size is too small. Its better if the user have the same type of action and need to add a little detail at the end of the name. No need to hover each time.
Also, is there any way to reorder 'Quick Favourites' or least a way to access the list using python.
Thank you & the Blender Team for your hardwork. Have a nice day.
hi Agx just got added, so can we expect ACES in blender natively anytime soon pretty please?
I know we can install it ourselves but it's complicated at least for me (╥﹏╥) i just want clicky click switching bim bam and done! 🙏
Thats nice, thanks for the stream!
Hi Pablo! How you doing?
I was wondering what the reason for the new rotation nodes that were introduced. So now nodes like instance on points have a rotation socket. Is it because they are quaternions and that will have some benefit? Would love to know!
Good evening,
i´d have two question about geometry nodes. Will there ever be something like a programming language to create custom geometry nodes? In Houdini for example, it´s used for very custom stuff and would definitly support to create very individual or very complicated and profesional nodes. Maybe even editing existing modifiers? And besides that, i wonder what erindale would do with that🤔.
The next question would be, if it was possible to have a one week internship at the blender studio? Have a great day,
Blend Creator
Hello Dalai, excellent stream , you were understandably like a deer in the headlights for the first two minutes, but after that solid gold. Great to have the views of someone with in-depth technical knowledge.
I have a question regarding VR. Does the python API provide sufficient functions and properties to draw and map operators to VR controllers, or would it need to be done via C++ in the Blender source?
I used to like the controls and UX of the oculus medium sculpting application, and was considering building an addon to give Blender a similar VR sculpting experience.
The problem you will run into is that you need to map a 3D input to the sculpting (which takes a 2D mouse position at the moment). It is not something you can do with an add-on alone I believe.
Check Daniel Lara's talk on Blender conference about his work on grease pencil VR. He highlights some of the difficulties there and shares his progress.
Thanks 👍
Oi, Dalai!~
customization is massive!... and it's a bit of an issue. We need a "basic customization" menu, to go with the super granular one. a number of things in blender are the same color by default. they should be grouped in a simplified theme editor by default.
other than that, we still need nodes with vector curves in their ui to use correct math for geo nodes (and material) accuracy projects.blender.org/blender/blender/issues/113455 ... I'm not sure who might handle that, but if you know, feel free to bug them about it! it seems small, but accuracy is key for math-based workflows!
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 next to the other transform settings, no?
Image from devtalk: devtalk.blender.org/uploads/default/original/3X/4/d/4db78b239437ddbe525e332a84cb08965d60c3d8.png
There's also stuff like "Workspace" settings in the active tools tab, which makes no sense either... Another image from devtalk: devtalk.blender.org/uploads/default/original/3X/a/f/af8f3822a0b15c464a3d663577cc46082e3682c6.png
Hey Dalai, hope you are doing well.
Why importing the openVDB is under 'add>volume>import openVDB' and not under 'File>Import>OpenVDB'? What's the logic/technical reason behind it, considering it's just a format to store volume data like Alembic, USD, and FBX are for geo? IMO it makes no sense to have the import openVDB be under the ADD menu/Shift + A because in that menu everything that can be created is part of Blender where the openVDB files are external files being imported.
And this is also one of my small pet peeves with Blender UX, it's something you do get used to after some time in Blender but for new users, it's an illogical solution. That's the placement for the camera lock button in Blender. IMO, instead of it being hidden somewhere in the N-panel I think it should be visible somewhere on the UI when you are looking through the camera. There could be other controls that can be added alongside the camera lock button as well for adjusting the Focal length, DOF picker which is already in the right-click menu. Also adding something like a camera target by default (giving an option to turn it off in the camera settings as well) instead of workarounds like manually adding an empty and then adding a track to constraint would improve the UX so much in Blender.
Same thing with the compositor UI, having nodes on top of the render is pretty odd and most people just rearrange the panels even tho the node-specific gizmos don't work with the image viewer. A new UI for the compositor would also be nice.