Blender Git Commit Log

All Blender Git commits.

Page: 1549 / 8462

June 18, 2020, 09:09 (GMT)
Fix T77957: Height change in Camera Properties column when changing lens type

Remove unneeded extra column from perspective type properties.

Maniphest Tasks: T77957

Differential Revision: https://developer.blender.org/D8060
June 18, 2020, 09:01 (GMT)
Upgrade C++ standard to C++17

Ref T76783
June 18, 2020, 08:48 (GMT)
Ceres: Update to the latest upstream version

Using latest master because of various compilation error fixes.

Brings a lot of recent development. From most interesting parts:

- New threading model.
- Tiny solver.
- Compatibility with C++17.
June 18, 2020, 08:48 (GMT)
Update C++ standard to C++14

This is an intermittent state to get all dependencies to compile.

For example, the latest Ceres is needed to bring C++17 support,
but it has bumped minimal requirement to C++14.
June 18, 2020, 08:37 (GMT)
Allow interpolation of matrices with negative scale / axis flips

The matrix interpolation function `interp_m3_m3m3()` decomposes the
matrices into rotation and scale matrices, converts the rotation
matrices to quaternions, SLERPs the quaternions, and converts the result
back to a matrix. Since quaternions cannot represent axis flips, this
results in interpolation problems like described in T77154.

Our interpolation function is based on "Matrix Animation and Polar
Decomposition", by Ken Shoemake & Tom Duff. The paper states that it
produces invalid results when there is an axis flip in the rotation
matrix (or negative determinant, or negative scale, those all indicate
the same thing). Their solution is to multiply the rotation matrix with
`-I`, where `I` is the identity matrix. This is the same as element-wise
multiplication with `-1.0f`. My proposed solution is to not only do that
with the rotation matrix `R`, but also with the scale matrix `S`. This
ensures that the decomposition of `A = R * S` remains valid, while also
making it possible to conver the rotation component to a quaternion.

There is still an issue when interpolating between matrices with
different determinant. As the determinant represents the change in
volume when that matrix is applied to an object, interpolating between a
negative and a positive matrix will have to go through a zero
determinant. In this case the volume collapses to zero. I don't see this
as a big issue, though, as without this patch Blender would also produce
invalid results anyway.

Reviewed By: brecht, sergey

Differential Revision: https://developer.blender.org/D8048
June 18, 2020, 08:37 (GMT)
Tests: added simple unittests for matrix interpolation

The interpolation of 4x4 and 3x3 matrices will fail when the rotation
component has a singularity, i.e. when there is one axis mirrored. Two
mirrored axes are just a rotation of 180 degrees around the third, and
three mirrored axes are such a rotation + a single axis mirror. To
prepare for a fix, I first wanted to cover the basic functionality with
a few unit tests.

These tests check that `interpolate(A, B, alpha)` always returns `A` for
`alpha=0`, always return `B` for `alpha=1`, and something in between for
`alpha=0.5`.
June 18, 2020, 08:19 (GMT)
Merge branch 'master' into soc-2020-io-performance
June 18, 2020, 08:15 (GMT)
Export triangulated mesh, not modifying the scene

Add UI checkbox for triangulating before writing the OBJ file.
The scene is not modified at all. Actual modifier should be used if one
needs the mesh to be modified too.

The settings for triangulation are the same as default ones of the
modifier:
ngon-method: "Beauty", quad-method: "Shortest Diagonal", min vertices:4
June 18, 2020, 07:51 (GMT)
Bumped file subversion to 19
June 18, 2020, 07:32 (GMT)
Fix T77657: NVIDIA Quadro FX4800 crash on startup

Limit support for `GLEW_ARB_base_instance` to OpenGL 4.0 and higher. NVIDIA Quadro FX 4800
(TeraScale) report that they support GLEW_ARB_base_instance, but the driver does not support
`GLEW_ARB_draw_indirect` as it has an OpenGL3 context what also matches the minimum needed
requirements.

We use `GLEW_ARB_draw_indirect` as a target for `glMapBuffer(Range)` what is part of the
OpenGL 4 API. So better disable it when we don't have an OpenGL4 context.

Note: fix should be ported to Blender 2.83 LTS

Reviewed By: Cl�ment Foucault

Differential Revision: https://developer.blender.org/D7994
June 18, 2020, 07:31 (GMT)
GPencil: Improve viewlayer masking check

Check if the mask layer is used in a layer that is going to be used in the current viewlayer.

Related to T77667
June 18, 2020, 07:31 (GMT)
Fix T77148: Crash changing multiple values for sequencer strips

This was caused by assuming all strips were the same type.
June 18, 2020, 07:28 (GMT)
Fix T77047: Dyntopo Sample detail size on hidden mesh causes crash

The `Toolbar` and `Sidebar` hide the corresponding panel
`VIEW3D_PT_sculpt_dyntopo` by polling for context.sculpt_object and
context.tool_settings.sculpt. In the Active Tool in the Properties
Editor this poll does not return False though, thus the
sample_detail_size is possible from there.

Second security check (the operator poll `SCULPT_mode_poll`) checks the
active object -- that is still valid even if hidden, so we are allowed
to execute the operator. However the active object becomes NULL once the
area is switched in `sample_detail()` -- see `CTX_wm_area_set`), leading
to the crash.

Dont think there is a quick and easy way to do this in the poll from the
Properties Editor, so just check for a valid active abject in the
operator and return OPERATOR_CANCELLED if we dont have it.

Maniphest Tasks: T77047

Differential Revision: https://developer.blender.org/D7832
June 18, 2020, 07:27 (GMT)
Fix T74101: File Browser in macOS fullscreen crashes or makes windows unusable

When closing the File Browser window after making it fullscreen, Blender would
either crash or all windows would disappear, with no obvious way to bring them
back.

The "fix" is to not allow fullscreen for File Browsers (or any future "dialog"
windows), but only maximizing. From what I can tell that's how secondary
windows are supposed to work on macOS. What we previously did seemed like
something macOS doesn't handle cleanly, and I didn't find a simple way to do so
on our side.
June 18, 2020, 07:26 (GMT)
Fix T77504: Operator search gives wrong results

Regression in e8ab0137f8766
June 18, 2020, 07:26 (GMT)
Fix T76894: Disable clipping region selection in material/rendered mode

In this case the draw engine isn't responsible for the selection, but
the editor is.

Reviewed By: Cl�ment Foucault

Differential Revision: https://developer.blender.org/D7955
June 18, 2020, 07:25 (GMT)
Fix T72936: Incorrect gizmo orientation with inherit rotation disabled
June 18, 2020, 07:25 (GMT)
Fix menu operator/search clipping the last character

Noted in T77504
June 18, 2020, 07:10 (GMT)
Fix T77603: OSL parser fails when script ends with comment without newline

Reviewers: brecht

Differential Revision: https://developer.blender.org/D7958
June 18, 2020, 07:08 (GMT)
Fix crash running "Edit Voxel Size" operator outside of a main 3D View region

Accessed `RegionView3D` data from context, which of course would only be set if
actually executed from a main 3D View region.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021