Blender Git Commits

Blender Git "master" branch commits.

Page: 690 / 5574

July 7, 2020, 13:44 (GMT)
Fix T78307 UI: Drawing artifacts in the Blender UI on macOS

This was due to a bad driver which was not respecting this bit of the
specification:

`If the current primitive does not originate from an instanced draw command, the value of gl_InstanceID is zero.`
July 7, 2020, 13:39 (GMT)
Cycles: Add support for native OptiX curve primitive

This patch adds support for the curve primitive from OptiX to Cycles. It's currently hidden
behind a debug option, since there can be some slight rendering differences still (because no
backface culling is performed and something seems off with endcaps). The curve primitive
was added with the OptiX 7.1 SDK and requires a r450 driver or newer, so this also updates
the codebase to be able to build with the new SDK.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D8223
July 7, 2020, 13:12 (GMT)
Fix T78692: improve UI regarding the effect of the denoiser on denoising passes

It wasn't obvious that the choice of Cycles denoiser also generates different
denoising data passes for compositing.
July 7, 2020, 13:08 (GMT)
Fix T78666: Cycles non-uniformly scaled hair renders wrong for static objects

Don't apply the matrix transform optimization in this case, curve points and
radius can't represent non-uniform scale the way is possible with triangle
meshes and vertices.

This would cause abrupt change if objects had e.g. motion blur in one frame
and not in the next.
July 7, 2020, 12:30 (GMT)
IO: Reversed persistent ID order in exports to Alembic and USD

Each duplicated (a.k.a. instanced) object has a Persistent ID, which
identifies a dupli within the context of its duplicator. This ID
consists of several numbers when there are nested duplis (for example a
mesh instancing empties on its vertices, where each empty instances a
collection). When exporting to Alembic/USD, these are used to uniquely
name the duplicated objects in the export.

This commit reverses the order of the persistent ID numbers, so that the
first number identifies the first level of recursion. This produces
trees like this:

ABC
`--Triangle
|--Triangle
|--Empty-1
| `--Pole-1-0
| |--Pole
| `--Block-1-1
| `--Block
|--Empty
| `--Pole-0
| |--Pole
| `--Block-1
| `--Block
|--Empty-2
| `--Pole-2-0
| |--Pole
| `--Block-2-1
| `--Block
`--Empty-0
`--Pole-0-0
|--Pole
`--Block-0-1
`--Block

It is now clearer that `Pole-2-0` and `Block-2-1` are instanced by
`Empty-2`. Before this commit, they would have been named `Pole-0-2` and
`Block-1-2`.
July 7, 2020, 11:01 (GMT)
IO: Fix bug exporting dupli parent/child relations

Exporting a scene to USD or Alembic would fail when there are multiple
duplicates of parent & child objects, duplicated by the same object. For
example, this happens when such a hierarchy of objects is contained in a
collection, and that collection is instanced multiple times by mesh
vertices. The problem here is that the 'parent' pointer of each
duplicated object points to the real parent; Blender would not figure
out properly which duplicated parent should be used.

This is now resolved by keeping track of the persistent ID of each
duplicated instance, which makes it possible to reconstruct the
parent-child relations of duplicated objects. This does use up some
memory for each dupli, so it could be heavy to export a Spring scene
(with all the pebbles and leaves), but it's only a small addition on top
of the USD/Alembic writer objects that have to be created anyway. At
least with this patch, they're created correctly.

Code-wise, the following changes are made:

- The export graph (that maps export parent to its export children) used
to have as its key (Object, Duplicator). This is insufficient to
correctly distinguish between multiple duplis of the same object by
the same duplicator, so this is now extended to (Object, Duplicator,
Persistent ID). To make this possible, new classes `ObjectIdentifier`
and `PersistentID` are introduced.
- Finding the parent of a duplicated object is done via its persistent
ID. In Python notation, the code first tries to find the parent
instance where `child_persistent_id[1:] == parent_persistent_id[1:]`.
If that fails, the dupli with persistent ID `child_persistent_id[1:]`
is used as parent.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D8233
Revision f2175e0 by Sergey Sharybin
July 7, 2020, 10:44 (GMT)
Mae deps: Ensure Brotli is disabled for FreeType

We don't need it and it was optionally enabled, causing Blender to fail
to link on certain configuration (when Brotli is installed via Homebrew
for example).
July 7, 2020, 10:31 (GMT)
Cleanup: add comment explaining operator delete
July 7, 2020, 10:02 (GMT)
IO: print export name instead of object name in debug export graph output

This is just a change in `AbstractHierarchyIterator::debug_print_export_graph()`
to aid in debugging. It'll make it possible to distinguish between
different duplicates of the same object.

No functional changes to Blender itself.
July 7, 2020, 09:52 (GMT)
Guarded Allocator: add missing operator delete

This resolves warning C4291 on windows.
July 7, 2020, 09:22 (GMT)
UI: Add units to motion tracking solve errors

The unit being "pixels".

Before this change the solve errors were unitless in the UI.

With this change in place, the UI is now clear on that the unit of the
reprojection errors is pixels (px).

Differential Revision: https://developer.blender.org/D8000
July 7, 2020, 09:17 (GMT)
Make deps: Fix compilation error of Python on macOS

The configuration was confused about gettext installed via Homebrew
and isysroot passed to Python's compilation but not to test programs.

After this change `import gettext` still works, but it is unclear how
to test it further,

Differential Revision: https://developer.blender.org/D8231
July 7, 2020, 08:38 (GMT)
Fix T78186: Dyntopo panel error with tools that dont have a brush

Maniphest Tasks: T78186

Differential Revision: https://developer.blender.org/D8120
July 7, 2020, 08:35 (GMT)
Cleanup: remove redundant comments

Searching in these files for "_as" will reveal a comment at the
top, that explains what these methods are for. There is no need
to duplicate that knowledge all over the place.
July 7, 2020, 07:52 (GMT)
Cleanup: use doxy comments
July 7, 2020, 07:52 (GMT)
UI: add merge/split menus

This makes the menus and keymap match the edit-mesh
(M for merge, Alt-M for split).
July 7, 2020, 07:31 (GMT)
Make deps: Fixes for macOS platform

Set of fixes which had to be made in order to have dependencies built
on own laptop:

- Require bison as a dependent software. It is required by ISPC.

On macOS it is required to be installed via Homebrew. This is because
Bison from Xcode toolchain is too old.

- Made sure Boost is compiled using clang.

Without this gcc was used, and some unsupported command line argument
was passed to it.

- Modify OGG in a way which does in fact pull fixed sized types.
They are defined in stdint.h.

Without this fix FFmpeg will not detect presence of OGG because the
test program fails to compile.

- Force disable zstd compression and make wepb optional for the TIFF
library. Without this TIFF might pick up development libraries from
Homebrew.

Differential Revision: https://developer.blender.org/D8221
July 7, 2020, 07:01 (GMT)
Fix sign conversion error
July 7, 2020, 06:04 (GMT)
Cleanup: remove unused arguments
July 7, 2020, 02:49 (GMT)
Cleanup: spelling
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021