Revision 84cc91a by Alexander Gavrilov November 27, 2021, 18:43 (GMT) |
Force Fields: implement new true power and custom falloff options. The 'power' falloff option in Blender force fields does not actually generate a true power falloff function, as pointed out in D2389. However, that patch adds a special 'gravity' falloff option to Force fields, without addressing the shortcoming in the common options. The reason for not using the true curve in the options, as far as one can tell, is that the power curve goes up to infinity as the distance is reduced to 0, while the falloff options are designed so that the maximum value of the curve is 1. However, in reality forces with a power falloff don't actually go to infinity, because real objects have a nonzero size, and the force reaches its maximum at the surface of the object. This can be used to integrate an option to use a true power falloff with the design of falloff settings, if it requires a nonzero 'minimum' distance to be set, and uses a curve that reaches 1 at that distance. Since this is adding a new feature to the minimum distance value, it is also a good opportunity to add a feature to the maximum distance. Specifically, the new options can be used to apply arbitrary brush-style falloff curves between min and max, including a fully custom curve option. When used together with power falloff, the two curves are multiplied together. While the true power option allows creating more physically correct forces, the custom curves aid artistic effects. Differential Revision: https://developer.blender.org/D8075 |
Revision d29a924 by Alexander Gavrilov November 27, 2021, 18:43 (GMT) |
Depsgraph: connect up drivers on various physics properties. It seems drivers for physics properties weren't being linked to evaluation nodes. This connects settings used by modifiers to Geometry; particle settings and rigid body data to Transform which seems to contain rigid body evaluation; and force fields to object Transform, since fields can exist on empties. Differential Revision: https://developer.blender.org/D10088 |
Revision 5d5adc2 by Alexander Gavrilov November 27, 2021, 18:43 (GMT) |
Constraints: refactor the D7437 patch adding Custom Space for constraints. As mentioned in the comments to that patch, I had an idea for a different way to do some technical aspects, but it was too complicated to force changes in the original patch. Thus I submit this follow up patch. First, instead of modifying all the get_constraint_targets and flush_constraint_targets callbacks, introduce wrapper functions for accessing constraint targets, convert all code to use them, and handle the new reference there uniformly for all constraints. This incidentally revealed a place in the Collada exporter that didn't clean up after retrieving the targets. Also, tag the special target with a flag so other code can handle it appropriately where necessary. This for instance allows dependency graph to know that the Use B-Bone Shape option doesn't affect this specific target. Finally, rename and simplify the function for initializing the custom space, and make sure it is called everywhere necessary. Differential Revision: https://developer.blender.org/D9732 |
Revision ff67310 by Alexander Gavrilov November 27, 2021, 18:43 (GMT) |
Armature: apply Y scale to B-Bone segments. This fixes a strange behavior where the segments were not actually scaled in the Y direction to match their actual length, thus producing gaps or overlap depending on the shape of the curve. For transformation the change should be very small if enough segments are used, but this will affect the results of the Copy Transforms and Armature constraints, so a backwards compatibility option is provided. Newly created bones default to the new behavior. |
November 27, 2021, 18:08 (GMT) |
Fix build error with TBB 2021 and booleans Linux distributions are using newer TBB versions than official releases, and TBB 2021 is an API breaking release. In general we should avoid using TBB directly and go through the abstractions in BLI_task.hh, though there is no abstraction for this. For 3.0 the safe option is to just not cancel the task but instead early out in the lambda function. Given the grain size of 2048 there should be no significant performance difference. Differential Revision: https://developer.blender.org/D13382 |
November 27, 2021, 18:06 (GMT) |
Geometry Nodes: Optimize Cube primitive vertex calculation This patch gets rid of the O(N^3) complexity of calculate_vertices. Execution time of the node is reduced from 250ms to 140ms with 500^3 vertices. In the future edge calculations could be done manually and reduce the execution time even further. Differential Revision: https://developer.blender.org/D13207 |
November 27, 2021, 17:17 (GMT) |
Geometry Nodes: Parallelize "Set Spline Type"-node Parallelizes the loop that converts splines. It gives around a 2x speedup on curves with over 1k splines. Differential Revision: https://developer.blender.org/D13389 |
November 27, 2021, 17:17 (GMT) |
Sculpt-dev: fix corruption in dyntopo fast pbvh leaf builder callback. |
November 27, 2021, 17:02 (GMT) |
Sculpt-dev: don't show input mapping settings in sculpt context menu |
Revision 148c941 by Jacques Lucke November 27, 2021, 12:48 (GMT) |
enable prints |
November 27, 2021, 12:02 (GMT) |
progress |
November 27, 2021, 10:49 (GMT) |
initial testing |
November 27, 2021, 05:10 (GMT) |
Sculpt-dev: Add brush_eval field to Paint * Paint now has a brush_eval field which is used in leu of ->brush if non-null. * This lets us get rid of all the annoying: `brush = ss->cache ? ss->cache->brush : BKE_paint_brush` code. Now it's just BKE_paint_brush. * Used by SCULPT_run_command. * Also fixed nasty scene spacing bug. |
November 27, 2021, 00:27 (GMT) |
Sculpt-dev: fix multires crash in last commit |
November 26, 2021, 23:39 (GMT) |
Sculpt-dev: bugfixes * Fixed PBVH_FACES vcol draw bug. * Fixed boundary smooth being turned on if its temp customdata layer exists. * Fixed unnesting of brush panels from last commit improperly showing up in the workspace tab for sculpt instead of the brush tab. |
November 26, 2021, 21:39 (GMT) |
Attempt to fix Windows new bpath tests failing, take IV. Follow up to rBdcc500e5a265093bc9cc, rB92daff6ac2adb5bb, rB61bd5882a20c6f3 and rB08264aaf82da8. Sorry for the noise, this time should be good. |
November 26, 2021, 21:07 (GMT) |
Attempt to fix Windows new bpath tests failing, take III. Follow up to rBdcc500e5a265093bc9cc, rB92daff6ac2adb5bb and rB61bd5882a20c6f3. |
November 26, 2021, 20:34 (GMT) |
Attempt to fix Windows new bpath tests failing, take II. Follow up to rBdcc500e5a265093bc9cc and rB92daff6ac2adb5bb. Also shortening a bit the macros names... |
November 26, 2021, 17:53 (GMT) |
Add comments, other minor improvements |
November 26, 2021, 17:24 (GMT) |
Fix T89564: Spline IK breaks when it is far away from the world origin The isect_line_sphere algorithm became very imprecise when the line and the sphere were reasonably far away from the world origin. This would lead to no intersections being reported even if there was a guaranteed intersection (line crossing from inside the sphere to the outside). To fix this we now use the secant root finding method to get an intersection point. This is much more stable and robust it seems. |
|
|
|


Master Commits
MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021