February 5, 2021, 20:59 (GMT) |
Cleanup: clang format |
February 5, 2021, 19:44 (GMT) |
Fix elastic deform surface falloff crashing or breaking geometry |
February 5, 2021, 19:33 (GMT) |
Rename random per component to random per loose part |
February 5, 2021, 19:31 (GMT) |
Fix const warning |
February 5, 2021, 19:31 (GMT) |
Remove unused variable |
February 5, 2021, 19:30 (GMT) |
Fix crash in versioning code |
February 5, 2021, 19:23 (GMT) |
Merge branch 'master' into sculpt-dev |
February 5, 2021, 19:01 (GMT) |
GPencil: Reduce minimum size for internal stroke drawing used in Fill |
February 5, 2021, 18:26 (GMT) |
Merge branch 'master' into temp-gpencil-fill |
February 5, 2021, 17:47 (GMT) |
Merge branch 'master' into temp-gpencil-fill |
February 5, 2021, 17:39 (GMT) |
Merge branch 'temp-geometry-nodes-instances-api-v2' of git.blender.org:blender into temp-geometry-nodes-instances-api-v2 |
February 5, 2021, 16:25 (GMT) |
GPencil: Reduce Ibuf size |
February 5, 2021, 16:17 (GMT) |
GPencil: Optimize get_pixel, set_pixel and is_leak_narrow |
February 5, 2021, 15:40 (GMT) |
Geometry Nodes: Instances API, support in point distribute node This patch changes the object info node to always output an instance. Theoretically, this change should be invisible to the user, because we plan to make instances real on demand. The benefit is improved performance because we can avoiding copying the input geometry when it's only needed for read operations. To make this work, we need a proper API to enable recursive reading of instanced geometry. This is essential, because we can even have collection instances in the `InstancesComponent`, which have no geometry of their own. And then any object in that collection could also contain an instance with a reference to another collection, etc. That might seem crazy, but it's essential for many more complicated workflows like the tree sample file. Another consideration is that currently, every single instance contains a reference to its data. This is inefficient since most of the time there are many locations and only a few sets of unique data. When we add the ability to instance a geometry set directly, this will be more important. So this patch adds a `GeometryInstanceGroup` to support this future optimization. Two APIs to the instances component are provided here. First is a callback approach that executes a function for every "final" geometry set. This can be used to optimize for many instances, to avoid heap allocations for each instance. The second API is one that returns a vector of `GeometryInstanceGroup`. This may be less efficient when there are many instances, but it makes more complicated operations like point distribution that need to iterate over input geometry multiple times much simpler. Even then, this patch makes the point distribute code much more complicated. It may be possible to simplify it further. The last TODO is support for making instances real on demand, which I am currently working on. The change to the object info node can't land without it. The transform spaces may be incorrect too. Differential Revision: https://developer.blender.org/D10327 |
February 5, 2021, 15:40 (GMT) |
GPencil: Fill optimizations |
February 5, 2021, 15:13 (GMT) |
Merge branch 'master' into temp-geometry-nodes-instances-api-v2 |
February 5, 2021, 03:26 (GMT) |
Add comments |
February 5, 2021, 03:20 (GMT) |
Remove debugging code |
February 5, 2021, 03:18 (GMT) |
Geometry Nodes: Point distribute support for instances This completes the work to implement instancing on instances. The density attribute works, and attributes are interpolated to the output like before. The code is much more complicated than before, and harder to understand. Some cleanup is likely possible to help, but to an extent it is unavoidable. |
Revision 6a2e29f by Michael Kowalski (temp-usd-importer-T81257-merge, usd, usd-importer-T81257-merge) February 4, 2021, 21:23 (GMT) |
USD importer stage traversal options. Added new stage traversal options to filter prim import based on purpose (guide, proxy and render) and whether to traverse instances with instance proxies. Also modified the stage traversal logic to avoid a small memory leak due to creating a reader for the pseudo root which is never used or deleted. |
|