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-05-25Unreported fix: vertex colors overlay not set for new 3d views.Jeroen Bakker
Found during researching {T86956}.
2021-05-21GPencil: Speed up Occlude EraserAntonio Vazquez
This is an initial change to speed up the calculation of the Occlude eraser. In the future, we can add more optimizations, but at least this increase speed. Intead to check always the 3 points, the check is skipped if it's not required. Base in a solution by Philipp Oeser. This is related to T88412
2021-05-20Merge branch 'blender-v2.93-release'Sebastian Parborg
2021-05-20Fix T87854: Add clamp option to Path AnimationSebastian Parborg
Previously, the "follow path constraint" and "follow parented curve" were clamped. This restriction was lifted in rBcf2baa585cc8 Add back an option to get the old behavior in the "Path animation" settings. Reviewed By: Sybren Differential Revision: http://developer.blender.org/D11263
2021-05-20GPencil: Fix missing annotations in VSE stripAntonio Vazquez
Since version 2.80, the annotations of the Scene strip were not displayed in VSE. Also, the UI panel was`Grease Pencil` and must be `Annotation` The problem was the offscreen render hasn't evil_CTX and the section of the annotation was never called. Differential Revision: https://developer.blender.org/D11329
2021-05-20GPencil: Adding length modifier.YimingWu
Reviewed By: Antonio Vazquez (antoniov) Differential Revision: https://developer.blender.org/D8264
2021-05-18Merge branch 'blender-v2.93-release'Campbell Barton
2021-05-18Fix T88026: Repeated switch to rendered viewport crashesCampbell Barton
Resolve ownership ambiguity with shared physics pointers. Previously, LIB_ID_CREATE_NO_MAIN allowed pointer sharing with the source ID so physics caches can be shared between original and evaluated data: (Object.soft.shared & Object.rigidbody_object.shared). This only worked properly for LIB_TAG_COPIED_ON_WRITE ID's, as LIB_TAG_NO_MAIN can be used in situations where the original ID's lifetime limited by it's original data. This commit adds `LIB_ID_COPY_SET_COPIED_ON_WRITE` so ID's only share memory with original data for ID's evaluated in the depsgraph. For all other uses, a full copy of physics data is made. Ref D11228#287094
2021-05-15XR Controller Support Step 1: Internal Abstractions for OpenXR ActionsPeter Kim
Adds internal API for creating and managing OpenXR actions at the GHOST and WM layers. Does not bring about any changes for users since XR action functionality is not yet exposed in the Python API (will be added in a subsequent patch). OpenXR actions are a means to communicate with XR input devices and can be used to retrieve button/pose states or apply haptic feedback. Actions are bound to device inputs via a semantic path binding (https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#semantic-path-interaction-profiles), which serves as an XR version of keymaps. Main features: - Abstraction of OpenXR action management functions to GHOST-XR, WM-XR APIs. - New "xr_session_start_pre" callback for creating actions at appropriate point in the XR session. - Creation of name-identifiable action sets/actions. - Binding of actions to controller inputs. - Acquisition of controller button states. - Acquisition of controller poses. - Application of controller haptic feedback. - Carefully designed error handling and useful error reporting (e.g. action set/action name included in error message). Reviewed By: Julian Eisel Differential Revision: http://developer.blender.org/D10942
2021-05-14Cleanup: spelling, rename metas to meta-strips / meta-ballsCampbell Barton
2021-05-13Cleanup: clang formatCampbell Barton
2021-05-12Nodes: add boilerplate for texture and material socketsJacques Lucke
The sockets are not exposed in any nodes yet. They work similar to the Object/Collection sockets, which also just reference a data block. This is part of D11222.
2021-05-12Cleanup: rename 'rt' to '_pad#' in DNA structsCampbell Barton
2021-05-11Geometry Nodes: Add Attribute Vector Rotate nodeCharlie Jolly
Port vector rotate node to geo attributes. Request by @simonthommes Reviewed By: simonthommes, HooglyBoogly
2021-05-11Rigging: Add transform for custom bone shapesYuki Shirakawa
Add translation/rotation/scale parameters for custom bones shapes. The new scale is a 3D vector `custom_shape_scale_xyz`, and replaces the `custom_shape_scale` float. Reviewed By: #animation_rigging, sybren, zeddb Differential Revision: https://developer.blender.org/D10974
2021-05-11Cleanup: remove unused baking struct members from soft-bodyCampbell Barton
2021-05-07Geometry Noes: Curve Resample NodeHans Goudey
This node generates a naturally parametarized (even length edge) poly spline version of every spline in the input. There are two modes, "Count", and "Length". These are similar to the same options for the line primitive node in end points mode. I implemented this instead of a "Sample Points" node, because for this operation it's trivial to keep the result as a curve, which is nice since it increases flexibility, and because it can make instancing simpler, i.e. using the transforms of each evaluated point rather than requiring the construction of a "rotation" attribute. Differential Revision: https://developer.blender.org/D11173
2021-05-07Geometry Nodes: Add Attribute Curve Map NodeCharlie Jolly
This node has the same functionality as the color and vector curve mapping nodes in the shader editor. Here is works on every value for the selected attribute, and it can also output a float value. Other than that, the implementation is quite straightforward-- almost completely boilerplate code. Differential Revision: https://developer.blender.org/D10921
2021-05-04GPencil: New Dilate parameter for Fill brushAntonio Vazquez
Internally, when using Fill brush a dilate of the filled area was done, but this was hardcoded to 1 pixel. In some situations, this was not enough, so now the value is accesible in the UI and can be set with different values. Also, as this value is more used than `Leak Size`, the new Dilate is on Topbar, and Leak Size has been moved to Advanced panel.
2021-04-30Geometry Nodes: Add an "Auto" option for Attribute Convert data typeCharlie Jolly
Currently there is an "Auto" option for the domain, this commit adds a similar option for "Auto" data type, that uses the data type from the target attribute or the source attribute (in that order). Ref T87347 Differential Revision: https://developer.blender.org/D10932
2021-04-29Gpencil Offset Modifier - Add randomize offset optionsCody Winchester
This patch adds the Randomize options that exist in the Array modifier to the offset modifier. Currently the patch uses ``` BLI_findindex(&gpf->strokes, gps); ``` to get the index of the current stroke for making each stroke a different seed value. This is how the noise modifier also gets the stroke seed value and it is noted there as well that this method is slow, and should be fixed in the future with another method of getting the stroke index. Other methods were explored such as using the total number of points of the stroke, but that makes the randomize options incompatible with other modifiers before it such as Multiple Strokes, Array, Build, and Simplify. {F9591325} Differential Revision: https://developer.blender.org/D10171
2021-04-28GPencil: Fading based on distance to reference object in Opacity and ↵YimingWu
Thickness modifiers This patch allows you to dynamically control stroke's opacity and thickness using an object for distance reference in the modifier. Fading range is adjustable, and it is compatible with current curve/vertex group selection. Reviewed By: #grease_pencil, antoniov, mendio Maniphest Tasks: T82177, T80194 Differential Revision: https://developer.blender.org/D9091
2021-04-27Geometry Nodes: initial Attribute Transfer nodeJacques Lucke
This is a first version of an Attribute Transfer node. It only supports two modes for mapping attributes from one geometry to another for now. More options are planned for the future. Ref T87421. Differential Revision: https://developer.blender.org/D11037
2021-04-26Merge branch 'blender-v2.93-release'Jacques Lucke
2021-04-26Depsgraph: support depending on collection geometryJacques Lucke
This fixes T87666 and T83252. The boolean modifier and geometry nodes can depend on the geometry of an entire collection. Before, the modifiers had to manually create relations to all the objects in the collection. This worked for the most part, but was cumbersome and did not solve all issues. For example, the modifiers were not properly updated when objects were added/removed from the referenced collection. This commit introduces the concept of "collection geometry" in the depsgraph. The geometry of a collection depends on the transforms and geometry of all the objects in it. The boolean modifier and geometry nodes can now just depend on the collection geometry instead of creating all the dependencies themselves. Differential Revision: https://developer.blender.org/D11053
2021-04-26Merge branch 'blender-v2.93-release'Jacques Lucke
2021-04-26Spreadsheet: combine vector/color spreadsheet columnsJacques Lucke
Differential Revision: https://developer.blender.org/D11056
2021-04-23GPencil: Change maximum value for Fill precissionAntonio Vazquez
The old value of 5 was not enough for some situations.
2021-04-22Merge branch 'blender-v2.93-release'Campbell Barton
2021-04-22Fix T85051: Add bisect distance as a parameter to the mirror modifierFalk David
The `bisect_distance` in the mirror modifier was hard-coded to `0.001`. This would result in some unexpected behavior like vertices close to the mirror plane being deleted or merged. The fix now adds a parameter to the mirror modifier to expose the bisect distance to the user. The default is set to the previous hard-coded value to not "change" previous files. Ref D10201
2021-04-19Cleanup: spellingCampbell Barton
2021-04-19Geometry Nodes: new Switch nodeEitan
This is a first iteration of a switch node. It can only switch between two inputs values based on a boolean. A more sophisticated switch node that has an integer selector will probably come later. Currently, the geometry nodes evaluator does not support lazy evaluation of individual inputs. Therefore, all inputs will be computed currently. An improvement to the evaluator will be worked on separately. Ref: T85374 Differential Revision: https://developer.blender.org/D10460
2021-04-16WM: prevent drag events being continually testedCampbell Barton
Click-drag events that weren't handled would continually be tested for each mouse-motion event. As well as being redundant, this added the overhead of querying gizmos twice per motion event. Now click-drag is only tested once when the drag threshold is reached. This mitigates T87511, although the single drag test still causes the snap gizmo to flicker.
2021-04-16Fix T65064: Keymaps items controlling dynamic enums fail to exportCampbell Barton
Keymap UI and import/export could depend on the current context for dynamic enum's. Use STRUCT_NO_CONTEXT_WITHOUT_OWNER_ID for OperatorProperties.
2021-04-15Spreadsheet: breadcrumbs and node pinningJacques Lucke
This introduces a context path to the spreadsheet editor, which contains information about what data is shown in the spreadsheet. The context path (breadcrumbs) can reference a specific node in a node group hierarchy. During object evaluation, the geometry nodes modifier checks what data is currently requested by visible spreadsheets and stores the corresponding geometry sets separately for later access. The context path can be updated by the user explicitely, by clicking on the new icon in the header of nodes. Under some circumstances, the context path is updated automatically based on Blender's context. This patch also consolidates the "Node" and "Final" object evaluation mode to just "Evaluated". Based on the current context path, either the final geometry set of an object will be displayed, or the data at a specific node. The new preview icon in geometry nodes now behaves more like a toggle. It can be clicked again to clear the context path in an open spreadsheet editor. Previously, only an object could be pinned in the spreadsheet editor. Now it is possible to pin the entire context path. That allows two different spreadsheets to display geometry data from two different nodes. The breadcrumbs in the spreadsheet header can be collapsed by clicking on the arrow icons. It's not ideal but works well for now. This might be changed again, if we get a data set region on the left. Differential Revision: https://developer.blender.org/D10931
2021-04-14FFmpeg: Adjust default proxy settingsRichard Antalik
GOP size and quality are adjusted for h264 codec. These new values are based on result of benchmark on 9 random files: https://docs.google.com/spreadsheets/d/1nOyUGjoVWUyhQ2y2lAd8VtFfyaY1wQNGj1krCCNbk7Y/edit?usp=sharing Reducing quality to 50 reduces proxy filesize by about 2x on average and has no significant impact on decoding performance. Increasing GOP size from 2 to 10 also reduces proxy filesize 2x-3x while scrubbing is only about 8% slower. It is still around 100FPS with 1920x1080 media. This is unfortunately about 50% slower than MJPEG, but this can be improved with `fastdecode` tune applied to libx264 encoder Quite surprisingly h264 codec presets had little influence on proxy building performance as well as proxy filesize. So far it looks that FFmpeg does initialize encoder in different way then Blender. This applies mot only for presets but for tune and profile libx264 setting. Once this issue is resolved, performance of proxies may be optimized further. Reviewed By: sergey Differential Revision: https://developer.blender.org/D10897
2021-04-13Nodes: Tooltip for Group Input propertiesFabian Schempp
With this patch, users can define custom tooltips for the exposed properties of their Geometry Nodes Groups. Currently this custom tooltips are only used in the modifier panel, but its a long term goal to use it in the node editor. Reviewer: Hans Goudey Differential Revision: https://developer.blender.org/D10884
2021-04-13Object: Enable transfer mode functionality for switching objects in Sculpt ModePablo Dobarro
This implements the changes discussed in T87134 for including switch object funcionality in 2.93. This includes: - Remove the switch object operator experimental option - Remove the option for switching objects in Edit Mode. - Rename switch_object to transfer_mode. - Enable the operator only in sculpt mode. - Expose the operator in the Sculpt menu with an eyedropper modal option. On later releases, we could revisit enabling the operator in other mode and object types as well as its place in the UI. Reviewed By: JulienKaspar, JacquesLucke Differential Revision: https://developer.blender.org/D10953
2021-04-13Cleanup: redundant struct declarationsCampbell Barton
2021-04-13DNA: support int8_t type in DNA structsJacques Lucke
Differential Revision: https://developer.blender.org/D8908
2021-04-12Spreadsheet: add spreadsheet width unitJacques Lucke
This also fixes the issue that the width of the "Name" column when viewing instances does not resize correctly. Differential Revision: https://developer.blender.org/D10926
2021-04-11Cleanup: clang-formatCampbell Barton
2021-04-09Spreadsheet: persistent column storage and data sourceJacques Lucke
A `DataSource` provides columns for the spreadsheet to display. Every column has a SpreadsheetColumnID as identifier. Columns are not generated eagerly anymore, instead the main spreadsheet code can request a column from a data source with an column identifier. The column identifiers can be stored in DNA and allow us to store persistent data per column. On the user level the only thing that changes is that columns are not shown in alphabetical order anymore. Instead, new columns are always added on the left. The behavior can be changed, however I'd prefer not to automate this too much currently. I think we should just add operators to hide/reorder/resize columns soonish. Differential Revision: https://developer.blender.org/D10901
2021-04-08Spreadsheet: support showing data of specific nodeJacques Lucke
Previously, the spreadsheet editor could only show data of the original and of the final evaluated object. Now it is possible to show the data at some intermediate stages too. For that the mode has to be set to "Node" in the spreadsheet editor. Furthermore, the preview of a specific node has to be activated by clicking the new icon in the header of geometry nodes. The exact ui of this feature might be refined in upcoming commits. It is already very useful for debugging node groups in it's current state though. Differential Revision: https://developer.blender.org/D10875
2021-04-08Fix T81707: Spline IK Joints "Floating" above curveSebastian Parborg
The issue was that where_on_path uses a resampled curve to get the data from the curve. This leads to disconnects between the curve the user sees and the evaluated location data. To fix this we simply use the actual curve data the user can see. The older code needed a cleanup either way as there were hacks in other parts of the code trying to work around some brokenness. This is now fixed and we no longer need to clamp the evaluation range to 0-1 or make helper functions to make it do what we actually want. Reviewed By: Campbell, Sybren Differential Revision: http://developer.blender.org/D10898
2021-04-08LibOverride: Add a dedicated view in the Outliner.Bastien Montagne
This is a minimal, information-only view currently, listing by default all the override data-blocks, with their user-edited override properties. System-generated overrides (like the overrides of pointers to other override data-blocks) can be shown through a filter option. Finally, potential info or warning messages from (auto-)resync propcess are also shown, as an icon + tooltip next to the affected items. Part of D10855.
2021-04-08LibOverride: Add a new 'leftover' flag to ID.Bastien Montagne
This flag is set for liboverride IDs that are detected as no longer needed by resync process, while having been user-edited, so auto-handling code cannot silently delete them. Exposing those to users will be part of the new incoming Override Outliner view. Part of D10855.
2021-04-02Fix T86654: wrong Vertex Interpolation option default when importing alembic ↵Philipp Oeser
caches This resulted in bad motion blur from alembic animation when imported after rB83980506957c (because it was now OFF by default). When imported in a version prior to rB83980506957c and saved, this was still working fine. Vertex interpolation option introduced in rBbab2260b59c7 was defaulting to ON (correct) in that commit, but was lost in rB83980506957c. Now switch this to ON by default again. Note: if you have a file that was (incorrectly) imported with a version after rB83980506957c you'll have to enable Vertex Interpolation option on every MeshSequenceCache modifier by hand. Maniphest Tasks: T86654 Differential Revision: https://developer.blender.org/D10876
2021-04-02Fix T84520: Make the different weight paint code paths exclusive to each otherSebastian Parborg
Before this change, you could have the new sculpt symmetry code and the older weight paint symmetry code active at the same time. This would lead to users easily trashing their weigh paint data if they were not careful when switching between modes. Now the specific weight paint symmetry code is an exclusive toggle so the user can't accidentally mirror strokes and vertex groups at the same time. This also paves the way of supporting Y and Z symmetry in the future for weight groups mirroring if we decide to add it in the future. Reviewed By: Sybren Differential Revision: http://developer.blender.org/D10426
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