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
2020-09-07Cleanup: remove redundant scene argument in BKE_object_addCampbell Barton
2020-09-02Cleanup: use bool instead of int in various placesJacques Lucke
2020-08-18Mesh: merge `mesh_create_eval_final_{view,render}` functionsSybren A. Stüvel
Functions `mesh_create_eval_final_view()` and `mesh_create_eval_final_render()` were doing the exact same thing, except for a hack introduced in d3eb9dddd6b4 (2012-10-08, Better fix for T32846: dupligroup messes up particle instancing on rendering) that appears to be no longer necessary. Besides that, these functions had confusing names. Their functionality changed over time, and whether to do for-render or for-viewport evaluation is now actually determined by the depsgraph evaluation mode. This means that the `..._render` function could evaluate a mesh with viewport settings, and vice versa. The functions are now merged into `mesh_create_eval_final()`, and the hack has been removed. The `OB_NO_PSYS_UPDATE` flag has been removed entirely (instead of keeping it around as deprecated flag), because it was always only temporarily set on objects during mesh evaluation and thus not saved to the blend file. No expected functional changes as far as users are concerned.
2020-08-12Merge branch 'blender-v2.90-release' into masterBastien Montagne
2020-08-12LibOverride and modifiers: Add copying of linked modifiers.Bastien Montagne
It also enables copying of linked modifiers (generating new local ones).
2020-08-12Merge branch 'blender-v2.90-release' into masterBastien Montagne
2020-08-12Fix part of T79635: Disable by default operation on unknown mod from ↵Bastien Montagne
liboverride object. It is unfortunate that we cannot get active modifier from context when operator is called from a shortcut, but we'd need an event for this to work... So for now forbid any modifier operation of liboverride objects in that case.
2020-08-07Cleanup: Blenlib, Clang-Tidy else-after-return fixes (incomplete)Sybren A. Stüvel
This addresses warnings from Clang-Tidy's `readability-else-after-return` rule in the `source/blender/blenlib` module. Not all warnings are addressed in this commit. No functional changes.
2020-08-03Merge branch 'blender-v2.90-release'Philipp Oeser
2020-08-03Fix T78536: Crash calling object.modifier_apply on an emptyPhilipp Oeser
Caused by rB6add0cc88a0d. Maniphest Tasks: T78536 Differential Revision: https://developer.blender.org/D8440
2020-08-03Ocean Modifier: Add viewport resolutionPhil Stopford
Following work done in 2.83, the resolution control is now a real level-of-detail parameter. It is now useful to be able to set the resolution for display independently from render. This is true for both mesh generation and mesh deformation modes. For compatibility with old scenes, resolution is retained and is the render resolution. Old modifiers loaded have the value of resolution also applied to viewport resolution. This allows newer modifiers to be used in older versions without trouble Differential Revision: https://developer.blender.org/D8336
2020-07-21Cleanup: CodeQuality: Replace OB_DRAWXRAY by OB_DRAW_IN_FRONTClément Foucault
This is to match the option name and to avoid confusion with workbench xray mode.
2020-07-20T77086 Animation: Passing Dependency Graph to DriversSybren A. Stüvel
Custom driver functions need access to the dependency graph that is triggering the evaluation of the driver. This patch passes the dependency graph pointer through all the animation-related calls. Instead of passing the evaluation time to functions, the code now passes an `AnimationEvalContext` pointer: ``` typedef struct AnimationEvalContext { struct Depsgraph *const depsgraph; const float eval_time; } AnimationEvalContext; ``` These structs are read-only, meaning that the code cannot change the evaluation time. Note that the `depsgraph` pointer itself is const, but it points to a non-const depsgraph. FCurves and Drivers can be evaluated at a different time than the current scene time, for example when evaluating NLA strips. This means that, even though the current time is stored in the dependency graph, we need an explicit evaluation time. There are two functions that allow creation of `AnimationEvalContext` objects: - `BKE_animsys_eval_context_construct(Depsgraph *depsgraph, float eval_time)`, which creates a new context object from scratch, and - `BKE_animsys_eval_context_construct_at(AnimationEvalContext *anim_eval_context, float eval_time)`, which can be used to create a `AnimationEvalContext` with the same depsgraph, but at a different time. This makes it possible to later add fields without changing any of the code that just want to change the eval time. This also provides a fix for T75553, although it does require a change to the custom driver function. The driver should call `custom_function(depsgraph)`, and the function should use that depsgraph instead of information from `bpy.context`. Reviewed By: brecht, sergey Differential Revision: https://developer.blender.org/D8047
2020-07-09Fix T78718: Crash when deleting particle system modifier with the X Shortcut.Bastien Montagne
Duplication and deletion code of modifiers was totally wrong for particle system, that special weird thing needs its own custom management. Note that for now I chose not to duplicate the particle settings ID when duplicating the modifier...
2020-07-08Apply Modifier: support applying as shape key and keeping the modifier.Alexander Gavrilov
This can be useful to save the result of a cloth simulation as a shape key without destroying the simulation, so it's possible to e.g. re-run it to get other shapes, or simply use the new shape key to start the simulation already in a draped state. It also makes sense to allow applying as shape key even when the mesh is shared, because the operation itself just adds a shape key. To support this, split the apply operator into Apply and Apply As Shapekey so that they can have different poll callbacks. Differential Revision: https://developer.blender.org/D8173
2020-07-03Cleanup: Editors/Object, Clang-Tidy else-after-return fixesSybren A. Stüvel
This addresses warnings from Clang-Tidy's `readability-else-after-return` rule in the `source/blender/editors/object` module. No functional changes.
2020-06-30LibOverride: Fix lots of poll functions for Object operators.Bastien Montagne
Prevent operators that should not perform on override data to be callable in those cases.
2020-06-30UI: Add shortcuts for grease pencil modifier panelsHans Goudey
See rB1fa40c9f8a81 for more details. The implementation is the same. The only difference to the mesh modifier commit is a slight rework of edit_modifier_invoke_properties in order to pass through to check for other keymap items with the same shortcut.
2020-06-29UI: Add shortcuts for modifier panelsHans Goudey
The shortcuts act on the modifier with its panel under the mouse. The following shortcuts are enabled by default: - Remove modifier: X, Delete - Apply modifier: Ctrl A - Duplicate modifier: Shift D More shortcuts can be added in the keymap. Each panel can now store a custom data RNA pointer, and a new function is added to get the custom data for the panel under the cursor. This custom data could be used to refactor the "List Panel System" to generalize it and integrate it further with RNA. The same functionality will be added in further commits where it applies to constraints, grease pencil modifiers, and effects. Differential Revision: https://developer.blender.org/D8031
2020-06-10UI: More specific modifier move to index operator descriptionHans Goudey
2020-06-05UI: Drag and Drop Modifiers, Layout UpdatesHans Goudey
This patch implements the list panel system D7490 for modifiers. It also moves modifier drawing to a callback in ModifierTypeInfo in line with the extensible architecture refactoring goal T75724. This adds a PanelRegister callback and utilities for registering panels and subpanels. It also adds the callbacks for expansion saving and drag and drop reordering described in D7490. These utilities, callbacks, and other common UI elements shared between modifiers live in MOD_ui_common.c. Because modifier buttons are now in panels, we can make use of subpanels for organization. The UI layouts also use the single column layout style consistently used elsewhere in Blender. Additionally, the mode-setting buttons are aligned and ordered consistently with the outliner. However, the large number of UI changes in this patch may mean that additional polishing is required in master. Thanks to William Reynish (@billreynish) who did a fair amount of the layout work and to Julian Eisel (@Severin) for consistent help. Differential Revision: https://developer.blender.org/D7498
2020-05-25Cleanup: typoJacques Lucke
2020-05-08Cleanup: clang-formatCampbell Barton
2020-05-08Fix T76498: Refactoring - Rename BKE modifiers funtionsAntonio Vazquez
2020-05-04Merge branch 'blender-v2.83-release'Sergey Sharybin
2020-05-04Revert "Fix T76313: Redo in Multires doesn't bring back stroke made after a ↵Sergey Sharybin
subdivide" The fix was actually missing few bits: - Firstly, the operator itself is not to do UNDO push - Secondly, multires sculpt/top level are not pushed to the undo node, so undo can not happen reliably. It should be possible to incorporate some of the work from WIP patch for propagation undo, but it needs more work. Reverting code base to the previous state, since currently things are actually a bit more confusing then they used to be. This reverts commit 0c928087a3c8a4f758a907fe3096346f88d678c9.
2020-05-04Merge branch 'blender-v2.83-release'Sergey Sharybin
2020-05-04Fix T76313: Redo in Multires doesn't bring back stroke made after a subdivideSergey Sharybin
Differential Revision: https://developer.blender.org/D7620
2020-04-30Multires: Subdivide Simple and Subdivide LinearPablo Dobarro
This introduces two alternative subdivision modes that generates displacement on the grids that look as Simple subdivisions but while using the Catmull-Clark subdivision type in the modifier. This way, Simple and Catmull-Clark subdivision can be combined when creating new levels if needed, for example, to sculpt hard surface objects. Subdivide simple smooths the sculpted data when creating a new subdivision level. Subdivide linear also preserves the sharpness in the sculpted data. Reviewed By: sergey Differential Revision: https://developer.blender.org/D7415
2020-04-30Multires: Unsubdivide and Rebuild SubdivisionsPablo Dobarro
This implements the main unsubdivide algorithm which rebuilds a base mesh and extracts the grid's data from a high resolution mesh. It includes the Rebuild Subdivisions operator, which generates all subdivision levels down to the level 0 base mesh. It supports: - Rebuilding an arbitrary number of levels (Unsubdivide) or as many levels as possible down to level 0 in a single step (Rebuild Subdivisions). - Rebuilding with already existing grids. - Meshes with n-gons and triangles - Meshes with more than 2 faces per edge - Base mesh made completely out of triangles - Meshes without poles - Meshes with multiple disconnected elements at the same subdivision level Reviewed By: sergey Differential Revision: https://developer.blender.org/D7372
2020-04-17Cleanup: use colon after doxygen parameters, spellingCampbell Barton
2020-04-16Cleanup: remove unused scene argumentCampbell Barton
2020-04-14Sculpt: Implement undo of Apply Base during sculpt sessionSergey Sharybin
The idea is to push both base mesh geometry and PBVH coordinates so it is possible to undo everything without loosing data which was not flushed from sculpt session to base mesh. It is possible do memory optimization to avoid push custom data layers which are not touched by operator, but before doing that better to ensure this is a correct and working approach. Differential Revision: https://developer.blender.org/D7381
2020-04-03Cleanup: use abbreviated names for unsigned types in editorsCampbell Barton
2020-03-26Fix crashes from various missing checks in operator poll functionsCampbell Barton
Issues exposed by 'bl_run_operators.py' utility.
2020-03-26Cleanup: use doxy sections & add missing sectionsCampbell Barton
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-18Objects: add Volume object type, and prototypes for Hair and PointCloudBrecht Van Lommel
Only the volume object is exposed in the user interface. It is based on OpenVDB internally. Drawing and rendering code will follow in another commit. https://wiki.blender.org/wiki/Source/Objects/Volume https://wiki.blender.org/wiki/Reference/Release_Notes/2.83/Volumes Hair and PointCloud object types are hidden behind a WITH_NEW_OBJECT_TYPES build option. These are unfinished, and included only to make it easier to cooperate on development in the future and avoid tricky merges. https://wiki.blender.org/wiki/Source/Objects/New_Object_Types Ref T73201, T68981 Differential Revision: https://developer.blender.org/D6945
2020-03-13Multires: Fix Subdivide, Reshape and Apply BaseSergey Sharybin
This change fixes artifacts produced by these operations. On a technical aspect this is done by porting all of the operations to the new subdivision surface implementation which ensures that tangent space used to evaluate modifier and those operations is exactly the same (before modifier will use new code and the operations will still use an old one). The next step is to get sculpting on a non-top level to work, and that actually requires fixes in the undo system.
2020-02-24Fix T74099: Can`t apply modifier, if mesh have fake user.Bastien Montagne
Also cleaned up code there, making a proper poll function for the apply modifier operator, that way button is properly disabled in UI itself in most invalid situations.
2020-02-10Cleanup/refactor: Rename `BKE_library` files to `BKE_lib`.Bastien Montagne
Note that `BKE_library.h`/`library.c` were renamed to `BKE_lib_id.h`/`lib_id.c` to avoid having a too generic name here. Part of T72604.
2020-01-21Make ED_object_modifier_add() accept NULL scene parameter.Bastien Montagne
This data is only used to get current time/frame value, which is never mandatory to add a modifier. Needed by incoming fix to support particles modifiers in liboverrides.
2019-11-22Fix T71741: Crash showing the object relations menuCampbell Barton
2019-09-25Fix T69542: Corrective Smooth modifier breaks when drivers are involvedSebastian Parborg
Previously the cache for the modifier would not be invalidated if modifier settings were changed with drivers or keyframes. Now we compare the current setting with the ones used to generate the cache and invalidate the cache if they differ. Reviewed By: Sybren Differential Revision: http://developer.blender.org/D5694
2019-09-17Fix T69809, T69810: sculpt gone or crashing after renderBrecht Van Lommel
Make a distinction between flush sculpt changes for rendering, and forcing sculpt data structures to be rebuilt after mesh changes. Also don't use PBVH for renders.
2019-08-26GPencil: Add missing update of modifiersAntonio Vazquez
This was missing in previous commit for T66294
2019-08-24Transform: option to transform origins in object modeCampbell Barton
Currently supports mesh, armature, lattice, curve & metaballs. Access from pivot popover.
2019-08-23RNA: Cleanup PointerRNA structJacques Lucke
The old layout of `PointerRNA` was confusing for historic reasons: ``` typedef struct PointerRNA { struct { void *data; } id; struct StructRNA *type; void *data; } PointerRNA; ``` This patch updates it to: ``` typedef struct PointerRNA { struct ID *owner_id; struct StructRNA *type; void *data; } PointerRNA; ``` Throughout the code base `id.data` was replaced with `owner_id`. Furthermore, many explicit pointer type casts were added which were implicit before. Some type casts to `ID *` were removed. Reviewers: brecht, campbellbarton Differential Revision: https://developer.blender.org/D5558
2019-08-22Cleanup: typo in last commitCampbell Barton
2019-08-21Cleanup: vertex coordinate access, naming & minor changesCampbell Barton
This also splits vertex access and allocation so it's possible to copy coordinates into an existing array without allocating it.