http://www.miikahweb.com/feed.php MiikaHweb - Blender Commits By HooglyBoogly http://www.miikahweb.com/ MiikaHweb - Blender Commits By HooglyBoogly fi Thu, 06 May 21 12:24:49 +0000 MiikaHweb RSS contact at miikahweb.com <![CDATA[[a353aeb] cycles_texture_cache: Geometry Nodes: Parallelize attribute nodes]]> http://www.miikahweb.com/en/blender/git-logs/commit/a353aeb53275bb72acb83061a68b4babefb4045d a353aeb
Branches : cycles_texture_cache
Author : Hans Goudey (HooglyBoogly)
Committed By : Stefan Werner (swerner)
----------------------------------------
Geometry Nodes: Parallelize attribute nodes

This commit significantly speeds up many of the attribute nodes when
multiple threads are available in linear situations when parallelism
cannot be achieved elsewhere.

See the differential for a table of timing comparisons tested on a
Ryzen 3700x. For an attribute with 4 million elements, the nodes were
about 3 to 9 times faster.

The changes are not exhaustive, other nodes could still be parallelized
in the future. Also, it would be possible to further optimize the grain
size in `parallel_for`, but I'd rather make sure it isn't too small.
I tested some different values, but also relied on intuition--
increasing grain size for less complex operations and vice versa.

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

----------------------------------------
8 Paths Changed]]>
Thu, 06 May 2021 09:25:23 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/a353aeb53275bb72acb83061a68b4babefb4045dHans Goudey
<![CDATA[[d191767] cycles_texture_cache: Geometry Nodes: Initial basic curve data support]]> http://www.miikahweb.com/en/blender/git-logs/commit/d19176765db8dc6dd644adaa7a13d47f4d294d6d d191767
Branches : cycles_texture_cache
Author : Hans Goudey (HooglyBoogly)
Committed By : Stefan Werner (swerner)
----------------------------------------
Geometry Nodes: Initial basic curve data support

This patch adds initial curve support to geometry nodes. Currently
there is only one node available, the "Curve to Mesh" node, T87428.

However, the aim of the changes here is larger than just supporting
curve data in nodes-- it also uses the opportunity to add better spline
data structures, intended to replace the existing curve evaluation code.
The curve code in Blender is quite old, and it's generally regarded as
some of the messiest, hardest-to-understand code as well. The classes
in `BKE_spline.hh` aim to be faster, more extensible, and much more
easily understandable. Further explanation can be found in comments in
that file.

Initial builtin spline attributes are supported-- reading and writing
from the `cyclic` and `resolution` attributes works with any of the
attribute nodes. Also, only Z-up normal calculation is implemented
at the moment, and tilts do not apply yet.

**Limitations**
- For now, you must bring curves into the node tree with an "Object
Info" node. Changes to the curve modifier stack will come later.
- Converting to a mesh is necessary to visualize the curve data.

Further progress can be tracked in: T87245
Higher level design document: https://wiki.blender.org/wiki/Modules/Physics_Nodes/Projects/EverythingNodes/CurveNodes

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

----------------------------------------
47 Paths Changed]]>
Thu, 06 May 2021 09:25:24 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/d19176765db8dc6dd644adaa7a13d47f4d294d6dHans Goudey
<![CDATA[[d08cc63] master: Nodes Splines: Apply tilt to normal evaluation]]> http://www.miikahweb.com/en/blender/git-logs/commit/d08cc63e2f98b6aa027639354fc6675bb3d7cf3f d08cc63
Branches : master
Author : Hans Goudey (HooglyBoogly)
----------------------------------------
Nodes Splines: Apply tilt to normal evaluation

This patch makes the spline tilts (interpolated to the evaluated points)
affect the evaluated normals, allowing manual control of the rotation of
each profile in the curve to mesh node.

The method is based on Animation Nodes code, which keeps the data in
direction vector form, and rotates around the tangent vector.

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

----------------------------------------
1 Path Changed]]>
Tue, 04 May 2021 22:35:48 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/d08cc63e2f98b6aa027639354fc6675bb3d7cf3fHans Goudey
<![CDATA[[1f57103] master: Fix: Splines: Use consistent bezier linear interpolation method...]]> http://www.miikahweb.com/en/blender/git-logs/commit/1f5710326f7eba9e00ddd44a0ce53ad5a589ca79 1f57103
Branches : master
Author : Hans Goudey (HooglyBoogly)
----------------------------------------
Fix: Splines: Use consistent bezier linear interpolation method

