Blender Git Loki

Blenderin Git "master"-kehityshaaran kommitit.

Page: 220 / 5574

Revision 01e1944 by Julian Eisel
July 2, 2021, 11:49 (GMT)
File Browser: Refactor file "UUID" code (which wasn't really a "UUID")

To some degree these are changes in preparation of further Asset Browser
related changes, see D11119. But also, the current UUID design was written for
the old Asset Engine design, which isn't part of the current Asset
Browser/System design anymore.
And lastly, "UUID" are a well established standard
(https://en.wikipedia.org/wiki/Universally_unique_identifier) which this
implementation didn't follow. What we have here is more of an index, or a
unique identifier (https://en.wikipedia.org/wiki/Unique_identifier).

So this does the following changes:
* Renames "UUID" to "UID"
* Changes the type of the UID to (a typedef'ed) `uint32_t`, which is more than
enough for our current asset system design and simplifies things.
* Due to the new type, we can avoid allocations for hash-table storage.
* Add/use functions for UID handling

Note that I am working on a major rewrite of the file-list code. Meanwhile we
want to keep things sensible.
July 2, 2021, 10:04 (GMT)
GPencil: New modifier to generate weights dynamically

his new modifier allows to generate weights base on:

* Angle of the stroke relative to object or world orientation. For example, if the value is 90, the maximum weights will be for vertical lines and minimum for horizontal lines.

* Distance to Target object. The distance calculated is normalized to get valid weights between 0 and 1.0.

The weights are created in an existing vertex group and the data can be replaced or mixed with the existing value to combine different weight effects. The minimum parameter, allows to define the minimum weight generated. This is useful to avoid very low weights.

The generated weights can be used in any modifier. For example, the angle weight value can be used to mimic FreeStyle Caligraphy modifier using the weight with the thickness modifier.

Also some modifier has been changed to inlude a new option to use the weights as factor of the effect.
As result of this change, the fading option has been removed from Thickness and Opacity modifiers because this can be done using the new modifier, it's not logic to repeat the same.

Reviewed By: mendio, filedescriptor

Differential Revision: https://developer.blender.org/D11604
Revision 9f5c0ff by Hans Goudey
July 2, 2021, 04:03 (GMT)
Cleanup: Use const variables for object's evaluated mesh

Generally the evaluated mesh should not be changed, since that is the
job of the modifier stack. Current code is far from const correct in
that regard. This commit uses a const variable for the reult of
`BKE_object_get_evaluated_mesh` in some cases. The most common
remaining case is retrieving a BVH tree from the mesh.
July 2, 2021, 02:51 (GMT)
Cleanup: refactor edit-mesh copy functions into functions
July 2, 2021, 02:15 (GMT)
Cleanup: spelling in comments
July 2, 2021, 02:15 (GMT)
Cleanup: compiler & clang-tidy warnings
July 2, 2021, 01:08 (GMT)
Fix T88909: Win32 getTitle() UTF8 Support

In the Win32 platform our setTitle() can properly assign a Unicode
utf-8 window title. Unfortunately our getTitle() will only read regular
8-bit character strings. This means that we can never compare what we
set to what we get. This patch updates getTitle() to use Unicode-aware
GetWindowTextLengthW and GetWindowTextW.

see T88909 for an example of this affecting user experience.

Differential Revision: https://developer.blender.org/D11782

Reviewed by Ray Molenkamp
Revision 0ff1c38 by Hans Goudey
July 1, 2021, 21:46 (GMT)
Cleanup: Move bvhutils.c to C++

This will be useful when adding a utility to create a BVH tree from a
`CurveEval` for the attribute proximity and attribute transfer nodes.
July 1, 2021, 21:38 (GMT)
VSE: Fix handle size calculation

Handle width calculation was incorrect in drawing code. This caused
handles to be invisible when zoomed out.

After fixing math, handles become too large, so now they are constrained
to quarter of strip width, which feels more natural and represents
clickable area more closely.

`sequence_handle_size_get_clamped()` did not return size in pixels, but
in 2D-View space, this comment was corrected.
Revision fd1fec5 by Hans Goudey
July 1, 2021, 21:33 (GMT)
Cleanup: Clang tidy, remove typedef
July 1, 2021, 20:14 (GMT)
Fix memory leak in VSE transform code

SeqCollection wasn't freed.

It wasn't easy to find culprit so added argument to
SEQ_collection_create() to pass function name.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D11746
July 1, 2021, 20:08 (GMT)
VSE: Snapping feedback

Address initial feedback:
- Use checkboxes instead of radio buttons
- Hide snapping distance control from UI
- Tweak snapping line color - use selected strip color, 50% transparency. Similar to other editors
- Draw 2px thick line, since strip outline is also 2px thick

Reviewed By: HooglyBoogly

Differential Revision: https://developer.blender.org/D11759
July 1, 2021, 14:13 (GMT)
Cleanup: Separate each extractor into specific compile units

Makes code cleaner and easier to find.
Revision 4617172 by Julian Eisel
July 1, 2021, 13:22 (GMT)
Fix race condition when loading multiple File/Asset Browsers at once

When multiple File or Asset Browsers would load at once (e.g. when loading a
file with two File Browsers open) and they would load multiple directories or
.blend files (using the Recursions option in the File Browser or loading an
asset library with multiple .blends), often only one File/Asset Browser would
correctly load all files. Others would be incomplete or entirely empty. That
was because of a race condition, where the directories or .blend files would be
loaded concurrently and the first one that finished would cancel the other
ones. This again happened because they used the job system with the same
"owner", which by design makes all jobs with the same owner cancel as soon as
the first is finished.
Address this by making sure they have different owners. That is, not the scene
anymore, but the filelist the job belongs to. Doesn't make much sense to use
the scene as owner for scene-unrelated file loading anyway.

Steps to reproduce were:
* Open two File Browsers as regular editors.
* In the Display Settings popover, set "Recursions" to 2 or 3 levels.
* Navigate to a directory with plenty of subdirectories in both File Browsers.
* Save the file.
* Reload the file, one of the File Browsers likely has an incomplete file list.

Alternatively, use Asset Browsers and open an asset library containing multiple
.blends.
July 1, 2021, 12:26 (GMT)
Fix T88887: Audio causes issues with Playback when PC put to Sleep, Hibernate or when Screensaver appears

Porting WASAPI device reinitialization from upstream.
July 1, 2021, 12:26 (GMT)
Audaspace: porting pulseaudio fixes from upstream.
July 1, 2021, 10:58 (GMT)
Fix broken physics modifiers after cleanup commits

4f3ec0110 and 5a64c687dd should have removed the entire conditional to skip
time depedent modifiers, rather than always enable it.
July 1, 2021, 10:21 (GMT)
Fix: Export subtitles timecode relative to scene start frame, ignore muted strips

This patch writes the timecode in the .srt file relative to the start
frame of the scene. If the timecode is global but scene does not start
at frame 0 the subtitles don't match if they get loaded in an external
video player. Muted strips will be ignored. Don't allow negative
timecodes in .srt.

Reviewed By: Richard Antalik
Differential Revision: https://developer.blender.org/D11762
July 1, 2021, 07:25 (GMT)
Cleanup: remove redundant calls to BMO_error_clear
July 1, 2021, 07:01 (GMT)
Cleanup: remove bmesh-operator error code

The error codes could be used to look up messages from a table
of messages however this wasn't especially useful.

Now all calls to BMO_error_raise must inclue a message.
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021