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-09Cleanup: reduce variable scopeJacques Lucke
2020-09-09Geometry: add Attributes panel for PointCloud and HairBrecht Van Lommel
There is a list of attributes, along with operators to add and remove attributes. For adding, there are a few standard attributes that can be added quickly, as well as a popup to create a custom attribute. Ref T76659 Differential Revision: https://developer.blender.org/D8636
2020-09-09Fix material null pointer reference in buttons_context.cSebastian Parborg
ASAN reported null pointer access when converting a mesh to curves. Check if the material is a null pointer before trying to use it.
2020-09-09Cleanup: Rename public "bUnit" functionsHans Goudey
This commit renames the functions in "BKE_unit.h` to be consistent with the naming in the rest of blenkernel. bUnit_AsString -> BKE_unit_value_as_string_adaptive bUnit_AsString2 -> BKE_unit_value_as_string bUnit_ReplaceString -> BKE_unit_replace_string bUnit_ApplyPreferredUnit -> BKE_unit_apply_preferred_unit bUnit_ToUnitAltName -> BKE_unit_name_to_alt bUnit_ClosestScalar -> BKE_unit_closest_scalar bUnit_BaseScalar -> BKE_unit_base_scalar bUnit_IsValid -> BKE_unit_is_valid bUnit_GetSystem -> BKE_unit_system_get bUnit_GetBaseUnit -> BKE_unit_base_get bUnit_GetBaseUnitOfType -> BKE_unit_base_of_type_get bUnit_GetName -> BKE_unit_name_get bUnit_GetNameDisplay -> BKE_unit_display_name_get bUnit_GetIdentifier -> BKE_unit_identifier_get bUnit_GetScaler -> BKE_unit_scalar_get bUnit_IsSuppressed -> BKE_unit_is_suppressed Differential Revision: https://developer.blender.org/D8828
2020-09-09Fix T80464: Crash deleting bone constraints when the armature layer isPhilipp Oeser
not active Caused by {rB608d9b5aa1f1} Prior to rB608d9b5aa1f1, the constraint was gotten using **context** [CTX_data_pointer_get_type(C, "constraint", &RNA_Constraint) -- which is valid for bones on hidden layers]. After rB608d9b5aa1f1, the constraint is found (or isnt) using `edit_constraint_property_get` [this is **not** valid for bones on hidden layers because internally `BKE_pose_channel_active` checks if the bone is on an active layer]. Some observations: - Every operator using `edit_constraint_property_get` doesnt work for bones on inactive layers [delete, moveup, movedown, move to index (drag n drop nowadays)] -- moveup, movedown, move to index check if they could find a constraint beforehand though (dont crash) -- delete crashes (doesnt check if a constraint could actually be found) - Every operator using `edit_constraint_property_get` for constraint data doesnt work for bones on inactive layers [stretchto_reset, limitdistance_reset, childof_set_inverse, ...] -- these all check if they could find a constraint beforehand though (dont crash) This is because the poll function is using **context** to get the constraint, the operators themselves use **edit_constraint_property_get** which leads to inconsistent/unexpected results. Possible solutions were: - [1] let the delete operator just work with the context constraint again (like prior to rB608d9b5aa1f1) -- allows for deleting constraints on bones in inactive layers - [2] check if we could get a constraint -- prevents the crash, but does **not** allow for deleting constraints on bones in inactive layers - [3] make the poll `edit_constraint_poll_generic` be as strict as the operators -- dont use **context** to get the constraint, but something like **edit_constraint_property_get** - [4] make the operators be more graceful and let them act on bones on hidden layers -- let **edit_constraint_property_get** actually use the same **context** This patch implements [4], so poll an doperators are now in sync. - prevents reported crash - also enables operators for bone constraints on hidden layers - also enables drag and drop reordering of constraints on hidden layers This might be a candidate for 2.90.1? (if it is, take care to include prior "Refactor getting constraints" refactoring commit) Note: Adding constraints also doesnt work for bones on inactive layers [that was the case in 2.79 as well -- it is also using `BKE_pose_channel_active`] Maniphest Tasks: T80464 Differential Revision: https://developer.blender.org/D8805
2020-09-09Refactor getting constraintsPhilipp Oeser
This is the refactoring part of D8805 (should be no functional changes). - exposes pose-related part of former 'get_constraints()' from interface_templates.c to new ED_object_pose_constraint_list - rename ED_object_constraint_list_from_context --> ED_object_constraint_active_list Also clarify comments on both of these. ref T80464 ref https://developer.blender.org/D8805
2020-09-09UI: improve search results by using fuzzy and prefix matchingJacques Lucke
Blender does string based searching in many different places. This patch updates four of these places to use the new string search api in `BLI_string_search.h`. In the future we probably want to update the other searches as well. Reviewers: Severin, pablovazquez Differential Revision: https://developer.blender.org/D8825
2020-09-09Fix T80613: Assert in UI_but_number_precision_setJulian Eisel
-1 is a valid value to pass as RNA float precision. We let the UI code figure out an appropriate precision then. So don't fail the assert if -1 is passed.
2020-09-09Fix T80596: Convert to Curve from Mesh crashes BlenderSebastian Parborg
The point cache code needs a non NULL rbw pointer. This could have been avoided if there was a sanity check in the convert function, so added a check there as well.
2020-09-09Cleanup: use bool instead of intJacques Lucke
2020-09-09Cleanup: spellingCampbell Barton
2020-09-09UI: Rename "VCol" to "Vertex Colors"Aaron Carlisle
2020-09-08Cleanup: Use bool instead of intHans Goudey
2020-09-08Cleanup: reduce variable scopes in node_draw.cJacques Lucke
2020-09-08Alembic Export: support instanced object dataSybren A. Stüvel
Add support for object data instancing. This is used when the objects are instances, for example when duplicated by a particle system, or instanced by the duplication system (collection-duplicating empties, vertex/face duplis, etc.) Since Alembic already deduplicates data, this doesn't make the resulting Alembic files any smaller. They will be faster to write, though, when there is a lot of instanced geometry, as the deduplication system won't have to do any comparisons. This instancing support is still limited, in the sense that only object data is instanced and all transforms are still written explicitly. A future improvement could be to support instancing entire collection hierarchies. Blender's Alembic importer has no understanding of these Alembic instances yet, and will thus happily duplicate the data on import. The USD Alembic plugin seems to have problems understanding the instancing. There might also be other software with similar issues. Because of this, instancing can be turned off in the exporter (it's on by default).
2020-09-08UI: Aesthetic tweaks to Select All by Type operatorPablo Vazquez
* Match menu items with Add Menu (order and naming e.g. Font -> Text) * Use Icons * Remove ellipsis from the name (policy is to use `...` only when triggering a window/popup) No functional changes. Thanks @HooglyBoogly for the help!
2020-09-08Cleanup: reduce variable scopes in drawnode.cJacques Lucke
2020-09-08Cleanup: Refactor `ED_object_parent_set`Sybren A. Stüvel
Refactor `ED_object_parent_set`: - Mark parameters `ob` and `par` as `const` so that it's clear the function doesn't assign any other value to them. - Rename `pararm` to `is_armature_parent`; I mis-read it as `param` all the time, and it was very confusing. - Replace repeated `if-else` statements with `switch` statements. - Reorder preconditions to have some simple checks first. - Flip condition on a huge `if`-statement to return early and unindent the remainder of the function. This function still requires splitting up into smaller functions, but at least this is a step forward. No functional changes.
2020-09-08Cleanup: consistent syntax for doxygen parametersCampbell Barton
Also use back-slash instead of '@'.
2020-09-08GPUFramebuffer: Make GPU_framebuffer_read_depth more flexibleClément Foucault
This is to make use of it in selection code.
2020-09-07UI: Add temperature unitsHans Goudey
Based on the original patch by Vaishnav S (@padthai), this adds support for temperature units. Initially supported units are Celsius, Kelvin, and Fahrenheit. The units aren't used anywhere with this commit. Those changes should happen in separate patches by adding PROP_TEMPERATURE to RNA property definitions. But it should be ensured that the various solvers and simulations actually properly use real units. The complexity of some of the changes comes from the fact that these units have offsets from each other as well as coefficients. This also makes the implementation in the current unit system troublesome. For example, entering 0C evaluates correctly to 273K, but 0C + 0C doubles that result, because each unit value is evaluated separately. This is quite hard to solve in the general case with Blender's current unit system, though, so it is not handled in this commit. Differential Revision: https://developer.blender.org/D4401
2020-09-07GPU: Rename gpu_extensions to gpu_capabilitiesClément Foucault
This makes more sense as this module has more to it than just GL extensions.
2020-09-07Audaspace: port changes from upstream.Joerg Mueller
Adds possibility to report progress during audio mixdown.
2020-09-07Cleanup: Refactor object.parent_set operatorSybren A. Stüvel
Refactor the operator exec function into a few smaller functions. The exec function was mixing up vertex-parent and non-vertex-parent code, including incorrect comments. No functional changes.
2020-09-07Sculpt: Sculpt Trimming gestures toolsPablo Dobarro
This implements Box Trim as a boolean based trimming too gesture in sculpt mode. This is the intended way to remove parts of the sculpt instead of using box mask and mask slice. It also creates new face sets for the new faces created after the boolean operation. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8766
2020-09-07Fix T79914: Grab active vertex using wrong coordinatesPablo Dobarro
This was introduced in the first commit of the cloth brush. In order to support the cloth brush deformations with subsurf modifiers, the sculpt API was changed to return the deformed coordinates from the PBVH instead of the mesh coordinates. When using grab active vertex and rendering the original mesh wireframe it should render the undeformed mesh coordinates when available. Reviewed By: sergey Maniphest Tasks: T79914 Differential Revision: https://developer.blender.org/D8630
2020-09-07Fix Boundary Brush not working with partially hidden meshesPablo Dobarro
Now when a mesh is partially hidden using Face Sets, the open boundary the hidden geometry produces is also detected by the brush. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8819
2020-09-07Fix T80561: Crash when multi-mesh editing UVs with proportional editingJulian Eisel
Because of a `goto` we would free a variable before it was declared. Declare it before the `goto` and `NULL`-check the value before freeing.
2020-09-07Fix T80531: Dope Sheet Shape Key Editor search/filter not workingPhilipp Oeser
Looks like this has just not been implemented before. Use the name matching method used in other Dope Sheet UI modes. Maniphest Tasks: T80531 Differential Revision: https://developer.blender.org/D8824
2020-09-07Cleanup: spellingCampbell Barton
Also correct wrapped lines of example code in threads.cc.
2020-09-07Cleanup: OBJECT_OT_collection_instance_addCampbell Barton
Minor changes to match OBJECT_OT_data_instance_add. - Access properties once & reuse them. - Early exit when the data to instance can't be found.
2020-09-07Cleanup: remove redundant scene argument in BKE_object_addCampbell Barton
2020-09-07Fix OBJECT_OT_data_instance_add creating empty data-blocksCampbell Barton
ED_object_add_type creates empty object data, add ED_object_add_type_with_obdata which can take existing object data.
2020-09-06Viewport: support dropping object-data to create instancesCampbell Barton
This allows orphan object data for example (meshes, curves, etc) to be dropped into the 3D View from the outliner, creating a new object instance. Previously the only way to do this was to add the same type of object then swap it's data through the ID selector drop-down.
2020-09-05Cleanup: clang-formatCampbell Barton
2020-09-05Cleanup: spellingCampbell Barton
2020-09-05Fix T67265: Status bar is overlapped by workspace layoutJulian Eisel
The issue was that the screen geometry calculations scaled down the areas, but the header would become too small. So it would be upscaled again towards the lower screen edge (where the status-bar is at). Now we do another pass over the geometry calculations, until all areas fit into the screen, or until some rather arbitrary maximum is reached. This fixes the issue for common cases. Extreme cases, with many vertically stashed editors and a too small window to show all, are still not too well supported. Blender keeps working but the status-bar is still overlapped. We could deal with this better but what's there now should be good enough.
2020-09-05GPUTexture: Change texture creation APIClément Foucault
This is to modernize the API: - Add meaningful name to all textures (except DRW textures). - Remove unused err_out argument: only used for offscreen python. - Add mipmap count to creation functions for future changes. - Clarify the data usage in creation functions. This is a cleanup commit, there is no functional change. # Conflicts: # source/blender/gpu/GPU_texture.h
2020-09-05Cleanup: GPUTexture: Remove use of GPU_texture_create_nDClément Foucault
Use creation + update function instead.
2020-09-05GPUTexture: Add support for samplersClément Foucault
This just add back the support. This commit also includes a bit of cleanup. # Conflicts: # source/blender/gpu/GPU_texture.h
2020-09-05GPUTexture: Remove bind to edit callsClément Foucault
This is going to be unecessary after the GPU opengl texture backend refactor. For now add a save/restore mechanism to leave the state untouched. Also remove some calls where the caller would bind to particular binding point and set the shader uniform.
2020-09-04UI Code Quality: Use derived struct for number buttonsJulian Eisel
For the man rationale behind this design, see 49f088e2d093. Further, this removes users of uiBut.a1/uiBut.a2, which is a very ugly design choice (hard to reason about). Note that I had to do rather ugly, specific exceptions for the number buttons in `ui_def_but_rna()`. But once all users of a1/a2 are removed, this special handling shouldn't be needed anymore. I also had to move a sanity check out of the button definition. It's now moved into a new debug only sanity checking function executed when finishing the layout definition (block end).
2020-09-04UI Code Quality: Store curve-button gradient type in derived structJulian Eisel
We want to move away from using `uiBut.a1`/`a2`, which is a hard to reason about design. Part of T74432. Also correct comment.
2020-09-04Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fixSebastian Parborg
No functional changes
2020-09-04Cleanup: fix compiler warnings for MSVCBrecht Van Lommel
2020-09-04Curve Profile: Miscellaneous cleanupHans Goudey
- Declare variables where they are initialized - Use consistent variable and static function names - Use helper functions more for common operations - Remove use of BezTriple struct, use CurveProfilePoint instead - Apply small simplifications to code in some situations
2020-09-04Cleanup: Use function pointers in sculpt gesturesPablo Dobarro
This replaces the switch case and operation types with a SculptGestureOperation struct with callbacks. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8798
2020-09-04Cleanup: Use function pointers in geometry extractPablo Dobarro
This replaces the switch case with function pointers to extract masks or face sets. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8796
2020-09-04Cleanup: Clang-Tidy bugprone-incorrect-roundings fixesSybren A. Stüvel
Should cause no noticeable difference.
2020-09-04GPencil: New option to set steps in Interpolate SequenceAntonio Vazquez
Sometimes interpolate all frames is not convenient and it's better, for example, interpolate in twos. The new parameter allows to define the number of frame for each step, by default is set to 1 as before. {F8812621} This is a request of animators to improve interpolate tools. Reviewed By: mendio Maniphest Tasks: T80190 Differential Revision: https://developer.blender.org/D8723 239b0b