While the method of interpolating based on the curve length at each
evaluated point may be useful in some situations, for now it's best to
be consistent with the existing methods in Blender, so this commit adds
a simple linear-based-on-resolution sampling method to bezier splines.

----------------------------------------
1 Path Changed]]>
Tue, 04 May 2021 22:27:20 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/1f5710326f7eba9e00ddd44a0ce53ad5a589ca79Hans Goudey
<![CDATA[[7ab7ae8] master: Fix: Incorrect cyclic interpolation for nodes bezier spline]]> http://www.miikahweb.com/en/blender/git-logs/commit/7ab7ae80c5a32be2cf4003f818e09fa3f1759fc4 7ab7ae8
Branches : master
Author : Hans Goudey (HooglyBoogly)
----------------------------------------
Fix: Incorrect cyclic interpolation for nodes bezier spline

The special case for the interpolation to the last point was being used
for every point in the last segment, because of the rounding. Instead,
make the function slightly more complicated to properly handle the
correct interolation in the cyclic and non-cyclic cases.

----------------------------------------
1 Path Changed]]>
Tue, 04 May 2021 21:28:22 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/7ab7ae80c5a32be2cf4003f818e09fa3f1759fc4Hans Goudey
<![CDATA[[4411609] master: Fix: Incorrect type used for geometry nodes poly splines]]> http://www.miikahweb.com/en/blender/git-logs/commit/441160930b3e8163a381807fc76f39a18836a014 4411609
Branches : master
Author : Hans Goudey (HooglyBoogly)
----------------------------------------
Fix: Incorrect type used for geometry nodes poly splines

----------------------------------------
1 Path Changed]]>
Tue, 04 May 2021 19:34:16 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/441160930b3e8163a381807fc76f39a18836a014Hans Goudey
<![CDATA[[8216b75] master: Geometry Nodes: Initial basic curve data support]]> http://www.miikahweb.com/en/blender/git-logs/commit/8216b759e9557c786e517aa64eee424fed0ac742 8216b75
Branches : master
Author : Hans Goudey (HooglyBoogly)
----------------------------------------
Geometry Nodes: Initial basic curve data support

This patch adds initial curve support to geometry nodes. Currently
there is only one node available, the "Curve to Mesh" node, T87428.

However, the aim of the changes here is larger than just supporting
curve data in nodes-- it also uses the opportunity to add better spline
data structures, intended to replace the existing curve evaluation code.
The curve code in Blender is quite old, and it's generally regarded as
some of the messiest, hardest-to-understand code as well. The classes
in `BKE_spline.hh` aim to be faster, more extensible, and much more
easily understandable. Further explanation can be found in comments in
that file.

Initial builtin spline attributes are supported-- reading and writing
from the `cyclic` and `resolution` attributes works with any of the
attribute nodes. Also, only Z-up normal calculation is implemented
at the moment, and tilts do not apply yet.

**Limitations**
- For now, you must bring curves into the node tree with an "Object
Info" node. Changes to the curve modifier stack will come later.
- Converting to a mesh is necessary to visualize the curve data.

Further progress can be tracked in: T87245
Higher level design document: https://wiki.blender.org/wiki/Modules/Physics_Nodes/Projects/EverythingNodes/CurveNodes

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

----------------------------------------
47 Paths Changed]]>
Mon, 03 May 2021 17:29:17 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/8216b759e9557c786e517aa64eee424fed0ac742Hans Goudey
<![CDATA[[1d7ee50] master: Geometry Nodes: Parallelize attribute nodes]]> http://www.miikahweb.com/en/blender/git-logs/commit/1d7ee50fef71a2baaa2ebcfb8409b5eb33d1bc23 1d7ee50
Branches : master
Author : Hans Goudey (HooglyBoogly)
----------------------------------------
Geometry Nodes: Parallelize attribute nodes

This commit significantly speeds up many of the attribute nodes when
multiple threads are available in linear situations when parallelism
cannot be achieved elsewhere.

See the differential for a table of timing comparisons tested on a
Ryzen 3700x. For an attribute with 4 million elements, the nodes were
about 3 to 9 times faster.

