Revision eaa35b2 by Jacques Lucke September 13, 2021, 08:42 (GMT) |
Fix T91311: incorrect batch generation for instances This was a mistake in {rB5a9a16334c573c4566dc9b2a314cf0d0ccdcb54f}. |
September 13, 2021, 08:02 (GMT) |
Fix T84638: Wrong scale for primitives with radius Creating some primitives allows for a scale value (via python) that will scale the object accordingly. For objects with a radius parameter (like cylinders, spheres, etc.) passing a scale different to (1,1,1) would result in unexpected behavior. For example: `>>> bpy.ops.mesh.primitive_uv_sphere_add(radius=2, scale=(1,1,2))` We would expect this to create a sphere with a radius of 2 (dimensions 4,4,4) and then be scaled *2 along the z-axis (dimensions 4,4,8). But this would previously create a scaled sphere with dimensions (2,2,4). The scale was simply divided by two. Maybe because the "radius" parameter for creating the primitives was confusingly named "diameter" (but used as the radius). The fix adds a scale parameter to `ED_object_new_primitive_matrix` and also renames the wrongly named "diameter" parameters to "radius". Reviewed By: campbellbarton Maniphest Tasks: T84638 Ref D10093 |
Revision 9d33657 by Campbell Barton September 13, 2021, 07:50 (GMT) |
Cleanup: clang-format |
September 13, 2021, 06:16 (GMT) |
GPUShader: Expose name for debugging & identifying shaders Added optional `name` argument to `GPUShader` constructor (defaults to `pyGPUShader`), and added `name` getter to `GPUShader`. Ref D12393 Reviewed By: campbellbarton, jbakker |
Revision b5a1c19 by Campbell Barton September 12, 2021, 09:51 (GMT) |
Cleanup: early return from smoothview when the view is unchanged |
Revision 2aa7edb by Campbell Barton September 12, 2021, 09:51 (GMT) |
Cleanup: spelling |
Revision 1540568 by Hans Goudey September 11, 2021, 20:00 (GMT) |
Cleanup: Remove no-op/unused code |
Revision b9febb5 by Hans Goudey September 11, 2021, 18:54 (GMT) |
Geometry Nodes: Support modifier on curve objects With this commit, curve objects support the geometry nodes modifier. Curves objects now evaluate to `CurveEval` unless there was a previous implicit conversion (tessellating modifiers, mesh modifiers, or the settings in the curve "Geometry" panel). In the new code, curves are only considered to be the wire edges-- any generated surface is a mesh instead, stored in the evaluated geometry set. The consolidation of concepts mentioned above allows remove a lot of code that had to do with maintaining the `DispList` type temporarily for modifiers and rendering. Instead, render engines see a separate object for the mesh from the mesh geometry component, and when the curve object evaluates to a curve, the `CurveEval` is always used for drawing wire edges. However, currently the `DispList` type is still maintained and used as an intermediate step in implicit mesh conversion. In the future, more uses of it could be changed to use `CurveEval` and `Mesh` instead. This is mostly not changed behavior, it is just a formalization of existing logic after recent fixes for 2.8 versions last year and two years ago. Also, in the future more functionality can be converted to nodes, removing cases of implicit conversions. For more discussion on that topic, see T89676. The `use_fill_deform` option is removed. It has not worked properly since 2.62, and the choice for filling a curve before or after deformation will work much better and be clearer with a node system. Applying the geometry nodes modifier to generate a curve is not implemented with this commit, so applying the modifier won't work at all. This is a separate technical challenge, and should be solved in a separate step. Differential Revision: https://developer.blender.org/D11597 |
Revision c946fdb by Harley Acheson September 11, 2021, 16:07 (GMT) |
Calm Warning: Unused Variable Calms warning for unused variable in `constraint_copy_to_selected_poll` by using UNUSED_VARS. See D12453 for further details Differential Revision: https://developer.blender.org/D12453 Reviewed by Campbell Barton |
Revision 863460e by Manuel Castilla September 11, 2021, 13:42 (GMT) |
Revision cbe05ed by Manuel Castilla September 11, 2021, 13:42 (GMT) |
Compositor: Fix crash when hashing unconnected operations It was causing some tests to fail when enabling Full Frame mode. |
Revision 4e78b89 by Jacques Lucke September 11, 2021, 11:05 (GMT) |
Geometry Nodes: add field support for socket inspection Since fields were committed to master, socket inspection did not work correctly for all socket types anymore. Now the same functionality as before is back. Furthermore, fields that depend on some input will now show the inputs in the socket inspection. I added support for evaluating constant fields more immediately. This has the benefit that the same constant field is not evaluated more than once. It also helps with making the field independent of the multi-functions that it uses. We might still want to change the ownership handling for the multi-functions of nodes a bit, but that can be done separately. Differential Revision: https://developer.blender.org/D12444 |
Revision 166c8be by Jacques Lucke September 11, 2021, 10:41 (GMT) |
Cleanup: use nullptr |
Revision aeeffb9 by Jacques Lucke September 11, 2021, 09:43 (GMT) |
Functions: store cursors to previous instructions Now an instruction knows the cursors where it is inserted instead of just the instruction that references it. This has two benefits: * An instruction knows when it is the entry instruction. * The cursor can contain more information, e.g. if it is linked to the true or false branch of a branch instruction. This also simplifies updating the procedure in future optimization passes. |
Revision 6ae8de4 by Hans Goudey September 11, 2021, 04:21 (GMT) |
Cleanup: Rename variables, simplify logic Mostly renaming the variables to improve line wrapping. But also the "foreach_attribute" loops look simpler now. Also use `Spline::copy_base_settings` and don't bother with an extra call to reallocate the attribute arrays. |
Revision d475f99 by Hans Goudey September 11, 2021, 03:58 (GMT) |
Geometry Nodes: Support "Evaluated" mode in Resample Curve node Just like the curve to points node, this mode outputs point locations based on the input curve's evaluated points (the points you see in the viewport). This is expected to be faster, since it doesn't have to sample equal positions on the result, and it's also consistent with the existing choices in the curve to points node. |
Revision cb83313 by Hans Goudey September 11, 2021, 03:48 (GMT) |
Nodes: Add vector min/max support to new socket builder API Also use it to fix an incorrect min and max in the cube mesh primitive node. |
September 10, 2021, 21:22 (GMT) |
UI: Quad View Option Names Improved Improvements to Quad View options' titles and descriptions. See D12381 for more details. Differential Revision: https://developer.blender.org/D12381 Reviewed by Hans Goudey and Campbell Barton |
Revision 8745bb9 by Hans Goudey September 10, 2021, 20:58 (GMT) |
Cleanup: Split legacy node type defines |
Revision 6a00e7a by Hans Goudey September 10, 2021, 18:26 (GMT) |
Fix: Incorrect file subversion for geometry node versioning rBe2f99c338bd57 should have used the subversion currently defined in Blender, instead it used one lower, so some files didn't have the versioning applied. |
|