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-10-07Animation: always try to match the existing curve when inserting keystemp-fcurve-key-insert-follow-curveSybren A. Stüvel
Previously Blender would only match the existing curve slope when the to-be-inserted key value was already very close to the curve. This check is now removed, allowing for sliders in the graph editor to subtly change the curve, and for keyframes added with ctrl+click to follow the curve better.
2020-10-07CleanUp: DrawManager Balanced alloc/free of surface_per_mat cacheJeroen Bakker
The alloc was done in the init, but the free was done in the discard. As discarding can happen more often there were some unneeded if statements to work around use after free. This patch moves the free to the `mesh_batch_cache_clear` and removes the if statements to check for use after free.
2020-10-07CleanUp: Introduce `eMeshBatchDirtyMode` enumJeroen Bakker
It used to be an `int mode`.
2020-10-07Fix / cleanup panel category tab drawingYevgeny Makarov
The panel category tabs (In the 3D view N-panel) did not look great when zoomed in or with high DPI screens, with multiple overlapping outlines, and roundness that didn't match elsewhere in Blender. In addition, there was some unecessarily low-level drawing code in the panel code. This commit uses an existing function `UI_draw_roundbox_4fv`to draw the tabs instead. There are some slight visual differences, though these are easily adjusted with theme colors. Differential Revision: https://developer.blender.org/D9045
2020-10-07Fix T76595: Indicate the Active Keyframe in Graph EditorHans Goudey
In the graph editor there is a panel that says "Active Keyframe" for numerically editing a keyframe's values, but in the code there is no concept of the "active keyframe." Since this is a useful concept to have for some other features anyway, this commit adds an active keyframe index value to FCurves. It also displays it with a theme color for the active vertex (which didn't exist before) if the FCurve is active. The active keyframe in the graph editor is treated similarly to the active vertex in the 3D view. It is the keyframe most recently selected with a single click, and it is always selected. For now, the only real functional change is that the active keyframe appears in white and it should be more predictable which keyframe is being edited in the sidebar panel. Differential Revision: https://developer.blender.org/D7737
2020-10-07Cleanup: improve integer typesJacques Lucke
Reviewers: mont29, brecht Differential Revision: https://developer.blender.org/D9135
2020-10-07UI: Improve labels in "Convert To" menuYevgeny Makarov
Move the information about the type of the source objects to the item descriptions instead of the names. The extra information in the names made the labels cluttered, and it's less important information. Differential Revision: https://developer.blender.org/D8352
2020-10-07UI: Fix capitalization in various placesYevgeny Makarov
Follow the MLA style, agreed upon in T79589. This means "from" within UI labels should be lowercase. Differential Revision: https://developer.blender.org/D8345
2020-10-07UI: Use property split in various pop-up dialogsYevgeny Makarov
The settings in these popups are not animateable, so also turn off property decorate. And also use better widths in order to fit the full text. Differential Revision: https://developer.blender.org/D9060
2020-10-07Fix T79184: Specular highlight turns object black on some studio lightsClément Foucault
This case was leaving some data uninitialized, producing some NaNs in the fragment shader.
2020-10-07GPU: Fix assert when using gpu workaround and SSS + light renderpassClément Foucault
This path makes use of more framebuffers when using the gpu workarounds. Increase the MAX FBO attachments per texture. Maybe we could use a growing vector in the future.
2020-10-07GPU: Avoid blit operation modifying the wrong framebuffer during restoreClément Foucault
At the end of `GPU_framebuffer_blit` when `prev_fb->bind(true);` is called, the `context_->active_fb` was not in sync and lead to the wrong framebuffer being modified by bind function. This fix T81055 SSS light is missing from the diffuse light render pass
2020-10-07Fix T81226: Crash opening 64bit files with endian switchingCampbell Barton
Endian switching when loading 64bit blend files on a 64bit system was crashing as the endian switching is only applicable when loading on 32 bit systems. This crash goes back to 2.7x, it looks like this never worked all the way back to the first commit.
2020-10-07Cleanup: Alembic, fix compiler warning about missing declarationSybren A. Stüvel
Mark the `has_animated_geom_params()` function as `static`, as it's only used in that particular compilation unit. No functional changes.
2020-10-07Fix T67776: Animation/value keyframe slider doesn't appear in dope sheetChristoph Lendenfeld
Avoid overwriting user-chosen `SACTION_SLIDERS` flag when switching the Dope Sheet editor to Shape Key mode. The Shape Key mode now ignores the flag, and always shows the sliders. The obvious limitation is that you can't hide the sliders in the Shape Key editor anymore Reviewed By: looch, sybren Differential Revision: https://developer.blender.org/D9121
2020-10-07IDTypeInfo: add flag to indicate that ID has no animation dataJacques Lucke
This is part of T75724. Reviewers: mont29 Differential Revision: https://developer.blender.org/D9134
2020-10-07Cleanup: add commentJacques Lucke
2020-10-07Refactor: Remove `BKE_XXX_localize()`, in favor of using regular ID copying ↵Bastien Montagne
code. Besides the NodeTree case (which remains unchanged), the localize code is only used in one place (to generate previews of shading data-blocks). This commit introduces a new `LIB_ID_CREATE_LOCAL` option for ID creation/copying, which essentially implements the behavior of the removed `BKE_XXX_localize()` functions into regular mainstream ID copy code. When this option is set: - new ID is tagged with `LIB_TAG_LOCALIZED`; - Some ID copying callbacks have specific behaviors, mainly the root nodetree of shading IDs gets duplicated with specialized `ntreeLocalize()` function. Note that I would not consider getting rid of `ntreeLocalize` for now, this function is recursive, which should ideally never happen within ID management copying code (this introduces all kind of complications). No behavioral change expected from this commit.
2020-10-07Cleanup: IDManagement: Localize: tweak to flags.Bastien Montagne
Add a specific flag for nodetree deep-copy special localization code. And add a new `LIB_ID_CREATE_LOCALIZE` flag, similar to `LIB_ID_COPY_LOCALIZE`, for creation purposes. No behavioral changes expected here.
2020-10-07Fix T81330: Alembic Import ignores constant meshes with animated vertexPhilipp Oeser
colors If the mesh was constant, no check was done if there were animated vertex colors and thus creation of a MeshSequenceCache modifier was skipped. Thx @sybren for feedback! Maniphest Tasks: T81330 Differential Revision: https://developer.blender.org/D9057
2020-10-07Silence CLOG error about usercount of deprecated IPO IDs.Bastien Montagne
2020-10-07Fix T81272: Crash on opening old files where nodetrees had no name.Bastien Montagne
This code gets called before do_version can fix that, so we have to work around it for now.
2020-10-07Fix T81461: Weight paint crash with "Vertex Groups X Symmetry" optionPhilipp Oeser
In that case, weightpainting would still be done threaded, but current mirroring code cannot be run in parallel. Caused by rB5502517c3c12 [which was checking mesh 'flag', needs to be 'editflag' -- thus test was always true]. Reviewers: pablodp606 Maniphest Tasks: T81461 Differential Revision: https://developer.blender.org/D9126
2020-10-06Fix T81465: Snapping to edge center doesn't work as expected when using axis ↵Germano Cavalcante
locking The result was being affected by the view alignment correction. Regression introduced in rB4eda60c2d82d
2020-10-06Fix T81488: Deleting an Object Constraint crashes BlenderHans Goudey
The edit_constraint_property_get function was using bone constraints in pose mode even for object constraints. This change mirrors the code in `uiTemplateConstraints` as well. Differential Revision: https://developer.blender.org/D9128
2020-10-06Sculpt: Union and Join mode for trim toolsPablo Dobarro
This enables a union boolean mode for the trimming gestures tools which adds geometry to the mesh instead of cutting it. It also adds a Join mode, which adds the geometry directly without using a boolean operation. Depending if you plan to use dyntopo or not, it is useful to have both options available. This is using the full depth of the object from the camera view for the depth of the geometry, but options for controlling the trimming depth in all modes are going to be added in later patches Reviewed By: mont29 Differential Revision: https://developer.blender.org/D9066
2020-10-06Fix T81218: Crash in pose mode using a driver on bendy bone SegmentSybren A. Stüvel
The example file in T81218 has a driver that maps a bone's X-location to the number of BBone segments. This caused a dependency cycle, which resulted in bad thread serialisation, which caused the crash. This patch breaks the dependency cycle `BONE_LOCAL` → `DRIVER(bones["Bone"].bbone_segments)` → `BONE_LOCAL`. The 'Driver Data' relation now points to `BONE_SEGMENTS` when the driven property starts with `bbone_`. Differential Revision: https://developer.blender.org/D9122
2020-10-06VSE: Fix audio stripsDalai Felinto
When sequencer was moved from kernel, the DEFINES based on audaspace were not moved along. That means users had no way of creating new audio strips since BKE_sequencer_add_sound_strip was ifdef'out
2020-10-06Cleanup: Depsgraph, reduce nesting of driver relations codeSybren A. Stüvel
Reduce nesting of `DepsgraphRelationBuilder::build_driver_data()` by flipping conditions and `return`/`continue` early. No functional changes.
2020-10-06BLI: escape double quotes in dot exportJacques Lucke
2020-10-06Fix T81459: Memory Leak Cycles Rendered ViewportJeroen Bakker
The external engine in the draw manager wasn't registered correctly. This did not free the resources after the external engine was used.
2020-10-06Fix T81470: Buttons in closed panel visible during searchHans Goudey
The buttons hide when the search finishes based on whether they are in the "panel header" group. These buttons were not protected with a new group. This adds a new group for operator button calls, and also makes it so a new group is always created after the header buttons.
2020-10-05UI: Changes to Viewport Display UI of Volume Object and FluidSriharsha Kotcharlakot
- Density, interpolation and slicing options in Volume Object's Viewport Display are now not aligned to each other as they are not closely related. - Changed the enum property for slicing ('Method') to a boolean property 'Slice' and added a sub-panel for slicing options under the 'Viewport Display' panel in Volume Object and Fluid for better clarity. - Renamed `axis_slice_method` to `use_slice` in the python API for Volume Object and Fluid. Reviewed By: brecht Differential Revision: https://developer.blender.org/D9097
2020-10-05Sculpt: Remove mask datalayer after extracting the objectPablo Dobarro
When extracting a mask, the new object is going to have the same mask on the same vertices, so it can't be sculpted without clearing the mask first. It makes more sense to delete the mask datalayer from the new object. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D9070
2020-10-05Fix T81343: Smooth shading normals not updating with line project toolPablo Dobarro
Just a missing update flag Reviewed By: mont29 Maniphest Tasks: T81343 Differential Revision: https://developer.blender.org/D9077
2020-10-05Sculpt: Modify damping using the simulation factor of the cloth brushPablo Dobarro
This helps blending artifacts with dynamic simulation areas as the damping increases when the vertex. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D9084
2020-10-05Sculpt: Preview the active side of the line gesturesPablo Dobarro
This adds a small gradient to the right side of the line to preview which side of the mesh is going to be affected by the gesture operation. Reviewed By: Severin Differential Revision: https://developer.blender.org/D9106
2020-10-05Fix T81380: Playback set start/endframe operators can set negativePhilipp Oeser
rendering range The Allow Negative Frames option, introduced in rB21a2350248fd, allows for negative frames, but this should only apply for playback and animations, the rendering range should still be clamped to MINFRAME / MAXFRAME, because rendering does not allow for negative frames. Preview range should not be affected afaict (I am not aware of operators that allow for rendering this range). Maniphest Tasks: T81380 Differential Revision: https://developer.blender.org/D9112
2020-10-05Outliner: Move collection exclude button to restrict columnsNathan Craddock
Move the collection exclude checkbox to be with the other restrict buttons. This makes the button consistent with the other restrict buttons, and it makes the visual hierarchy more clear with the contents of a collection properly indented under the collection name, rather than the collection icon. Differential Revision: https://developer.blender.org/D8928
2020-10-05Fix T81392: subdivision surface poor shading without limit surfacePiotr Ostrowski
When the limit surface is disabled OpenSubdiv generates a set of linear patches which are only C0 continuous, not C1. This makes it impossible to evaluate derivatives at vertices which, in this mode, are by definition put at boundaries of patches. Normals are calculated from those derivatives. Solution is to disable normal calculation and let it be done downstream, as for other modifiers. This limitation is also the reason that non feature adaptive subdivision is badly suited for GPU evaluation. Differential Revision: https://developer.blender.org/D9103
2020-10-05Cleanup: Use short for properties editor tab listHans Goudey
Because the active context is stored as a short in DNA it's better to use short in the code surrounding it. Also adjusted a comment that reflected an incorrect assumption.
2020-10-05GPencil: Fix unreported Layer SOLO mode brokenAntonio Vazquez
During the refactor, this feature was removed by error. When this option is enabled, only the frames with a keyframe are displayed in Draw mode. This is used when fill an animation to paint only in the frames with real drawing.
2020-10-05Transform: Use orientation of active object with Auto ConstraintGermano Cavalcante
Fix T81429. This was an intentional change in rBc75a665c442e as it maintains the same behavior as the constraint with or without modifier. But from the user's PoV, it is better to keep the old behavior. This makes drawing and behavior more intuitive.
2020-10-05Fix T80897: Complex solidify crash when special ngons are mergedHenrik Dick
This has serious performance implications as the additional check makes it O(N^2) when there are a lot of merged vertices. The goal is to move the merging to the weld modifier where it would be much easier to optimize. Ref D8946
2020-10-05Fix T80893: Complex solidify special case with singularityHenrik Dick
Ref D8929
2020-10-05Fix T80895: Complex solidify compare edges by contentHenrik Dick
Even if the index of the edge is not equal the content can be equal if it has been merged. So compare the content. Ref D8931
2020-10-05Modifiers: Use vertex group options for complex solidify flat facesHenrik Dick
Ref D8945
2020-10-05Fix T80269: Match material offset in solidify modesHenrik Dick
This commit to complex solidify swaps the side of the geometry which is affected by the material offset when the normal flip option is enabled. This matches simple solidify and is considered correct/useful. Ref D8948
2020-10-05Insert keyframes while preserving shape of curveSybren A. Stüvel
Apply the De Casteljau algorithm to split the Bèzier curve at the X coordinate where the new key is inserted, and uses the result to update both the newly inserted and surrounding handles. For curves that use Auto keyframes this has been largely addressed by the new algorithm from D2884. This commit extends this to non-auto handles. This code is heavily based on D3172 by Alexander Gavrilov (@angavrilov). Manifest Task: https://developer.blender.org/T81353
2020-10-05Initialize CLOG to fix crashing unit testsSybren A. Stüvel
Initialize CLOG in the blendfile-loading unit test superclass. Since rB8683d4e88f2e CLOG is used by more areas in Blender, and without initialisation it crashes.