The changes are not exhaustive, other nodes could still be parallelized
in the future. Also, it would be possible to further optimize the grain
size in `parallel_for`, but I'd rather make sure it isn't too small.
I tested some different values, but also relied on intuition--
increasing grain size for less complex operations and vice versa.

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

----------------------------------------
8 Paths Changed]]>
Mon, 03 May 2021 13:00:09 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/1d7ee50fef71a2baaa2ebcfb8409b5eb33d1bc23Hans Goudey
<![CDATA[[1db971a] temp-lineart-contained: Cleanup: Reduce indentation by returning early]]> http://www.miikahweb.com/en/blender/git-logs/commit/1db971a6dd46b1b51c2a253bee0cd7b361741fe8 1db971a
Branches : temp-lineart-contained
Author : Hans Goudey (HooglyBoogly)
Committed By : YimingWu (NicksBest)
----------------------------------------
Cleanup: Reduce indentation by returning early

----------------------------------------
1 Path Changed]]>
Sat, 01 May 2021 08:12:44 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/1db971a6dd46b1b51c2a253bee0cd7b361741fe8Hans Goudey
<![CDATA[[c5b622b] temp-lineart-contained: Cleanup: Remove unecessary variable]]> http://www.miikahweb.com/en/blender/git-logs/commit/c5b622b77375b58e117e748face847ebfcdf513c c5b622b
Branches : temp-lineart-contained
Author : Hans Goudey (HooglyBoogly)
Committed By : YimingWu (NicksBest)
----------------------------------------
Cleanup: Remove unecessary variable

The value of this variable was incremented, but never used.

----------------------------------------
1 Path Changed]]>
Sat, 01 May 2021 08:12:44 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/c5b622b77375b58e117e748face847ebfcdf513cHans Goudey
<![CDATA[[c637fe7] temp-lineart-contained: Cleanup: Mismatched array bounds in function declaration]]> http://www.miikahweb.com/en/blender/git-logs/commit/c637fe722c881f5ba8a63dae03af13cf1bfaa9d2 c637fe7
Branches : temp-lineart-contained
Author : Hans Goudey (HooglyBoogly)
Committed By : YimingWu (NicksBest)
----------------------------------------
Cleanup: Mismatched array bounds in function declaration

----------------------------------------
5 Paths Changed]]>
Sat, 01 May 2021 08:12:44 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/c637fe722c881f5ba8a63dae03af13cf1bfaa9d2Hans Goudey
<![CDATA[[ffcb99e] temp-lineart-contained: Geometry Nodes: Add a template utility to mix two attribute...]]> http://www.miikahweb.com/en/blender/git-logs/commit/ffcb99e1f1eb48a2da865958ae5b8b8c11288591 ffcb99e
Branches : temp-lineart-contained
Author : Hans Goudey (HooglyBoogly)
Committed By : YimingWu (NicksBest)
----------------------------------------
Geometry Nodes: Add a template utility to mix two attribute values

This is just linear interpolation, but it's nice to have an equivalent
to `mix3` for only two values. It will be used for interpolation of
values between bezier spline control points.

----------------------------------------
1 Path Changed]]>
Sat, 01 May 2021 08:12:44 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/ffcb99e1f1eb48a2da865958ae5b8b8c11288591Hans Goudey
<![CDATA[[ddaeaa4] master: Geometry Nodes: Add a template utility to mix two attribute...]]> http://www.miikahweb.com/en/blender/git-logs/commit/ddaeaa4b981d38393fcbb6ca6cc27e81f55da900 ddaeaa4
Branches : master
Author : Hans Goudey (HooglyBoogly)
----------------------------------------
Geometry Nodes: Add a template utility to mix two attribute values

This is just linear interpolation, but it's nice to have an equivalent
to `mix3` for only two values. It will be used for interpolation of
values between bezier spline control points.

----------------------------------------
1 Path Changed]]>
Fri, 30 Apr 2021 02:52:34 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/ddaeaa4b981d38393fcbb6ca6cc27e81f55da900Hans Goudey
<![CDATA[[45a14a2] master: Cleanup: Mismatched array bounds in function declaration]]> http://www.miikahweb.com/en/blender/git-logs/commit/45a14a20de9cfd11695195ea7b2aaceb2734e747 45a14a2
Branches : master
Author : Hans Goudey (HooglyBoogly)
----------------------------------------
Cleanup: Mismatched array bounds in function declaration

