Blender Git Statistics -> Developers -> HooglyBoogly

Hans Goudey (HooglyBoogly)

Total Commits : 1 890
Master Commits : 749
Branch Commits : 1 141
First Commit : May 15, 2019
Latest Commit : May 11, 2021 (Today)

Commits by Month

DateNumber of Commits
May, 202124
April, 2021207
March, 2021169
February, 2021200
January, 2021109
December, 202084
November, 2020121
October, 2020113
September, 2020169
August, 2020102
July, 202092
June, 202099
May, 202078
April, 2020154
March, 202016
February, 20201
January, 20206
December, 20191
November, 201913
October, 201911
September, 20198
August, 201934
July, 201931
June, 201942
May, 20196

Commit Distribution

PathNumber of Commits
master749
modifier-panels-ui216
property-search-ui-v2190
soc-2019-bevel-profiles140
geometry-nodes-curve-support108
geometry-nodes-point-separate-node94
geometry-nodes-mesh-primitives72
property-search-ui69
geometry-nodes68
geometry-nodes-distribute-points68
temp-geometry-nodes-distribute-points-cleanup68
geometry-nodes-mix-attributes67
geometry-nodes-deduplicate-float-math59
temp-geometry-nodes-mesh-primitive-line54
temp-geometry-nodes-attribute-search49
geometry-nodes-attribute-nodes46
geometry-nodes-active-modifier-drawing43
temp-geometry-nodes-instances-api-v240
temp-node-error-messages39
attribute-accessor38
temp-spreadsheet-row-filter29
temp-modifiers-instancing27
fcurve-modifier-panels25
active-fcurve-keyframe24
temp-lineart-contained19
geometry-nodes-boolean-node13
temp-geometry-nodes-attribute-domain-conversion12
ui-asset-view-template11
asset-system-filelist11
asset-browser-poselib11
temp-gpencil-io10
temp-geometry-nodes-normal-attribute9
temp-geometry-nodes-instances-api9
geometry-nodes-transform-node8
pygpu_extensions7
temp_lineart_contained6
lanpr-under-gp6
temp-spreadsheet-instances5
temp_bmesh_multires4
temp-gpencil-bezier-stroke-type4
temp-geometry-nodes-processor-prototype3
temp-geometry-nodes-instances-attributes3
temp-fix-headerless-panels-switch-windows3
temp-geometry-component-refactor2
cycles_texture_cache2
blender-v2.91-release1
sculpt-dev1
blender-v2.90-release1
temp-interface-cpp1
temp-fcurve-active-keyframe-D77371
temp-nodes-redesign1
temp-geometry-nodes-volume1

Favourite Files

FilenameTotal Edits
interface_panel.c162
interface_templates.c97
UI_interface.h92
bmesh_bevel.c84
interface_layout.c75
area.c56
interface_intern.h52
rna_nodetree.c52
MOD_ui_common.c52
interface_handlers.c50

File Changes

ActionTotalPer Commit
Added1750.1
Modified5 5973.0
Deleted580.0

Code Changes

ActionTotalPer Commit
Lines Added77 97454.5
Lines Removed48 78934.1

Latest commits Feed

Revision 4226f19 by Hans Goudey (master)
3 hours 56 min ago
Cleanup: Sort node type definitions alphabetically

Previously we had a lot merge conflicts since we always put the most
recently added node at the bottom. By sorting the list we will have
one fewer merge conflict when a node is added in most cases.
Revision 4333991 by Hans Goudey (master)
7 hours 33 min ago
Cleanup: Reorder class variable declarations

The order was arbitrary, and rearranging the declarations
makes the class look less messy, and makes room for future comments.
Revision a5761bb by Hans Goudey (master)
7 hours 36 min ago
Cleanup: Whitespace, add doxygen sections

The sections aren't helpful at the moment, but I will add more code
here soon that will benefit more from the visual separation.
Revision 6b1034d by Hans Goudey (master)
7 hours 49 min ago
Cleanup: Use a helper function for repetitive code

Retrieving data from the component can be done in a separate function
to save some repetition.
Revision 5613c61 by Hans Goudey (master)
7 hours 54 min ago
Functions: Add materialize methods for generic mutable virtual array

Similar to how `GVArray_For_VArray` implements `materialize_impl` to
forward the work to its non-generic virtual array, we can do the same
thing for the mutable version, `GVMutableArray_For_VMutableArray`.

This commit should have no visible changes, since as far as I can tell
the only user of this class does not implement special materialize
methods anyway.
Revision f694321 by Hans Goudey (master)
May 9, 2021, 06:33 (GMT)
Fix: Curve resample duplicates last point for cyclic splines

The last point of the output was at the same location as the
first point of a cyclic spline. The fix is simple, just account for
the cyclic when choosing the sample edge length, and don't
hard code the last sample.
Revision 7029cc2 by Hans Goudey (master)
May 9, 2021, 06:13 (GMT)
Fix T88126: Curve resample crash for single point input

The spline `length` function assumed that the curve always had evaluated
edges. That is clearly false. This commit adds a check to `length` and a
special case for a single point in the curve resample node.
Revision 518c5ce by Hans Goudey (master)
May 9, 2021, 04:57 (GMT)
Geometry Nodes: Improve point instance node performance

This commit uses two changes to improve the performance of the point
instance node.

**Prevent Reallocations**
At 64 bytes, the transform matrix for every instance is rather large,
so reallocating the vector as it grows can become a performance bottle-
neck. This commit reserves memory for the instances that will be added
to prevent unecessary reallocations as the instance vector grows.

In a test with 4 million instances of 3 objects in a collection, the
node was about 40% faster, from 370ms to 270ms for the node.

**Parallelization**
Currently the instances are added by appending to a vector. By changing
this slightly to fill indices instead, we can parallelize the operation
so that multiple threads can fill data at the same time. Tested on a
Ryzen 3700x, this reduced the runtime from the above 270ms to 44ms
average, bringing the total speedup to ~8x.

Note that displaying the instances in the viewport is still much slower
than the calculations in node, this change doesn't affect that.
Revision 9569a52 by Hans Goudey (master)
May 8, 2021, 19:53 (GMT)
Geometry Nodes: Refactor point instance node

This patch refactors the instance component to make use of the earlier
refactoring in rB4599cea15dcf. Now we don't have to build an array of
instance references the size of the point domain, and we can gather the
possible instances only once and use the same vector for all component
types. Generally the node should be a bit faster and use less memory.

The logic is moved around a bit, especially the hashing of the ID
attribute to pick from the instance list, but the result is unchanged.

Differential Revision: https://developer.blender.org/D11203
Revision e46b9de by Hans Goudey (master)
May 7, 2021, 23:16 (GMT)
Fix: Curve to mesh node assert when last profile segment is vector

We need to always add a single point to the last cyclic segment that
completes the loop, because that includes the starting point of the
evaluated edge. The existing code forgot about that point.

MiikaHweb - Blender Git Statistics v1.06
By: Miika HämäläinenLast update: Nov-07-2014 14:18 MiikaHweb | 2003-2021