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
2022-06-29VSE: Improved Retiming systemRichard Antalik
Patch implements better way to control playback speed than it is possible to do with speed effect. Speed factor property can be set in Time panel. There are 2 layers of control: Option to retime movie to match scene FPS rate. Custom speed factor to control playback rate. Since playback rate is strip property, it is now possible to manipulate strip as normal one even if it is retimed. To facilitate manipulation, some functions need to consider speed factor and apply necessary corrections to strip offset or strip start. These corrections may need to be float numbers, so start and offsets must be float as well. Sound strips now use speed factor instead of pitch. This means, that strips will change length to match usable length. In addition, it is possible to group movie and sound strip and change speed of meta strip.
2022-06-29Sculpt: Fix backwards normals in PBVH_GRIDS raycastingJoseph Eagar
Winding order of grid quads was backwards.
2022-06-28Fix: sampling points on mesh surface generates too many pointsJacques Lucke
2022-06-28Fix T98799: camera unselectable in camera view below a certain scalePhilipp Oeser
The camera frame (used for selection) was drawn outside the near clipping plane in those cases. This has been an issue before as seen in the following commits: - rB6e7e6832e87 - rB33d322873e6 - rB4f9451c0442 Remaining issue was that the code which ensure the frame isn't behind the near clipping plane was not taking into account the camera could be scaled (in Z). A caller of `BKE_camera_view_frame_ex` (namely `OVERLAY_camera_cache_populate`) applies scale (also on the depth) which does not play well with the way `BKE_camera_view_frame_ex` did it. Now take Z scale into account. Ref D15178
2022-06-27Fix T84369: Fluid: Missing cache invalidation when properties on non-domain ↵Germano Cavalcante
objects change The `DEG_OB_COMP_TRANSFORM` and `DEG_OB_COMP_GEOMETRY` relations between the **Domain** object and the **Flow**, **Effector** and **Force Field** objects are added in the `updateDepsgraph` callback of the Fluid modifier, more specifically in `DEG_add_collision_relations`. The node linked to these components is the `POINT_CACHE` whose assigned function is `BKE_ptcache_object_reset`. So include the `eModifierType_Fluid` modifier in outdated cache checks. Reviewed By: sergey, zeddb Maniphest Tasks: T84369 Differential Revision: https://developer.blender.org/D15210
2022-06-27Sculpt: Fix backwards normals in PBVH_GRIDS raycastingJoseph Eagar
Winding order of grid quads was backwards.
2022-06-27Cleanup: spelling in commentsCampbell Barton
2022-06-25Fix: crash when converting zero legacy curvesJacques Lucke
The issue was that the "radius" lookup below fails, because there is no curve data. Arguably, it should be possible to add attributes even when there is no data. However, the rules for that are a bit loose currently. A simple fix is to just not run the conversion code when there is nothing to convert.
2022-06-25Geometry Nodes: Field on Domain NodeHans Goudey
As described in T98943, this commit adds a node that can evaluate a field on a separate domain in a larger field context. This is potentially useful in many cases, to avoid relying on a separate capture attribute node, which can make it easier to build reusable fields that don't need geometry inputs. Internally, the node just evaluates the input field in the larger field context and then uses the generic domain interpolation, so the code is simple. One future optimization might be using the input selection to only evaluate part of the input field, but then the selection has to be interpolated as well, and that might not always be worth it. Differential Revision: https://developer.blender.org/D15289
2022-06-25Curves: Skip CurveEval in legacy curve conversionHans Goudey
Currently when converting from the legacy curve type to the new type, which happens during evaluation of every legacy curve object, the `CurveEval` type is used as an intermediate step. This involves copying all data twice, and allocating a bunch of temporary arrays. It's also another use of `CurveEval` that has to be removed before we remove the type. The main user difference besides the subtlety described below will be improved performance. **Invalid Handles and Types** One important note is that there are two cases (that I know of) where handles and handle types can be invalid in the old curve type. The first is animation, where animated handle positions don't necessary respect the types. The second is control points with a single aligned handle that didn't necessarily align with the other. In master (partially on purpose) the code corrects the first situation (which caused T98965). But it doesn't correct the second situation. It's trivial to correct for the second case with this patch (because of the eager calculation decided on in D14464), but this patch makes the choice not to correct for //either//. Though not correcting the handle types puts curves in an invalid state, it also adds flexibility by allowing that option. Users must understand that any deformation may correct invalid handles. Fixes T98965 Differential Revision: https://developer.blender.org/D15290
2022-06-25Geometry Nodes: Add Points NodeJohnny Matthews
This node takes a point count,a vector field, and float field and creates a pointcloud with n points at the positions indicated in the vector field with the radii specified in the float field.The node is placed in the "Point" menu. Differential Revision: https://developer.blender.org/D13920 Maniphest Task: https://developer.blender.org/T93044
2022-06-25Fix T98949: Deleting vertex group in geometry nodes affects othersHans Goudey
The vertex group indices stored in the weights need to be accounted for when the vertex group list on the mesh changes.
2022-06-25Cleanup: Remove unused argumentHans Goudey
2022-06-24Fix: Incorrect dirty normal tag after mesh translationHans Goudey
Mistake in 54182e4925de4ee. The dirty flag was always cleared, but we only want to clear it after translating a mesh if it normals were already non-dirty.
2022-06-24Fix T99058: geometry nodes ignore if subdivision surface modifier is disabledBrecht Van Lommel
It was looking up the last modifier in the stack, ignoring visibility, instead of mesh->runtime.subsurf_runtime_data set by the modifier evaluation and used by the drawing code.
2022-06-24Fix T98925: Editor panels are brokenRichard Antalik
Commit 277fa2f441f4 added channels region to unintended editors if sequencer was used in area. This caused issues with some editors having 2 tool regions and non functioning side panel. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D15253
2022-06-23Cleanup: Make function staticHans Goudey
2022-06-23Mesh: Add an explicit "positions changed" functionHans Goudey
We store various lazily calculated caches on meshes, some of which depend on the vertex positions staying the same. The current API to invalidate these caches is a bit confusing. With an explicit set of functions modeled after the functions in `BKE_node_tree_update.h`, it becomes clear which function to call. This may become more important if more lazy caches are added in the future. Differential Revision: https://developer.blender.org/D14760
2022-06-23Animation: Add function to remove all FCurves from an ActionColin Basnett
Add a `BKE_action_fcurves_clear(action)` function, which removes all the Action's FCurves, and expose it as `ActionFCurves.clear()` in RNA. This is more ergonomic than calling `remove` on f-curves until the list is empty. Reviewed By: sybren Differential Revision: https://developer.blender.org/D14660
2022-06-23Cleanup: Clang tidyHans Goudey
Mainly duplicate includes and else after return.
2022-06-22Cleanup: remove unused sculpt texture cache generationBrecht Van Lommel
This has not been used since 5505697ac in 2010.
2022-06-22Fix T98956: Crash removing some builtin attributesHans Goudey
For example, the "id" attribute is stored as a named attribute. If it doesn't exist already, `layer_index` was uninitialized, causing issues with `CustomData_free_layer`. The fix is to use the generic function to free a named layer in that case. Eventually the other case will go away as T95965 is finished.
2022-06-22Cleanup: Remove unused function argumentsSergey Sharybin
Solves the corresponding compiler warning.
2022-06-22Cleanup: clang-formatSergey Sharybin
2022-06-22Revert "LibOverride: Handle dependencies in both directions in partial ↵Dalai Felinto
override cases." This reverts commit f0b4aa5d59e3b3754bfcf3827f7524d34c809c62. This commit was making files to get bigger and bigger every time they were saved and re-opened. In the orphaned data in the outliner new collections would show up there, even after continuously purging it. This would lead to a massive file which get also very slow. This problem will fix itself after a few re-open/re-saves of the files. For anyone also experimenting this you can fix this faster by purging the unused data multiple times in the file. Example of file from the Project Heist (rev. 1014): heist/pro/shots/010_opening/010_0050/010_0050.anim.blend
2022-06-22Mask Editor: Add toggle for mask spline drawingSimon Lenz
Adds an overlay option to show/hide the spline points & lines of masks in the Mask Editor. It also moves the "smooth" option up (its position left of the selection dropdown was missleading). {F11847272} This emerged from a discussion in https://developer.blender.org/D12776 Differential Revision: https://developer.blender.org/D13314
2022-06-22Rigid body physics: Move effector force update into substep loop.Lukas Tönne
The substep loop for rigid bodies causes unequal effects of force fields depedending on the substep setting, larger substep counts cause a diminishing effect of force fields. This is because the force to apply on a body is reset in Bullet after each step and needs to be recomputed. Without this the body will just coast with constant velocity after the first substep. Since the per-step impulse with larger substep counts is smaller, the effect is that more substeps cause a smaller total impulse. The fix is to move external force calculation into the substep loop and update forces for each substep. Note that this may be considered a breaking change, because the breaking commit rB1aa54d4921c2 has been in master for a long time and after this fix force fields will generally have a much larger effect on rigid bodies (10x for the default setting of 10 substeps). Differential Revision: https://developer.blender.org/D15173
2022-06-21Cleanup: removed unused Blender Internal bump/normal mapping texture codeBrecht Van Lommel
The TexResult.nor output does not appear to be used anywhere.
2022-06-21NLA: when searching for active track/strip, shortcut when none is activeSybren A. Stüvel
In the `update_active_track()` function, add a shortcut that just sets `NULL`, instead of searching for `NULL` pointers. Should give a tiny speedup.
2022-06-21Fix 2 for T98700: Crash when recursively nesting NLA meta stripsSybren A. Stüvel
When searching for the active NLA strip, avoid overwriting the found strip pointer with NULL if it was already found in a previous iteration. The active strip is searched for while looping over the NLA tracks. If the active strip was found on a previous track, and not on the current track, this would effectively set `actstrip = NULL`. This is now avoided. Another benefit is that the search for the active strip is stopped as soon as it's found, which should increase performance a tiny bit.
2022-06-21NLA: update comment to reflect the current implementationSybren A. Stüvel
No functional changes.
2022-06-21NLA: add `BLI_assert_msg()` to check for assumptionSybren A. Stüvel
`find_active_strip_from_listbase()` expects two lists of strips with an equal number of items. This is now not only documented, but also checked for in an assertion.
2022-06-20Cleanup: Grammar: a vs anHans Goudey
2022-06-20Fix: assert when deleting all curvesJacques Lucke
2022-06-20Mask Editor: Add mask blending factor for combined overlaySimon Lenz
This adds a new parameter to the "Combined" overlay mode of the mask editor. The "blending factor" allows users to blend the mask exterior with the original footage to visualise the content of the mask in a more intuitive way. The "Alpha" overlay is unaffected by this change. The existing "Combined" overlay is used like before (covering everything outside the mask in black), but can be blended with the slider in the mask overlay to look at the exterior. This is part of an effort to make mask editing more intuitive & easy to use: https://developer.blender.org/T93097 Differential Revision: https://developer.blender.org/D13284
2022-06-18Constraints: handle the custom target at the constraint level.Alexander Gavrilov
Since the custom target is a feature implemented at constraint level, it is more appropriate to handle it in the common wrapper functions, instead of modifying all the type specific callbacks like get_constraint_targets and flush_constraint_targets. Also, tag the special target with a flag so other code can handle it appropriately where necessary. This was split from D9732, and effectively reverts and refactors part of D7437. This patch should cause no functional changes. Differential Revision: https://developer.blender.org/D15168
2022-06-17Cleanup: compiler warningsBrecht Van Lommel
2022-06-17Curves: refactor Add brushJacques Lucke
This splits out the code that samples points on a surface and the code that initializes new curves. This code will be reused by D15134. Differential Revision: https://developer.blender.org/D15216
2022-06-17LibOverride: Handle dependencies in both directions in partial override cases.Bastien Montagne
When creating etc. a liboverride based on a partial hierarchy pre-selection (e.g: override hierarchy on the rig object of a character), now all linked data also using that rig (e.g. all meshes deformed by that armature) will also automatically be overridden. This si achieved by following dependencies in the reversed order (from used IDs to using IDs) when we find one tagged for override.
2022-06-17BKE_main: Relations: Add `TO`/`FROM` variants of processed flags.Bastien Montagne
In some cases, it can be usefull to distinguish when an entry has been processed in which direction (`to` when handling ID pointers used by the entry, `from` when handling ID using this entry). Previous `MAINIDRELATIONS_ENTRY_TAGS_PROCESSED` tag is now a combination of the two new ones.
2022-06-17Geometry Nodes: new Volume Cube nodeChris Clyne
This commit adds a Volume Cube primitive node. It outputs a volume that contains a single "density" float grid. The density per voxel can be controlled with a field that depends on the voxel position (using the existing Position node). Other field inputs are not supported. The density field is evaluated on every voxel. Possible future improvements are listed in D15198. Differential Revision: https://developer.blender.org/D15198
2022-06-17Cleanup: remove redundant string formattingCampbell Barton
2022-06-17Cleanup: spelling in commentsCampbell Barton
2022-06-17Cleanup: unused variable warningCampbell Barton
2022-06-16Geometry Nodes: add 'Intersecting Edges' output for boolean nodePhilipp Oeser
This patch adds a 'Intersecting Edges' output with a boolean selection that only gives you the new edges on intersections. Will work on a couple of examples next, this should make some interesting effects possible (including getting us closer to the "bevel- after-boolean-usecase") To achieve this, a Vector is passed to `direct_mesh_boolean` when the iMesh is still available (and intersecting edges appended), then from those edge indices a selection will be stored as attribute. Differential Revision: https://developer.blender.org/D15151
2022-06-16Fix T98796: avoid unnecessary mesh copyJacques Lucke
The call to `get_component_for_write` would sometimes copy the mesh even when the mesh is replaced with itself. The `replace_mesh` method handles that case already, so just use that instead.
2022-06-15Fix missing translation hint in tracking codeSergey Sharybin
Is likely harmless due to Camera being covered by other areas, but is still good to do a proper hint.
2022-06-15GPencil: Fix crash when using time offset modifierFalk David
This fixes a mistake in 60bf561d379a, which did not account for offset frames by the time offset modifier.
2022-06-15Fix T98853: Blender crashes when moving grease pencil object has any ↵filedescriptor
invisible layers Whats happening is that the modifier keeps adding new frames to the evaluated object resulting in an exponential increase. This is because when preparing the data for the modifiers we only copy visible strokes to the eval object. But the modifiers do not consider visibility and will generate the mirrored strokes even for layers that are hidden. Because those layers have not been copied (only their structure) we run into this issue. The solution is always copy the active frame of all layers (even if the layer is hidden).
2022-06-15Clip editor: Default to average error sort in dopesheetSergey Sharybin
This is what we agreed on during the workshop. Differential Revision: https://developer.blender.org/D15194