----------------------------------------
5 Paths Changed]]>
Fri, 30 Apr 2021 02:25:34 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/45a14a20de9cfd11695195ea7b2aaceb2734e747Hans Goudey
<![CDATA[[8dd5fdc] master: Cleanup: Remove unecessary variable]]> http://www.miikahweb.com/en/blender/git-logs/commit/8dd5fdca3bc3cefe965a288de56b88553a2245bc 8dd5fdc
Branches : master
Author : Hans Goudey (HooglyBoogly)
----------------------------------------
Cleanup: Remove unecessary variable

The value of this variable was incremented, but never used.

----------------------------------------
1 Path Changed]]>
Thu, 29 Apr 2021 20:11:35 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/8dd5fdca3bc3cefe965a288de56b88553a2245bcHans Goudey
<![CDATA[[c9d1143] master: Cleanup: Reduce indentation by returning early]]> http://www.miikahweb.com/en/blender/git-logs/commit/c9d1143b334527d5b9dfb886f8fdba986bd1ec53 c9d1143
Branches : master
Author : Hans Goudey (HooglyBoogly)
----------------------------------------
Cleanup: Reduce indentation by returning early

----------------------------------------
1 Path Changed]]>
Thu, 29 Apr 2021 15:46:55 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/c9d1143b334527d5b9dfb886f8fdba986bd1ec53Hans Goudey
<![CDATA[[2038250] temp-interface-cpp: WIP changes to compiling interface directory as C++ code]]> http://www.miikahweb.com/en/blender/git-logs/commit/2038250c62fa3753fcc31129f8dd5f4fdf08e2e7 2038250
Branches : temp-interface-cpp
Author : Hans Goudey (HooglyBoogly)
----------------------------------------
WIP changes to compiling interface directory as C++ code

----------------------------------------
44 Paths Changed]]>
Thu, 29 Apr 2021 04:32:55 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/2038250c62fa3753fcc31129f8dd5f4fdf08e2e7Hans Goudey
<![CDATA[[38ebac8] master: Cleanup: Use const argument for context]]> http://www.miikahweb.com/en/blender/git-logs/commit/38ebac86cc28e53d7640dcc8ce3bc4edbb8f2a1b 38ebac8
Branches : master
Author : Hans Goudey (HooglyBoogly)
----------------------------------------
Cleanup: Use const argument for context

----------------------------------------
2 Paths Changed]]>
Wed, 28 Apr 2021 21:58:43 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/38ebac86cc28e53d7640dcc8ce3bc4edbb8f2a1bHans Goudey
<![CDATA[[1012e9b] master: Cleanup: Fix inconcistent array lengths in function declarations...]]> http://www.miikahweb.com/en/blender/git-logs/commit/1012e9bbfa61e09a49962e5ca468e239ad75865a 1012e9b
Branches : master
Author : Hans Goudey (HooglyBoogly)
----------------------------------------
Cleanup: Fix inconcistent array lengths in function declarations

In some cases functions were defined with arguments of different array
lengths in headers vs. implementations. This commit fixes some of the
cases I ran into, but probably not all of them.

----------------------------------------
12 Paths Changed]]>
Wed, 28 Apr 2021 18:13:43 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/1012e9bbfa61e09a49962e5ca468e239ad75865aHans Goudey
<![CDATA[[1b5b4b0] master: Spreadsheet: Add instance IDs from geometry set]]> http://www.miikahweb.com/en/blender/git-logs/commit/1b5b4b067e634b54149e371bd7f8f004fff2d1b3 1b5b4b0
Branches : master
Author : Hans Goudey (HooglyBoogly)
----------------------------------------
Spreadsheet: Add instance IDs from geometry set

Mostly the interesting information about the instances IDs whether they
are -1 or not, but it's still worth displaying them in the editor.
In the future when we can hide or show colums, we could decide to hide
this one by default.

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

----------------------------------------
1 Path Changed]]>
Wed, 28 Apr 2021 13:22:10 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/1b5b4b067e634b54149e371bd7f8f004fff2d1b3Hans Goudey