Blender Git Commit Log

All Blender Git commits.

Page: 52 / 8462

December 1, 2021, 16:11 (GMT)
Geometry Nodes: Dual Mesh Node

This node calculates the dual of the input mesh. This means that faces
get replaced with vertices and vertices with faces. In principle this
only makes sense when the mesh in manifold, but there is an option to
keep the (non-manifold) boundaries of the mesh intact.

Attributes are propagated:
- Point domain goes to face domain and vice versa
- Edge domain and Face corner domain gets mapped to itself
Because of the duality, when the mesh is manifold, the attributes get
mapped to themselves when applying the node twice.

Thanks to Leul Mulugeta (@Leul) for help with the
ascii diagrams in the code comments.

Note that this does not work well with some non-manifold geometry,
like an edge connected to more than 2 faces, or a vertex connected to
only two faces, while not being in the boundary. This is because there
is no good way to define the dual at some of those points. This type
of non-manifold vertices are just removed for this reason.

Differential Revision: https://developer.blender.org/D12949
December 1, 2021, 15:36 (GMT)
Geometry Nodes: Generalized Compare Node

Replace compare floats node with a generalized compare node. The node
allows for the comparison of float, int, string, color, and vector.

The datatypes support the following operators:
Float, Int: <, >, <=, >=, ==, !=
String: ==, !=
Color: ==, !=, lighter, darker
(using rgb_to_grayscale value as the brightness value)

Vector Supports 5 comparison modes for: ==, !=, <, >, <=, >=
Average: The average of the components of the vectors are compared.
Dot Product: The dot product of the vectors are compared.
Direction: The angle between the vectors is compared to an angle
Element-wise: The individual components of the vectors are compared.
Length: The lengths of the vectors are compared.

Differential Revision: https://developer.blender.org/D13228
December 1, 2021, 15:05 (GMT)
Load tile buffers when performing a full update.
Revision f8dd03d by Hans Goudey (master)
December 1, 2021, 14:27 (GMT)
Cleanup: Store instances id attribute with other attributes

Now that we can store any dynamic attribute on the instances component,
we don't need the special case for `id`, it can just be handled by the
generic attribute storage. Mostly this just allows removing a bunch
of redundant code.

I had to add a null check for `update_custom_data_pointers` because
the instances component doesn't have any pointers to inside of
custom data.

Differential Revision: https://developer.blender.org/D13430
December 1, 2021, 14:24 (GMT)
Added sub shading groups.
Revision fd84183 by Paul Golter / Jeroen Bakker (master)
December 1, 2021, 13:58 (GMT)
Add layer and pass index parameters to rna_Image_gl_load

This patch adds a layer_idx and pass_idx parameter to the rna_Image_gl_load function. It exposes both to the Python API as optional parameters.
This allows python scripters to specifiy which layer and pass they want to load in to an OpenGL texture. Right now image.gl_load() always takes the first layer and first pass.
This is limiting when working with multilayer openEXRs.

With this patch scripters can do something like this:

```
pass_idx = area.spaces.active.image_user.multilayer_pass
layer_idx = area.spaces.active.image_user.multilayer_layer
image.gl_load(frame=0, layer_idx=layer_idx, pass_idx=pass_idx)
```

As the parameters are optional and default to 0, it should not break existing code.

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D13435
December 1, 2021, 11:49 (GMT)
Cleanup: Remove seq->tmp_flag DNA member

Commit f0d20198b290 used this field to flag rendered strips which were
queried by `SEQ_query_rendered_strips()`. Then operators iterate all
strips and checks state of `seq->tmp_flag`.

Use collection returned by `SEQ_query_rendered_strips` directly.
There should be no functional changes.

This commit adds functions `all_strips_from_context` and
`selected_strips_from_context` that provide collection of strips based
on context. Most operators can use this collection directly.
There is already `seq->tmp` DNA field, but is should not be used unless
absolutely necessary. Better option is to use human readable flag.
Best is to not use DNA fields for temporary storage in runtime.
December 1, 2021, 11:46 (GMT)
Color adjustments for splash for Blender 3.x series

Tweaks by Andy Goralczyk.
December 1, 2021, 11:44 (GMT)
Fix T92561: unstable particle distribution with Alembic files

When enabling or disabling a Mesh Sequence Cache modifier of an Object
with a hair particle system, the hair would switch positions. This is
caused because original coordinates in Blender are expected to be
normalized, and toggling the modifier would cause the usage of different
orco layers: one that is normalized, and the other which isn't.

This bug exposes a few related issues:
- if the Alembic file did not have orco data,
`MOD_deform_mesh_eval_get`, used by the particle system modifier, would
add an orco layer without normalization
- `MOD_deform_mesh_eval_get` would also ignore the presence of an orco
layer (e.g. one that could have been read from Alembic)
- if the Alembic file did have orco data, the data would be read
unnormalized

To fix those various issues, original coordinates are normalized when
read from Alembic and unnormalized when written to Alembic; and a new
utility function `BKE_mesh_orco_ensure` is added to add a normalized
orco layer if none exists on the mesh already, this function derives
from the code used in the particle system.

Reviewed By: brecht

Maniphest Tasks: T92561

Differential Revision: https://developer.blender.org/D13306
December 1, 2021, 11:40 (GMT)
Merge branch 'master' into subdivision_work
December 1, 2021, 11:19 (GMT)
Cleanup: Use int8 type rather than char for buffer

Indicates that this is just a buffer with an element size of 8 bit, not
a displayable/printable string buffer.
December 1, 2021, 10:38 (GMT)
Fix errors in user preferences after 2.8 hack removal

How to reproduce it:
* Open User Preferences.
* Got to Add-ons tab.

Issue introduced on d723e331f155

Reported via chat by Pedro Alcaide (povmaniac).
December 1, 2021, 09:04 (GMT)
LineArt: Consistent camera ray direction.
December 1, 2021, 09:03 (GMT)
Merge branch 'temp-lineart-contained' into lineart-shadow
December 1, 2021, 08:28 (GMT)
Merge branch 'temp-lineart-contained' into lineart-shadow
December 1, 2021, 08:26 (GMT)
Merge remote-tracking branch 'origin/master' into temp-lineart-contained
Revision 9cec9b4 by YimingWu (master)
December 1, 2021, 07:55 (GMT)
Fix(unreported): LineArt intersection mask logic error.

The stroke generation call mistakenly uses all enabled
types to check intersection mask, the correct behavior
is to use individual edge(chain) type.
Revision 24b84e4 by YimingWu (master)
December 1, 2021, 07:55 (GMT)
LineArt: Use consitent view vector direction.

Now do not invertes view vector in different stages of calculation.
Revision 5eeaf4c by YimingWu (master)
December 1, 2021, 07:53 (GMT)
LineArt: Use consitent view vector direction.

Now do not invertes view vector in different stages of calculation.
December 1, 2021, 06:52 (GMT)
Merge branch 'master' into soc-2021-simulation-display
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021