When the retopology overlay is enabled, the edit mesh is not drawn
in solid mode. When you disabled overlays however, it would not be
drawn in any mode, which understandably confused users.
Now it checks whether overlays are enabled before it hides the solid mesh.
Pull Request: https://projects.blender.org/blender/blender/pulls/118422
Although it is nice to skip embossing for middle buttons in aligned
rows, this only applies to vertically-aligned buttons. Horizontal ones
need to keep their embossing, if enabled.
Pull Request: https://projects.blender.org/blender/blender/pulls/118304
Multiple threads may try to load the "All" asset library catalogs, so
avoid working on the same catalog service in parallel.
Found when testing #118463 on top of #118382, by creating a sculpt brush
asset while the asset shelf is open. The 3D View header would trigger
reloading of the "All" asset library catalogs to display node assets in
header pulldowns, while the asset shelf triggered a threaded reload of
the asset library.
Problem here is that when selecting/activating an object in a different
scene in the Outliner, the Outliner will automatically switch scenes via
`WM_window_set_active_scene` however the `view_layer` was untouched and
as a consequence `BKE_view_layer_synced_ensure` gets the right scene but
the "wrong" viewlayer [which makes it not do its thing properly]
To solve, now use the new active viewlayer after having switched scenes.
NOTE this also solves a couple of other asserts elsewhere (when not
deleting, just selecting/activating could assert on
`DEG_is_evaluated_object(ob)`)
Pull Request: https://projects.blender.org/blender/blender/pulls/118458
This much more basic representation of a blendfile is designed to
survive badly corrupted data, e.g. when handling files without DNA
info, etc.
Obviously the amount of data extracted is way less, but it's still
eaiser to analize than dealing with pure binary data.
Fairly straightforward.
Note that only the Noise modifier is handled in this commit, for demonstration/testing purposes.
The other modifiers remain TODO and will be handled in later commits.
Pull Request: https://projects.blender.org/blender/blender/pulls/118415
Main improvements:
* Spatial structure (Kd-tree) build is now multithreaded.
* Kd-tree switched to use cache-friendlier TreeLets.
* Field fixed some non-deterministic behavior when spatial cache does
not receive any training data during a training iteration due to a
large number of training iterations.
* Fixed build problems on (non-Mac) ARM systems.
Pull Request: https://projects.blender.org/blender/blender/pulls/118328
This changes the drawing of the zone nodes to align corresponding input
and output sockets. The resulting nodes are smaller and it's easier to see
how data is passed through them.
Drawing aligned sockets is already technically supported for quite a while
already, but we haven't used it so far. Using them for zone nodes seems to
provide benefits only. How we use aligned sockets in other nodes still has
to be discussed more.
This patch only changes run-time data. It doesn't affect what is written to
.blend files.
In the node declaration, aligned sockets are created by tagging a socket
so that it is aligned with the previous socket. This is a bit different from
what we had before where a single socket declaration would be used for
an input and output socket. I think the approach used here works better,
especially in a potential future scenario where the input and output socket
has a different type.
Pull Request: https://projects.blender.org/blender/blender/pulls/118335
The check for owner ID here was preventing the online manual access to work for user preference properties.
This is also true for Python API Documentation access.
Panorama dicing test fails for EEVEE on legacy platforms. EEVEE creates a shader interface
that isn't compatible with the vulkan backend. This PR hides the check.
Check should be enabled again after EEVEE has been replaced by EEVEE-Next.
This PR also changes the behavior when checks are executed. It used to be
executed when blender was build with asserts. Now it is behind the --debug-gpu flag.
Pull Request: https://projects.blender.org/blender/blender/pulls/117992
The check for owner ID here was preventing the online manual access to work for user preference properties.
This is also true for Python API Documentation access.
Update from version 4.65 (2009) to latest 23.01 (2023).
LZMA is only used for pointcache "Heavy" compression option. With
updated SDK, testing in a 100k particle system point cache
(Windows/Ryzen5950X), average times to read or write a cached frame:
- Read a bit faster, 24.3 -> 23.2ms
- Write/bake about 2x faster, 237 -> 103ms
Pull Request: https://projects.blender.org/blender/blender/pulls/118433
The difficulty of implementing this iterator is that it requires lots of operator
overloads which are usually very simple to implement, but result in a lot of code.
The goal of this patch is to abstract the common parts so that it becomes easier
to implement random accessor iterators. Many algorithms can work more
efficiently with random access iterators than with other iterator types.
Also see https://en.cppreference.com/w/cpp/iterator/random_access_iterator
Pull Request: https://projects.blender.org/blender/blender/pulls/118113
My misreading of the Microsoft BITMAPV5HEADER specification causes a
shift of three pixels when transferring between applications using this
format. This does not occur when moving within or between Blender
instances. This PR just removes the incorrect 12-byte offset. Note
that many applications prefer PNG transfers over DibV5 so testing this
might be non-obvious.
Pull Request: https://projects.blender.org/blender/blender/pulls/118417
Reduce the width size and align the URL with the UIList.
Adjustments that would still be welcome:
* Make URL label color the same as Advanced.
* Waste less space between URL and the [________________].
New name: Extensions
Now that we are gettting closer to a launch I need to refer to this
feature in the documentation. As such it was time to bring it up to
date.
I'm also pointing the experimental feature to the task where the Alpha
launch is being coordinated (#117286). Once that task is all ticked we
will likely be ready to go out of experimental.
The name `use_occlusion_test` was misleading and led to errors.
If this variable is false, objects will be considered to always be
occluders.
Not a serious problem, since the flag is not being used.