User Details
- User Since
- Dec 29 2020, 10:33 AM (73 w, 3 d)
Oct 19 2021
Aug 6 2021
Thanks for picking this up @Johnny Matthews (guitargeek) :) I wasn't finding the time and energy to finish this.
Jun 29 2021
Jun 24 2021
Jun 15 2021
May 28 2021
Do you plan on finding the exact closest point when a Curve is the Target (or are you planning to convert to mesh)? I assume the exact approach will involve finding the root(s) of a polynomial.
May 27 2021
I'll update this patch to use the new feature of the node graph evaluator to only compute connected outputs.
May 11 2021
- applied arc patch
- merge master
May 10 2021
- Merge branch 'master' into geometry-nodes-attribute-statistics
- fixed segfault
May 8 2021
- merge master
- Removed redundant copy into span
May 4 2021
@Jacques Lucke (JacquesLucke) the copy is needed for the median calculation (both std::sort and std::nth_element modify the order of the underlying data). I'll remove the redundant copy into a span though. Do you know how I could easily materialize the mesh_attribute and pointcloud_attribute directly into a Vector?
Apr 28 2021
- GVArray instead of VArray
Apr 27 2021
- merge master and updated to use new attribute access
Apr 26 2021
@Jacques Lucke (JacquesLucke) whenever you have time, could you please explain how can I update this patch to use the new way to access attributes? I tried it briefly but got a bit confused by ReadAttributeLookup, VArray and VArray_Span etc.
Apr 16 2021
Maybe this is a floating point thing:
@Henrik Dick (weasel) I guess this comes down to preference. We could remove Range and Variance, but honestly they don't really bother me.
- merge master
Apr 15 2021
- median, min and max now via std::sort
- fixed float3 statistics
- WIP refactoring to use stl parallel algorithms
Closing this revision, and abandoning the idea of a multispan or of a custom iterator that loops over multiple spans.
- some testing
Apr 12 2021
From the description it seems like it's planned that the extrusion part will be contained in this node, right?
Apr 10 2021
Current plan: keep MultiSpan, it's job is to provide a .begin() and .end() for the iterator. Then use algorithms that work with iterators, see the sum test for an example with std::accumulate().
- Sum test that shows this is not how inheritance works in c++
- removed sum() and calculate sum with std::accumulate() instead
As Jacques pointed out, what I explained in my previous comment is not possible in C++.
The overhead for each element access is not ideal, but when you need this functionality, the alternative is usually copying all the data in all the spans.
- a bit of cleanup
Apr 9 2021
Addressed the small comments. I'll look into a solution for the unnecessary copying in compute_median.
- cleanup
Pass spans by value and removed std::vector.
- Pass Spans by value and replaced std::vector with Vector and MutableSpan
Removed CombinedSpan and I addressed most of the other comments. I've done some quick tests and everything still seems to work, but I'll do some more thorough tests later.
- removed unused includes
Apr 8 2021
- removed CombinedSpan and replaced with function that take Span<Span<>>
Apr 7 2021
- WIP refactoring
Yeah I wasn't really sure what category to put this one in. My thinking was: all the nodes in the Mesh category really alter the mesh topology, this node just adds an attribute so I thought it fitted there better.
Ah yes indeed, forgot about that. Just tried it with the rng outside the loop and it causes the points to shift around while weight painting.
Apr 6 2021
- reverted previous change and instead just changed default userpref
Apr 5 2021
Archiving this because it is not actively being investigated.
Another solution would be to create a single RandomNumberGenerator rng(seed); outside the loop over looptris, instead of creating a new rng for each looptri.
The problem is this line in sample_mesh_surface():
const int looptri_seed = BLI_hash_int(looptri_index + seed);
Apr 1 2021
I'm not sure whether this is a bug. I believe the Utilities Map Range node uses the code from node_shader_map_range.cc. In that file you can find this:
Mar 30 2021
Mar 29 2021
- fix bug that caused saved nodes to load as Undefined
- vector median and removed size_()
- Merge branch 'master' into geometry-nodes-attribute-statistics
- removed operation dropdown and exposed all stats as sockets instead
Mar 28 2021
Mar 27 2021
- added support for pointcloud and volume
- WIP refactoring to include pointcloud and volume
- removed prints
- merge master
Mar 26 2021
This functionality might be covered by this desgin task by @Hans Goudey (HooglyBoogly): Mesh Smooth Node https://developer.blender.org/T86903. Or is this something different?
Mar 23 2021
As I understand it:
Mar 21 2021
- Made a few variables const and removed comment about get_result_domain()
- Merge branch 'master' into geometry-nodes-attribute-map-range
Mar 19 2021
Ah yes of course, thanks! Should have checked the docs :p
Mar 18 2021
@Jacques Lucke (JacquesLucke) no that wasn't intented. I've updated the patch with a fix. The problem was that I changed the CLAMP() to std::clamp() last minute and didn't bother to test thoroughly. Apparently std::clamp() doesn't work.
- one more std::clamp changed to CLAMP
- changed std::clamp back to CLAMP because it doesn't work
- merge master
- add node back to menu (removed by accident with merge) and set default vectors to (1,1,1) instead of (1,0,0)
Mar 15 2021
Mar 14 2021
- std::clamp instead of CLAMP
- simplified smoothstep and smootherstep
- merge master and new way to choose result domain
- Fixed conversion issue