Blender Git Commit Log

All Blender Git commits.

Page: 299 / 8462

August 24, 2021, 05:55 (GMT)
Sculpt dyntopo: more smooth stuff

* All of the smooth brushes now use the SculptCustomLayer
system for temporary data, so all work with dyntopo now.
* You can now use a flat array in SculptCustomLayer with
PBVH_BMESH (though you have to build the structure manually).
The mesh filter code uses this.
* Smooth (and autosmooth) now have an option to preserve face
set boundaries. Corners are currently not handled.
* Simplify brush has preserve face set boundaries autosmooth
flag set by default.
* SCULPT_vertex_is_boundary now takes an addition argument
for whether to check for face set boundaries.
August 24, 2021, 04:53 (GMT)
PyAPI: remove active area test for script.python_file_run operator

There is no reason running a Python file should require an active area.
August 24, 2021, 04:52 (GMT)
Fix buffer size mismatch in SCRIPT_OT_python_file_run

Reading paths over 512 bytes would cause a buffer overrun.
August 24, 2021, 04:36 (GMT)
Fix reporting Python reference leaks with WITH_PYTHON_SAFETY

Error in f3e26c847b6ba0924cfd02641345164c54234425
August 24, 2021, 04:25 (GMT)
Fix BLI_str_utf8_as_unicode_step reading past intended bounds

Add a string length argument to BLI_str_utf8_as_unicode_step to prevent
reading past the buffer bounds or the intended range since some callers
of this function take a string length to operate on part of the string.

Font drawing for example didn't respect the length argument,
potentially causing a buffer over-read with multi-byte characters
that could read past the end of the string.

The following command would read 5 bytes past the end of the input.

`BLF_draw(font_id, (char[]){252}, 1);`

In practice strings are typically null terminated so this didn't crash
reading past buffer bounds.

Nevertheless, this wasn't correct and could cause bugs in the future.

Clamping by the length now has the same behavior as a null byte.

Add test to ensure this is working as intended.
August 24, 2021, 04:06 (GMT)
Sculpt dyntopo: Smooth improvements and bug fixes

* Added an option to weight smooth by face areas
* Dyntopo now caches face areas in a CD_PROP_FLOAT layer
* Dyntopo also caches number of edges around verts inside of
MDynTopoVert. To avoid increasing the struct size flag was
made a short.
* Cleanup mode (dissolves 3/4-valence verts) now piggybacks on
subdivide code to build list of verts; this is much faster.
August 24, 2021, 02:53 (GMT)
Merge branch 'master' into subdivision_work
August 24, 2021, 02:52 (GMT)
Merge branch 'master' into subdivision_work
August 24, 2021, 02:49 (GMT)
Cleanup: spelling
August 24, 2021, 02:43 (GMT)
Cleanup: quiet clang-format warnings, unused argument
August 24, 2021, 00:48 (GMT)
UI: Make use of menu item theme roundness

Use theme preference instead of hardcoded square corners.
August 24, 2021, 00:46 (GMT)
UI: Use Outline color of menu item for separator

Instead of forcing a transparent shadeof the text color.
August 24, 2021, 00:31 (GMT)
UI: Adjust outline color of active default buttons

Simply darken slightly the already used outline color. On light themes it prevents too bright outlines on hover.
August 24, 2021, 00:13 (GMT)
UI: Support alpha in Value Slider widget

The alpha value was being ignored even though the item property could be set.
August 24, 2021, 00:03 (GMT)
UI: Do not rotate vertical scale indicators

In animation editors with vertical scale indicators, such as Graph Editor
or Drivers, display the values aligned to the view.
August 23, 2021, 23:43 (GMT)
Fix T90854: Cycles, normal map fails with applied transformations

Prior to rBb8ecdbcd964a normals were stored both in
DeviceScene.tri_vnormal and the float3 attributes buffer. However, the
normals in `DeviceScene.tri_vnormal` might have be transformed to world
space if the object's transformation was applied, while the data in the
float3 attributes buffer were not. This caused shading issues in cases
where the objects did have transformation applied, as the math expects
the normals to be in object space.

To fix this, convert the normals to object space if necessary before
applying the normal map.

Reviewed By: brecht

Maniphest Tasks: T90854

Differential Revision: https://developer.blender.org/D12294
August 23, 2021, 23:21 (GMT)
VSE: Add Sequence.parent_meta() python API function

This function can be used to find metastrip parent of nested strip.

Reviewed By: ISS

Differential Revision: https://developer.blender.org/D11985
August 23, 2021, 23:10 (GMT)
VSE: Cleanup speed effect math

Simplify logic of speed effect frame calculation by using discrete math
where possible. Only `SEQ_SPEED_MULTIPLY` mode with animation requires
frame map to be built. Frame map building was simplified by removing
unused branches.

Functional change: Animating strip in negative range will reverse playback.
I assume this was limitation of previous system, where each frame map item
was limited to be within correct frame range. Now frame map can contain
values that point beyond usable range and they are limited by
`seq_speed_effect_target_frame_get`. This way it is possible to control
playback rate in both directions.

Mostly fixes T89120 apart from offset handling.

Reviewed By: mano-wii

Differential Revision: https://developer.blender.org/D11939
August 23, 2021, 22:58 (GMT)
Fix T88237: Prefetch crash on rendering scene strip

Prefetch needs to avoid rendering scene strips, because

- Rendering in background needs own dependency graph, which fails to
initialize from evaluated data.
- This locks UI and can make it unresponsive for long time periods.

In T88237 prefetch failed to avoid scene strip, because of effect strip
was attached to scene strip.

Ensure, that no effect that is attached to scene strip either directly
or indirectly would be rendered.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D11247
August 23, 2021, 22:52 (GMT)
Fix T90407: Split fails on transition strips

When splitting strips, first they are duplicated and then offsets
adjusted. This can fail on cross transitions, because some strips don't
overlap with split frame.

All strips, that relate to each other must be duplicated to ensure
correct relations after splitting, so solution is to delete non
overlapping strips from left or right side respectively.

Since cross transition don't have to overlap with source strips,
splitting such strips would lead to effect being deleted, which
could cause crash when iterating over strips in python. Therefore
splitting of such strips is now forbidden and will generate error.

Splitting of transition will also generate error solely because such
operation is illogical.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D12121
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021