Blender Today LIVE #222
Changelog
Total: 168 commits, of which 60 are fixes and 43 cleanup.
Categories: Assets, BLI, Cleanup, CustomData, Cycles, DRW, EEVEE Next, EEVEE-Next, File Browser, Fix, GPU, Geometry Nodes, I18n, IO, Image, Measure Tool, Mesh, Metal, Nodes, PLY, Python, Python API, Refactor, Subdivision, UI, UV, VSE, Vulkan, make.bat.
Assets
BLI
- BLI: Math: Fix function description - Clément Foucault
- BLI: support recursive usage of Vector - Jacques Lucke
Cleanup
- Cleanup: rename function - Weizhen Huang
- Cleanup: Refactor UI tree & grid view building API - Julian Eisel
- Cleanup: format, spelling, struct member comment - Campbell Barton
- Cleanup: Use spans for mesh data in texture margin code - Hans Goudey
- Cleanup: Use more specific variable names for color attributes - Hans Goudey
- Cleanup: Use better check for UV map attribute - Hans Goudey
- Cleanup: Use C++ attribute API - Hans Goudey
- Cleanup: remove unused variable - Jacques Lucke
- Cleanup: Simplify mesh to legacy curve logic - bonj
-
Cleanup: use array instead of vector for
LightTreeBucketwith fixed size - Weizhen Huang - Cleanup: added a bunch of const qualifiers in Light Tree - Weizhen Huang
- Cleanup: use BKE_blendfile_* for functions defined in BKE_blendfile.h - Campbell Barton
- Cleanup: use function-style casts, ELEM & STREQ macros - Campbell Barton
- Cleanup: remove redundant casts - Campbell Barton
- Cleanup: spelling in comments - Campbell Barton
- Cleanup: Make format - Harley Acheson
- Cleanup: Improve comment on library path utility function - Julian Eisel
- Cleanup: Move blend file path utilities out of blenloader module - Julian Eisel
- Cleanup: Silence Unused parameter warnings. - Jeroen Bakker
- Cleanup: Spelling in previous commit. - Jeroen Bakker
- Cleanup: Avoid keeping mesh normals references after dirty tag - Hans Goudey
- Cleanup: remove GCC warning pragma - Campbell Barton
- Cleanup: use static declaration, quiet undeclared warning - Campbell Barton
- Cleanup: Remove unused pbvh function declarations - Hans Goudey
- Cleanup: format - Chris Blackbourn
- Cleanup: Wrap C++ normal accessors with C functions - Hans Goudey
- Cleanup: Store cached mesh normals with Vector - Hans Goudey
- Cleanup: Tweak mesh normal accessors documentation - Hans Goudey
- Cleanup: Remove redundant mesh normals dirty tag function - Hans Goudey
- Cleanup: Use spans and C++ type to access mesh normals - Hans Goudey
- Cleanup: Remove mesh validation of cached normals - Hans Goudey
- Cleanup: Basic C++ style for file_draw.cc - Julian Eisel
- Cleanup: Remove unused headers in file_draw.cc - Julian Eisel
- Cleanup: Move file_draw.c to C++ - Julian Eisel
- Cleanup: format - Chris Blackbourn
- Cleanup: Use C++ array type in skin modifier - Hans Goudey
- Cleanup: Remove two redundant color attribute functions - Hans Goudey
- Cleanup: format, add missing CMake header - Campbell Barton
- Cleanup: doxygen comments - Campbell Barton
- Cleanup: spelling in comments - Campbell Barton
- Cleanup: use macro for 'SCE_SNAP_MODE_GEOM' - Germano Cavalcante
- Cleanup: Small changes in Mesh BMesh conversion - Hans Goudey
- Cleanup: Remove gpu prefix in gpu test cases. - Jeroen Bakker
CustomData
Cycles
- Cycles: only apply function #ensure_valid_reflection to glossy materials - Weizhen Huang
- Cycles: adjust resolution divider to achieve a more usable viewport - Alaska
- Cycles: use 8-bit type for number of ray hits when possible - Nikita Sirgienko
- Cycles: Use ray->tfar in Embree filter functions - Nikita Sirgienko
- Cycles: Use IntegratorShadowState directly in Embree filter functions - Nikita Sirgienko
- Cycles: Use geometryUserPtr from Embree filter functions arguments - Nikita Sirgienko
- Cycles: Fix Metal API validation error (use uint instead of ushort) - Michael Jones
DRW
- DRW: View: Allow the possibility to disable the visibility test - Clément Foucault
EEVEE Next
- EEVEE Next: IrradianceCache surfels debug display - Miguel Pozo
EEVEE-Next
- EEVEE-Next: Spherical Harmonics Library - Clément Foucault
- EEVEE-Next: Deferred Pipeline - Clément Foucault
File Browser
- File Browser: Make full file name label draggable - Julian Eisel
Fix
- Fix: Invalid custom data read during legacy mesh format conversion - Hans Goudey
- Fix: Various issues with attribute removal - Hans Goudey
- Fix: Broken mesh to curve conversion - bonj
- Fix: FCurve Bounds - return when can't be found - Christoph Lendenfeld
- Fix: Uncached Metal Materials not Being Released - Jason Fielder
- Fix: Metal validation error when shader has no uniforms - Jason Fielder
- Fix: Correct several messages in the UI - Damien Picard
- Fix: Dyntopo attribute data warning doesn't work - Hans Goudey
- Fix: Crash in weighted normal modifier - Hans Goudey
- Fix: Edit mesh face corner color operators always use first layer - Hans Goudey
- Fix: Uninitialized boolean arrays in mesh conversion - Hans Goudey
- Fix: Failing assert for meshes with no faces - Hans Goudey
- Fix: failing test in debug build due to wrong span size - Jacques Lucke
- Fix: Failing test case due to resource lifetime. - Jeroen Bakker
- Fix #100659: "Add F-Curve Modifier" applies only to Active F-Curve - Sybren A. Stüvel
- Fix #103021: Metaballs have jagged normals - Hans Goudey
- Fix #103263: Touchpad gestures changing pivot point of rotation/zooming - Campbell Barton
- Fix #103605: Metal barycentric coordinate compilation failure - Jason Fielder
- Fix #104012: Selection crash with AMD on Metal - Jason Fielder
- Fix #104124: Grease Pencil fills cover the lines below when drawing - Clément Foucault
- Fix #104305: Crash in node editor with large asset libraries - Julian Eisel
- Fix #104730: Suppress using anonymous UV layers for rendering - Martijn Versteegh
- Fix #105052: crash with sculpt automasking topology and mesh filter tool - Brecht Van Lommel
- Fix #105146: Gpencil select does not work with Layer transforms - Antonio Vazquez
- Fix #105152: Removing color attribute doesn't update active - Jorijn de Graaf
- Fix #105180: "All" asset library includes subfolders of current file - Julian Eisel
- Fix #105216: Clear Asset does not immediately redraw the outliner - Philipp Oeser
- Fix #105224: Node editor NDOF pan changes RGB colors - Campbell Barton
- Fix #105323: Compositor: Crash when using color-ramp with b-spline - Clément Foucault
- Fix #105327: USD import fails to recognize UV map varname - Michael B Johnson
- Fix #105363: Frame nodes can act wrong in transform system - Philipp Oeser
- Fix #105397: Support cycling through sockets after a geometry output is linked. - Lukas Tönne
- Fix #105442: Cycles CUDA and HIP host memory fallback not working - Brecht Van Lommel
- Fix #105455: GPU subdivision with textures corrupts display after undo - Brecht Van Lommel
- Fix #105577: Python MeshPolygon API allows negative material indices - Hans Goudey
- Fix #105589: GPencil Paste duplicate active frame - Antonio Vazquez
- Fix #105606: Metal texture upload regression - Jason Fielder
- Fix #105625: GPencil sculpt crash with subdivide modifier - Antonio Vazquez
- Fix #105640: LineArt: Default value for LRT_GPENCIL_MATCH_OUTPUT_VGROUP flag. - YimingWu
- Fix #105661: (Regression) Materials can use fewer images than before - Miguel Pozo
- Fix #105661: (Regression) Materials can use fewer images than before - Miguel Pozo
- Fix #105664: measure tool ignoring snap on first click - Germano Cavalcante
- Fix #105678: Crash assigning Image.pixels to an undersized sequence - Campbell Barton
- Fix #105681: Sculpt trim generates smooth shaded faces - Hans Goudey
- Fix #105688: Ignore modifier part of viewer path in pinned trees. - Lukas Tönne
- Fix #105711: Regression: Clone Tool in Image Editor not showing Stencil - Clément Foucault
- Fix #105715: Freeing the edit-mesh causes future access to fail - Campbell Barton
- Fix #105720: crash when adding viewer node - Jacques Lucke
- Fix #105721: Fix crash accessing driver variables & targets - Campbell Barton
- Fix #105726: Driver Editing Popover Menu Closing - Harley Acheson
- Fix #105757: Resizing images is not marking them as changed - Philipp Oeser
- Fix #105775: Make "Add > Fur" node setup stable with deformation - Hans Goudey
- Fix #105778: Prevent invalid links with link swap - Leon Schittek
- Fix #105791: Alembic procedural ignores materials - Hans Goudey
- Fix #105803: Cycles slow light tree build when previewing shader nodes - Brecht Van Lommel
- Fix #105818: material preview invalid memory access reported by ASAN - Brecht Van Lommel
- Fix #105823: Crash While deleting retiming handles - Richard Antalik
- Fix #105849: crash when using link-swap with an existing link - Jacques Lucke
- Fix #105885: toolbar items overlapping, after recent refactor - Brecht Van Lommel
- Fix #89630: Hide backfaces when using using the "Alpha Blend" blend method - Jesse Yurkovich
- Fix #90389: No labels in scrubbing area with small FPS - Richard Antalik
- Fix 'use_occlusion_test' option not having effect on wireframe - Germano Cavalcante
- Fix 105271: Luminance Matte not Working on NVIDIA. - Jeroen Bakker
- Fix 105824: Retiming remove gizmo size is fixed - Richard Antalik
- Fix Cycles growing BoundBox with empty BoundBox modifies the original BoundBox - Weizhen Huang
- Fix Cycles missing light from multiple distant lights with different visibility - Brecht Van Lommel
- Fix build error after previous merge - Julian Eisel
- Fix compiler warning - Falk David
- Fix crash in viewport with negative material indices - Brecht Van Lommel
- Fix error building on Linux - Campbell Barton
- Fix invalid enum passed to BKE_id_attribute_search - Campbell Barton
- Fix issues with retiming API - Richard Antalik
- Fix make_update running on a freshly cloned Blender fork - Sergey Sharybin
- Fix potentially-uninitialised local variable - Sybren A. Stüvel
- Fix tiny file browser highlight offset on retina screens - Julian Eisel
GPU
- GPU: Add GPU frame capture support. - Jason Fielder
- GPU: Fix: Use 2 slots for each UDIMs texture instead of 4 - Miguel Pozo
Geometry Nodes
- Geometry Nodes: use lazy-function directly for switch node - Jacques Lucke
I18n
- I18n: extract add-on bl_info warnings - Damien Picard
IO
- IO: add PLY export test coverage for loose edges and loose vertices - Aras Pranckevicius
- IO: refactor, replace std::vector with Vector in OBJ and PLY code - Aras Pranckevicius
Image
- Image: Add OIIO support APIs - Jesse Yurkovich
Measure Tool
- Measure Tool: reduce snap overhead - Germano Cavalcante
Mesh
- Mesh: Parallelize extraction of UV maps - Hans Goudey
- Mesh: Remove unnecessary mesh position copying - Tuan N
- Mesh: Optimize BMesh to Mesh conversion with UV maps - Hans Goudey
Metal
- Metal: Resolve Race Condition in Memory Manager - Jason Fielder
Nodes
- Nodes: SDF Volume nodes milestone 1 - Erik Abrahamsson
PLY
- PLY: optimize new exporter (2x faster) - Aras Pranckevicius
- PLY: Improve robustness and performance of the new PLY importer - Aras Pranckevicius
Python
-
Python: Unable to use
gpu.state.scissor_test_set. - Jeroen Bakker
Python API
- Python API: implement ViewLayer.aovs.remove - Nischay-Raj
Refactor
- Refactor: simplify computations in function #ensure_valid_reflection - Weizhen Huang
- Refactor: U.dpi_fac -> U.scale_factor - Harley Acheson
- Refactor: Avoid unsafe strcpy in library path utility function - Julian Eisel
- Refactor: CurvesGeometry read/write function - Falk David
- Refactor: Rename grease pencil files to legacy - Falk David
Subdivision
- Subdivision: remove info message that GPU subdivision being used - Brecht Van Lommel
Treat -Wunguarded-availability-new as an error
- Treat -Wunguarded-availability-new as an error - Sergey Sharybin
UI
- UI: align tab labels towards panels - guishe
- UI: Increase the size of the "Open Recent" list - Harley Acheson
- UI: Add scroll to sidebar tabs - guishe
UV
- UV: Improve UV Packing efficiency with non-square aspect ratio - Chris Blackbourn
Updated from SVN trunk (r6393).
- Updated from SVN trunk (r6393). - Bastien Montagne
Updated translations from svn trunk (r6385).
- Updated translations from svn trunk (r6385). - Bastien Montagne
VSE
- VSE: Update text of text strip after each typed character - Richard Antalik
Vulkan
- Vulkan: Clearing Storage Buffers - Jeroen Bakker
- Vulkan: Add initial VkPixelBuffer. - Jeroen Bakker
make.bat
- make.bat: adjust for recent submodule changes - Ray Molenkamp
12 Comments
Hi Pablo, hope you are well. I had a question that some people have asked me a few times and honestly don't know the answer to. Is there a reason Blender must use its own file browser and why it isn't able to use your native OS file browser as an option?
It's all about the options! the OS file browser rarely has options, and when ingesting footage, it's important for the user to be able to set the options, like the framerate of an image sequence, or the "up" direction of an armature, or if an OBJ should be imported as a collection of objects! It also makes sure you can set a default or preset for import options!
as well, it lets blender do some cool stuff like browse its own files, and unifies the file browser along OS's! (as pablo said)
Oi, Pablo! just a couple questions this week!
projects.blender.org/blender/blender/pulls/105538 HIP-RT is coming along, can we expect a branch, or inclusion for the 3.6 release? AMD did advertise it, and getting it in a release (even in an unfinished state) would be hugely helpful because blender opendata would show the performance and with any luck, could increase competition in the GPU market. (blender is a popular workstation benchmark now! these things matter!)
Also, have you submitted anything to Pwnisher's render challenges? One just finished, but thousands of blender users submit to them every time! youtu.be/iKBs9l8jS6Q (as an example) If not, I'd think you'd love it! it's sort of like like a bi-yearly open movie project- It's great to test the usability of new features with, and because it's only a 4-10 second shot, it's not hugely time consuming either!
It would be great to have a tooltip in the asset browser for names that don't fit into the line underneath the preview when hovering with the mouse. Sometimes it's hard to judge from the preview alone if e.g. a material is "metal_rough_bump" or "metal_rough_anisotropic" - seeing the name would help greatly!
Hi Pablo. Hope you are doing well.?
Seen this amazing line/curve drawing addon: github.com/Shriinivas/blenderbezierutils
It let's us easily draw beziers/curves in Object mode.
Can we have something like this built into Blender? Drawing and editing curves in Blender should be as easy as in Illustrator or InkScape.
See you in a couple of weeks
Hi 3D Pablo: Is there an attribute in Geometry Nodes that tracks the start location of mesh in relationship to the mesh obj next to it so that the mesh obj moves dynamically to the size of neighbors?
Hey Pablo! Is there a way to save default settings for import/export options for fbx and obj? I almost always need to just export selected objects but forget to use my preset drop-down. I have found no way to save it as a start up setting. Thanks!
Speaking about UX, then object picker will work across multiple windows?
Hi pablo, I want to know why bone has old layer systems, also when will we get gooseberry or agent 327 movies
yeah, aha, those are probably nixed- it happens quite often, open movie projects rarely go full movie. Tears of Steel managed it though, and you might be able to find some source files if you poke around or ask some people. I guarantee you they're sitting backed up on a hard drive somewhere. I'm not even sure they have the rights for all of it or expected to make it in-house.
Hi Pablo!
I guess since one of the last Blender Todays Julien mentioned in a forum post that essentials might be reduced to only geometry nodes groups. So no base meshes or materials shipped with blender essentails bundle after all? Do you have any more infos on that?
devtalk.blender.org/t/asset-bundle-base-meshes/21535/112