Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
AgeCommit message (Collapse)Author
2021-04-06Fix T87236: crash reading file with grease pencil palettesPhilipp Oeser
Caused by typo in {rB76689e851700}. Since Palettes and bGPDpalette are not the same size, this would not only cause a crash in versioning code, but could only go downhill from here on. Maniphest Tasks: T87236 Differential Revision: https://developer.blender.org/D10903
2021-04-06BLI: return pointer to added resourceJacques Lucke
Without this, the caller often has to get the pointer to the resource before adding it to the resource scope.
2021-04-06Fix T86889: Rotation with top plane view glitchesGermano Cavalcante
The `InputAngle` function uses a flawed algorithm to fix precision issues. This commit refactor the logic of that function by using BLI utilities. Differential Revision: https://developer.blender.org/D10880
2021-04-06Fix render crash in some .blend files after Persistent Data changesBrecht Van Lommel
Must always clear recalc flags, even if no editors use them, the depsgraph execution itself also depends on them.
2021-04-06Compositor: Add Streaming Operator for NodeOperationBuilder.Jeroen Bakker
For debugging purposes to convert the internal state of the NodeOperationBuilder to a graphviz. Usage: std::cout << *this << "\n"; Inside any method of the NodeOperationBuilder.
2021-04-06Fix T86932: Curve: pick shortest path missing update of active point drawingPhilipp Oeser
For curves, we need to tag the curve ID_RECALC_COPY_ON_WRITE for batch cache update (same as in {rB24b2fe50f3ec}). Maniphest Tasks: T86932 Differential Revision: https://developer.blender.org/D10826
2021-04-06Fix T84623: Curve/Surface force not working in normal directionPhilipp Oeser
Tweaking e.g. a field strength would then not use the curve/surface normal anymore [but the object center instead]. If a curve has a forcefield with effector shape Curve (in code its shape is PFIELD_SHAPE_SURFACE then), it wil get a SurfaceModifier. Changing properties will free the SurfaceModifierData's bvhtree and mesh And these dont get copied along when doing the CoW copy, these are explicitly set to NULL. So this was also failing for meshes, not just curves. Without the mesh & bvhtree though, get_effector_data() will not set the EffectorData's normal correctly (it is closest_point_on_surface() which does this). And without the right EffectorData's normal, the effector will of course work unexpected. Going in and out of editmode made this work because that goes down this route: - BKE_object_handle_data_update - BKE_displist_make_curveTypes - do_makeDispListCurveTypes - curve_calc_modifiers_post -- BKE_mesh_new_nomain_from_curve_displist -- we then have our desired updated mesh from the curve -- this will also call the SurfaceModifiers deformVerts [which - given we have a valid mesh - will update the bvhtree properly] Also note that _animating_ the effector actually works, (have not done the deep dive why this works, assume the curve geometry is updated in this case) So, now just carefully tag the curve ID_RECALC_GEOMETRY in rna_FieldSettings_update for this specific case. Maniphest Tasks: T84623 Differential Revision: https://developer.blender.org/D10092
2021-04-06Fix T86175: Missing viewport update when toggling HDRI previewEvan Wilson
Caused by rB0f95f51361d7. Similar to T85515, T84717, T85543 and their related fixes. In this case, add missing shading notifier as in rB9274bd457a25. Reviewed By: brecht, lichtwerk Maniphest Tasks: T86175 Differential Revision: https://developer.blender.org/D10604
2021-04-06Suppress compiler warning.Jeroen Bakker
2021-04-06Fix T48167: Mesh select random factor is not accuratePhilipp Oeser
Selecting random percentage would not reliably guarantee the precise percentage of selected elements now randomize an index array instead and use the precise number of elements from this array. Note that this change has only been made to edit-mesh and should be applied to all random selection operators.
2021-04-06Fix T87187: Area.type & ui_type empty area access failsCampbell Barton
Reading Area.type & ui_type printed an error from `pyrna_enum_to_py` and returned an empty string. As empty is a valid value, include it in the property enum list.
2021-04-05BLI: fix axis order in 'BLI_array_iter_spiral_square'Germano Cavalcante
x and y were inverted.
2021-04-053D View Utils: Add 'margin' parameter to 'ED_view3d_depth_read_cached'Germano Cavalcante
Matches the alternative function ED_view3d_autodist_depth, but is more efficient since it uses the cache. No functional changes.
2021-04-05Render: faster animation and re-rendering with Persistent DataBrecht Van Lommel
For Cycles, when enabling the Persistent Data option, the full render data will be preserved from frame-to-frame in animation renders and between re-renders of the scene. This means that any modifier evaluation, BVH building, OpenGL vertex buffer uploads, etc, can be done only once for unchanged objects. This comes at an increased memory cost. Previously there option was named Persistent Images and had a more limited impact on render time and memory. When using multiple view layers, only data from a single view layer is preserved to keep memory usage somewhat under control. However objects shared between view layers are preserved, and so this can speedup such renders as well, even single frame renders. For Eevee and Workbench this option is not available, however these engines will now always reuse the depsgraph for animation and multiple view layers. This can significantly speed up rendering. These engines do not support sharing the depsgraph between re-renders, due to technical issues regarding OpenGL contexts. Support for this could be added if those are solved, see the code comments for details.
2021-04-04Cycles: make AO bounces settings more discoverableBrecht Van Lommel
* Move out of Simplify panel, into Light Paths > Fast Global Illumination * Add separate boolan setting to enable/disable it separate from Simplify * Default AO bounces to 1 * Put ambient occlusion distance in this panel as well
2021-04-03Fix inversion of snapping failing in measure toolGermano Cavalcante
Comparison of event change has to be more specific and compare the x and y values of the mouse as well.
2021-04-03Fix T87162: Measure Tool Not WorkingGermano Cavalcante
The non-enabled gizmo was overwriting the projected coordinate value.
2021-04-03UI: Align Spreadsheet Booleans to CenterHarley Acheson
Aligning spreadsheet Booleans to the middle of their cells. Differential Revision: https://developer.blender.org/D10882 Reviewed by Hans Goudey
2021-04-02Geometry Nodes: Separate grid primitive X and Y sizeHans Goudey
Since you can already specify a separate size for X and Y with the grid node, it makes sense to be able to specify the size separately for each axis also. This also avoids some awkward math with a Transform node afterwards when you want a specific size for each direction. Versioning (except for animation and drivers) is handled in this commit. Differential Revision: https://developer.blender.org/D10834
2021-04-02GPencil: Prevent RNA assignment of invalid materials in modifiersPhilipp Oeser
Materials used in grease pencil modifiers have the requirement that they are already used on the object. In the UI dropdown, this restriction is ensured by calling uiItemPointerR with appropriate searchptr and searchpropname, so only giving the user the choice of materials already used on the object. From python though, it was still possible to assign materials outside of this this restriction. This led to reports like T86981 [which have been partially solved by clamping the material index in the modifier code to be in the valid range]. Now make sure we dont assign "invalid" materials through RNA by appropriate RNA pointer functions. This also adds a proper warning (red, alert) in case of the LineArt modifier if such a invalid material is still in the file [same as other modifiers already do]. Differential Revision: https://developer.blender.org/D10873
2021-04-02Fix T86654: wrong Vertex Interpolation option default when importing alembic ↵Philipp Oeser
caches This resulted in bad motion blur from alembic animation when imported after rB83980506957c (because it was now OFF by default). When imported in a version prior to rB83980506957c and saved, this was still working fine. Vertex interpolation option introduced in rBbab2260b59c7 was defaulting to ON (correct) in that commit, but was lost in rB83980506957c. Now switch this to ON by default again. Note: if you have a file that was (incorrectly) imported with a version after rB83980506957c you'll have to enable Vertex Interpolation option on every MeshSequenceCache modifier by hand. Maniphest Tasks: T86654 Differential Revision: https://developer.blender.org/D10876
2021-04-02Geometry Nodes: Allow float input for point scale nodeHans Goudey
This allows easily changing the scale attribute with a uniform scale within a single simple node.
2021-04-02Geometry Nodes: Change point translate and scale node defaultsHans Goudey
Since these nodes are usually used for more basic operations and the attribute nodes are used when more complexity is necessary, it makes sense to give these nodes more accessible defaults-- hopefully this can make learning about the core concepts of geometry nodes a bit easier.
2021-04-02UI: Align Spreadsheet Reals and Integers to RightHarley Acheson
Aligning spreadsheet cell numbers to the right to aid readability. Differential Revision: https://developer.blender.org/D10871 Reviewed by Hans Goudey
2021-04-02Cleanup: Remove blender namespace from Map.Jeroen Bakker
2021-04-02Cleanup: remove loading blender namespace from Vector.Jeroen Bakker
2021-04-02Cleanup: Added leading `e` to enum types.Jeroen Bakker
2021-04-02Cleanup: rename eChunkExecutionState to eWorkPackageState.Jeroen Bakker
2021-04-02Compositor: stream operators for WorkPackages.Jeroen Bakker
Helps developers during debugging.
2021-04-02Compositor: Debug stream operator.Jeroen Bakker
Stream operators for NodeOperator and ExecutionGroup to help during debugging.
2021-04-02Fix T84520: Make the different weight paint code paths exclusive to each otherSebastian Parborg
Before this change, you could have the new sculpt symmetry code and the older weight paint symmetry code active at the same time. This would lead to users easily trashing their weigh paint data if they were not careful when switching between modes. Now the specific weight paint symmetry code is an exclusive toggle so the user can't accidentally mirror strokes and vertex groups at the same time. This also paves the way of supporting Y and Z symmetry in the future for weight groups mirroring if we decide to add it in the future. Reviewed By: Sybren Differential Revision: http://developer.blender.org/D10426
2021-04-02Fix T87131: SVG as GPencil elements with both Stroke and Fill failsAntonio Vazquez
The importer was not checking if both were enabled. Now a new material is created if it's needed.
2021-04-02BKE: attempt to fix build error on windowsAnkit Meel
2021-04-02Fix T86874: Wireframe not drawing for geometry node mesh primitivesKris
The following primitives needed ME_EDGEDRAW, ME_EDGERENDER edge flags: * Grid * Circle Set flags on the inside edges for grid and circle triangle fan (mesh primitive nodes) so they are visible and selectable. Reviewed By: HooglyBoogly Differential Revision: https://developer.blender.org/D10878
2021-04-02Modifiers: Fix build error with GMPAnkit Meel
2021-04-02Cleanup: Remove unecessary C API for direct mesh booleanHans Goudey
The main goal here is to remove the need for a C API to the code in `mesh_boolean_convert.cc`. This is achieved by moving `MOD_boolean.c` to C++ and making the necessary changes for it to compile. On top of that there are some other slight simplifications possible to the direct mesh boolean code: it doesn't need to copy the material remaps, and the modifier code can use some other C++ types directly.
2021-04-02Cleanup: Use const argumentsHans Goudey
2021-04-02Cleanup: Remove unused code in boolean modifierHans Goudey
The old path that didn't skip the conversion to and from BMesh for the exact solver was not yet removed from this file. At this point no problems have came up in the new implementation, so it's safe to remove it.
2021-04-02Cleanup: Remove unecessary part of instances component C APIHans Goudey
Now that object_dupli.cc is a C++ file, we don't have to have a specific function to retrieve the instance data from the geometry set.
2021-04-01Cleanup: Move object_dupli.cc to C++Hans Goudey
This will hopefully allow more refactoring in the future to improve the instancing system, especially how it relates to geometry nodes instances.
2021-04-01Geometry Nodes: Improve speed of boolean node, use multi-input socketHans Goudey
This commit improves the performance of the node by up to 40% in some cases when there are only two input meshes, mainly by skipping the conversion to and from BMesh. When there are more than two input meshes (note the distinction from "Geometries", a geometry set can have many mesh instances), the performance is actually worse, since boolean currently always does self intersection in that case. Theoretically this could be improved in the boolean code, or another option is automatically realizing instances for each input geometry set. Another improvement is using multi-input sockets for the inputs, which removes the need to have a separate boolean node for every operation, which can hopefully simplify some node trees. The changes necessary for transforms in `mesh_boolean_convert.cc` are somewhat subtle; they come from the fact that the collecting the geometry set instances already gives transforms in the local space of the modifier object. There is also a very small amount of cleanup to those lines, using `float4x4::identity()`. This commit also fixes T87078, where overlapping difference meshes makes the operation not work, though I haven't investigated why. Differential Revision: https://developer.blender.org/D10599
2021-04-01Cleanup/Refactor: Use flags instead of bool to configure the snap gizmoGermano Cavalcante
This simplifies the addition of future improvements. Also make it more practical to expose as a parameter of gizmo for Python.
2021-04-01Cleanup: Remove unused enum value in editmesh_knife.cGermano Cavalcante
2021-04-01Fix compilation error: "too many arguments to function"Germano Cavalcante
Seem on linux. Caused by rB6ec463a4b754bf69baf94ba6b3683655f6834ccd
2021-04-01Cleanup/Refactor: Transform Orientation: Use 'orient_index' instead ↵Germano Cavalcante
'orient_type' `orient_index` is a more comprehensive value as it reveals both the type and index. Differential Revision: https://developer.blender.org/D9595
2021-04-01Fix T87065: Deformed Lattice undeforms after setting keyframeSybren A. Stüvel
Handle Lattice object the same way as Mesh objects. This is mostly to execute the `object->data = data_eval;` line, which ensures that the evaluated mesh is assigned to the evaluated object, and thus prevents the lattice from un-deforming.
2021-04-01Cleanup: typo fix in commentSybren A. Stüvel
No functional changes.
2021-04-01BLI: rename resource collector to resource scopeJacques Lucke
Differential Revision: https://developer.blender.org/D10857
2021-04-01Curve: Remove 'CU_2D' flag used for nurbsGermano Cavalcante
This fixes T86440 As the CU_2D flag is set for nurbs, a Curve can have 2D nurbs mixed with 3D. But the UI does not allow this mixing. It updates all nurbs to 2D or 3D when set. So remove this specific flag for nurbs. This may break old files, since 2D curves with mixed 3D are now set as 3D. Differential Revision: https://developer.blender.org/D10738
2021-04-01Cleanup: use bool instead of intJacques Lucke