April 8, 2021, 06:57 (GMT) |
Added missing function body. |
April 8, 2021, 06:36 (GMT) |
Fix T87267: Texture Paint stencil texture not drawing Typo in {rBafcfc6eb0842}. Maniphest Tasks: T87267 Differential Revision: https://developer.blender.org/D10915 |
April 8, 2021, 05:49 (GMT) |
Cavity masking now has a checkbox in the UI, instead of simply turning itself on if the concave mask factor is > 0. |
April 8, 2021, 05:39 (GMT) |
Geometry Nodes Curves: Refactor, mapping from evaluated to control points Also include some incomplete handling of radius in the curve to mesh node. I'm not sure how much of the changes will stick around, but the reshuffling of virtual vs. final methods will stay, and the separated caches probably makes sense too. |
April 8, 2021, 03:39 (GMT) |
* Fixed an annoying number of undo bugs * Original data for bmesh pbvh is no longer handled by the undo code. This should eliminate a whole class of subtle and hard to track down bugs. |
April 8, 2021, 02:45 (GMT) |
Merge branch 'master' into geometry-nodes-curve-support |
April 8, 2021, 00:15 (GMT) |
USD Export: texture export options. Added Export Textures and Relative Texture Paths options. |
April 7, 2021, 21:03 (GMT) |
Fix T87274: Curve 2D resets to 3D on reload This code is incompatible with .blend files from subversion 16 and 17. The ideal would be to create a new subversion when landed rBf674976edd88. But for now, due to the delay, moving the code to the previous subversion can solve it. |
April 7, 2021, 20:49 (GMT) |
Cleanup: Rename function, switch order of arguments The function name was not very specific, this makes it clearer that it works on instances rather than only real geometry. Also use `r_` prefix for the return argument. |
April 7, 2021, 18:23 (GMT) |
Geometry Nodes: Rename grid output UV attribute During review of D10730 it was discovered that the "uv" name causes issues for cycles, which uses it as a default internal data name. While that could be fixed in the future, there was no particular reason to use "uv" instead of "uv_map", so we use the latter instead here, which is consistent with the lowercase naming scheme chosen for attributes. |
April 7, 2021, 18:15 (GMT) |
Geometry Nodes: Greatly improve speed of some mesh primitives Some of the BMesh primitive operators have a lot of overhead due to the fact that they use other operators like extrusion, removing doubles, and rotation, to build each shape rather than filling arrays directly. Implementing the primitives directly with the Mesh data structure is much more efficient, since it's simple to fill the result data based on the known inputs. It also allows also skip the conversion from BMesh to Mesh after the calculations. Speed matters more for procedural operations than for the existing operators accessible from the add menu, since they will be executed every evaluation rather than once before a destructive workflow. | Shape | Before (ms) | After (ms) | Speedup (x times faster) | | -------- | -------------| ------------| -------------------------| | Cylinder | 1.1676 | 0.31327 | 3.72 | | Cone | 4.5890 | 0.17762 | 25.8 | | Sphere | 64213.3 | 13.595 | 4720 | The downside of this change is that there will be two implementations for these three primitives, in these nodes and in `bmo_primitive.c`. One option would be re-implementing the BMesh primitives in terms of this code, but that would require `BMesh` to depend on `Mesh`, which is currently avoided. On the other hand, it will be easier to add new features to these nodes like different fill types for the top and the bottom of a cylinder, rings for a cylinder, and tagging the output with boolean attributes. Another factor to consider is that the add mesh object operator could be implemented with these nodes, just providing more benefit for a faster implementation. As a future cleanup, there is room to share code that generates the "rings" topology between different nodes that generate meshes. Differential Revision: https://developer.blender.org/D10730 |
April 7, 2021, 16:44 (GMT) |
Fix T87263: Animation decorator not working on Grease Pencil Build modifier Factor value When having a checkbox and a value both in one row together with an animation decorator it is questionable whether the decorator should act on animating the checkbox or the corresponding value. At the moment, usage in modifiers does not seem to be very consistent: Here the animation decorator works for animating the checkbox: - `Build` (greasepencil) > `Factor` (this was reported and is changed in this patch to act on the value instead of the checkbox) - `DataTransfer` > `Topology Mapping` > `Max Distance` (this I guess should also act on the value instead of the checkbox) - `Edge Split` > `Edge Angle` (questionable) - `Mirror` > `Merge` (questionable) - `Screw` > `Merge` (questionable) - `Wireframe` > `Crease Edges` (questionable) Here the animation decorator works for animating the value: - `VertexWeightEdit` > `Group Add/Remove Threshold` - `Decimate` > `Symmetry` So in this patch only the behavior in the greasepencil Build modifier UI is changed, since I think it is quite obvious that one would more often use the decorator for animating the factor value than for animating the checkbox. Maniphest Tasks: T87263 Differential Revision: https://developer.blender.org/D10910 |
April 7, 2021, 16:43 (GMT) |
Cleanup: rename IntegratorPathQueue for clarity It's only counting the queue sizes, it's not the actual queue. |
April 7, 2021, 16:43 (GMT) |
Cleanup: allocate active path arrays once in advance In practice the size of this matches the max path states anyway, avoiding reallocation in the middle of queueing kernels will simplify some things later. |
April 7, 2021, 16:43 (GMT) |
Cycles: add debug logging for CUDA device queue |
April 7, 2021, 16:43 (GMT) |
Cycles: allocate Scene in Session, pass DeviceScene to path trace work Needed for shader sorting. |
April 7, 2021, 16:43 (GMT) |
Cycles: disable megakernel for now, see code comments |
April 7, 2021, 16:43 (GMT) |
Cycles: add shader sorting for shade_surface kernel * intersect_closest and intersect_subsurface compute a sorting key and with atomics count how many paths are queued for each key. * Then we compute the prefix sum of the sorting keys, and use that for sorting paths according to the key in a single pass with atomics. |
April 7, 2021, 16:18 (GMT) |
Cycles: Bring OptiX denoiser back Basically putting old code to be used by the new denoiser implementation in the integrator. The main denoising function in the OptiXDevice was split, to make it easier to follow and understand what's going on. The current limitation is that currently it only works when rendering on the OptiX device. Attempts to render on CPU and denoise on OptiX will currently error out (error is printed to the console, denoising is not run). This will be worked on next. |
April 7, 2021, 16:04 (GMT) |
UI: Remove confusing "Unset" context menu entry This was added in 37b82a2d260e, doesn't have much purpose and doesn't even do anything in the vast majority of cases. It only affects custom properties. So at the very least it shouldn't be shown for regular RNA property buttons. But even for cases where it may do something, we couldn't find a good use-case. If this operator has use-cases with some add-ons, the add-ons can expose it differently, e.g. with a little 'x' icon next to the button, like it's done in the keymap editor. So removing the context menu entry now. Should this turn out to be a problem, it can be brought back but much more selectively (only where it actually does something). Or we could combine it with "Reset to Default". Differential Revision: https://developer.blender.org/D8727 Reviewed by: Brecht Van Lommel, Hans Goudey |
|
|
|


Master Commits
MiikaHweb | 2003-2021