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
AgeCommit message (Collapse)Author
2021-09-13Fix T84638: Wrong scale for primitives with radiusFalk David
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
2021-09-06Geometry Nodes: support for geometry instancingJacques Lucke
Previously, the Point Instance node in geometry nodes could only instance existing objects or collections. The reason was that large parts of Blender worked under the assumption that objects are the main unit of instancing. Now we also want to instance geometry within an object, so a slightly larger refactor was necessary. This should not affect files that do not use the new kind of instances. The main change is a redefinition of what "instanced data" is. Now, an instances is a cow-object + object-data (the geometry). This can be nicely seen in `struct DupliObject`. This allows the same object to generate multiple geometries of different types which can be instanced individually. A nice side effect of this refactor is that having multiple geometry components is not a special case in the depsgraph object iterator anymore, because those components are integrated with the `DupliObject` system. Unfortunately, different systems that work with instances in Blender (e.g. render engines and exporters) often work under the assumption that objects are the main unit of instancing. So those have to be updated as well to be able to handle the new instances. This patch updates Cycles, EEVEE and other viewport engines. Exporters have not been updated yet. Some minimal (not master-ready) changes to update the obj and alembic exporters can be found in P2336 and P2335. Different file formats may want to handle these new instances in different ways. For users, the only thing that changed is that the Point Instance node now has a geometry mode. This also fixes T88454. Differential Revision: https://developer.blender.org/D11841
2021-08-26Cleanup: redundant update calls adding objectsCampbell Barton
These update calls are already performed by ED_object_add_type_with_obdata.
2021-08-24Fix T90840: Can't duplicate or copy (Ctrl-C) object from linked file.Bastien Montagne
We need to separate the flag telling duplicate code to not handle remapping to new IDs etc., from the one telling the code that we are currently duplicating a 'root' ID (i.e. not a dependency of another duplicated ID). This whole duplicate code/logic is still fairly unsatisfying, think it will need further refactor, or maybe even re-design, at some point...
2021-08-17GPencil: Convert from Mesh copying Vertex GroupsHenrik Dick
This patch adds the missing ability to keep the vertex groups when converting to a grease pencil object. This is increadible useful to create rigged grease pencil objects which move together with rigged meshes. Differential Revision: https://developer.blender.org/D12249
2021-08-04Cleanup: rename restrict to hide/visibility in Object, Collection, MaskLayerBrecht Van Lommel
This makes the internal naming consistent with the public API. And also gives us a visibility_flag rather than restrictflag that can be extended with more flags.
2021-07-09Cleanup: rename BKE_animdata_{add=>ensure}_idCampbell Barton
Use the term `ensure` as existing data is used when present.
2021-07-03Cleanup: consistent use of tags: NOTE/TODO/FIXME/XXXCampbell Barton
Also use doxy style function reference `#` prefix chars when referencing identifiers.
2021-06-28Cleanup: Remove unused "for_orco" argument to curve evaluationHans Goudey
`BKE_displist_make_curveTypes` had a `for_orco` argument that was always false in calls to the function. Removing it allows the curve displist and modifier evaluation code to become simpler. There are some related cleanups in rBdf4299465279 and rB93aecd2b8107.
2021-06-28Cleanup: repeated terms in code comments & error messagesCampbell Barton
2021-06-24Cleanup: comment blocks, trailing space in commentsCampbell Barton
2021-06-22Cleanup: spellingCampbell Barton
2021-06-13Cleanup: use return arg prefix for ED_object_add_generic_get_optsCampbell Barton
2021-06-13Cleanup: avoid the possibility of 'enter_editmode' being left unsetCampbell Barton
While in practice this isn't an issue currently, always set 'enter_editmode' in ED_object_add_generic_get_opts to avoid problems in the future.
2021-06-11Fix object assets getting duplicated after droppingJulian Eisel
The operator run when dropping objects would duplicate the dropped object and place that in the scene, even though that was just appended. Addressed by making the duplication optional for the operator. If the duplication is not requested, the object is just added to the scene (if needed), repositioned based on the drop location and selected (deselecting other objects). This makes the operator work as expected when using it to drop assets. Reviewed as part of https://developer.blender.org/D11536. Reviewed by: Bastien Montagne
2021-06-08Fix T87703: Failed assert when dragging object data-block into 3D ViewJulian Eisel
Talked with Bastien and we ended up looking into this. Issue is that the dupliation through drag & drop should also be considered a "sub-process", like Shift+D duplicating does. Added a comment explaining why this is needed.
2021-05-27Cleanup: rename BKE_main_id_{clear_newpoins => newptr_and_tag_clear}Campbell Barton
It wasn't obvious this function cleared the tag as well.
2021-05-27Cleanup: remove duplicate LIB_TAG_NEW untag codeErik Abrahamsson
This patch removes unnecessary calls to `BKE_main_id_tag_all` where the same job is done by `BKE_main_id_clear_newpoins` on the following line. Reviewed By: campbellbarton, mont29 Ref D11379
2021-05-25GPencil: Add a use_light option when creating object.YimingWu
This option is default off when creating line art objects because line art seldom use lighting and the normal data would be all over the place anyway. Reviewed By: Antonio Vazquez (antoniov) Differential Revision: https://developer.blender.org/D11372
2021-05-20Materials: support materials when applying modifierJacques Lucke
This fixes the `Apply Modifier` and `Visual Geometry to Mesh` operator when a modifier changed materials on the evaluated geometry. This is necessary since rB1a81d268a19f2f1402f408ad1dadf92c7a399607. Differential Revision: https://developer.blender.org/D11303
2021-05-10LineArt: Custom UI for adding GP object.YimingWu
This allows extra options (in-front and stroke order) to be shown when adding line art kind of grease pencil object. Reviewed by: Antonio Vazquez (antoniov) Diff: https://developer.blender.org/D11130
2021-05-09Merge branch 'blender-v2.93-release'Pablo Vazquez
2021-05-09GPencil: Name Scene Line Art objects "Line Art"Pablo Vazquez
Matching Object and Collection line art type objects.
2021-05-06Merge branch 'blender-v2.93-release'Philipp Oeser
2021-05-06Fix radius not taken into account when adding curve guide force fieldPhilipp Oeser
Wrong usage of ED_curve_add_nurbs_primitive from {rBe8f3fa99de81}. Differential Revision: https://developer.blender.org/D11166
2021-04-30Fix all objects getting selected sometimes when droppping objectJulian Eisel
If no other object was selected while dragging one in (e.g. from the Outliner or an object asset from the Asset Browser), all visible objects in the active view layer would get selected. Issue was caused by a wrong enum type use. Mistake in bcdba7c34da0.
2021-04-30Merge branch 'blender-v2.93-release'Campbell Barton
2021-04-30Fix uninitialized local-view flag on object creationCampbell Barton
Local view return argument to ED_object_add_generic_get_opts was left uninitialized.
2021-04-29GPencil: Add "Convert Text to Gpencil"Antonio Vazquez
Currently when you try to convert a Text-object to Grease pencil from the Object-menu or via the operator in some other way, the Text-object is only converted to a Curve. This commit converts that curve to a Grease pencil object. Differential Revision: https://developer.blender.org/D11117
2021-04-29Add break statement missing from 5cb1e18f72077dcb9608a9ec8360caea70fbf329Campbell Barton
2021-04-29GPencil: Add Layer and Material to Blank objectsAntonio Vazquez
Instead to create only the Blank object, now a new Layer and a simple material is added. This is a common request of artists. Reviewed By: mendio, pepeland Differential Revision: https://developer.blender.org/D11110
2021-04-19Cleanup: use 'wmOperator.ptr' in draw functionsCampbell Barton
Draw functions used RNA_pointer_create to create the pointer, however this already exists in the operator.
2021-04-19Fix creating operator properties without an owner_idCampbell Barton
Any dynamic enum access would not use the callback. Always set the owner_id to avoid this causing problems. Oversight in 919558854d624f5db40acfa9f5674ac8c94873b6
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-03-28Cleanup: re-order expensive checks for indirect ID useCampbell Barton
Check for indirect ID use after other simple user count checks are made. Also assert ED_object_base_free_and_unlink_no_indirect_check object argument isn't indirectly used.
2021-03-28Cleanup: revert part of da160dc32d1518dc3e59a8fb7995b59c88870444Campbell Barton
The grease-pencil parent check was enabled when deleting objects, when previously it was only done when unlinking. While harmless, the previous logic is correct.
2021-03-28Fix T86992: Tagged ID deletion conflicts with freeing objectsCampbell Barton
Check LIB_TAG_COPIED_ON_WRITE instead of LIB_TAG_NO_MAIN, matching the behavior of rigid-body shared data.
2021-03-28Workaround T86992: Tagged ID deletion conflicts with freeing objectsCampbell Barton
da160dc32d1518dc3e59a8fb7995b59c88870444 exposed a bug in `BKE_id_multi_tagged_delete` causing a memory leak in soft-body that made `physics_softbody` test fail. Use a loop to remove ID's to keep tests working until T86992 is fixed.
2021-03-27Object: faster object deletionCampbell Barton
The `object_delete_exec` lead to `BKE_library_ID_is_indirectly_used` being called twice. With this patch deleting is around 20% faster. Example when deleting 10000 objects: Current: 35.6s This patch: 18.8s (updated, last rev 29.7s) Reviewed By: campbellbarton Ref D9857
2021-03-26LineArt: Fix unreported material user count error when apply modifierAntonio Vazquez
The number of users was 0 after applying the modifier.
2021-03-24Cleanup: Remove unecessary enum funcsHans Goudey
The separator can be added directly in the enum items rather than in a callback. Differential Revision: https://developer.blender.org/D10806
2021-03-24Fix T86884: Don't remove the "line art object add" enum itemSebastian Parborg
We would not add the "object line art" enum to the operator enum list, if there were no active object in the scene. This would make it impossible to call this operator from python code as the enum would we hidden when we were not in a viewport context. Always make the operator available, having no active object is not a strict requirement for the operator to work, so expose it always.
2021-03-16Grease Pencil: Add LineArt modifierYimingWu
This adds the LineArt grease pencil modifier. It takes objects or collections as input and generates various grease pencil lines from these objects with the help of the active scene camera. For example it can generate contour lines, intersection lines and crease lines to name a few. This is really useful as artists can then use 3D meshes to automatically generate grease pencil lines for characters, enviroments or other visualization purposes. These lines can then be baked and edited as regular grease pencil lines. Reviewed By: Sebastian Parborg, Antonio Vazquez, Matias Mendiola Differential Revision: http://developer.blender.org/D8758
2021-02-24UI: Clean up "Dupli" to "Instance"Yevgeny Makarov
Following the naming conventions defined in T56648, where in this instance there were still a few remaining uses of the old term. Differential Revision: https://developer.blender.org/D9817
2021-02-20Cleanup: doxygen sectionsCampbell Barton
2021-02-14Cleanup: spellingCampbell Barton
2021-02-13Cleanup: spellingCampbell Barton
2021-02-10Cleanup: spellingCampbell Barton
2021-02-05Cleanup: correct spelling in commentsCampbell Barton
2021-01-22Cleanup: spelling, remove outdated/invalid commentsCampbell Barton