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-12-20VSE: Remove cost calculation from cacheRichard Antalik
This value was meant to be used for keeping images that are slowest to render in cache. Method of measurement was flawed, because it doesn't take UI overhead into consideration. Cache panel is to be removed because users should not have to tweak settings like this. It is not useful for development either, therefore it is removed completely.
2020-12-20VSE: Fix incorrect cache memory usage calculationRichard Antalik
If image is cached twice, it's size has been counted twice as well, but only image reference count is increased, not memory usage. Use `MEM_get_memory_in_use()` instead of size own tracking.
2020-12-19Movie Clip: Annotation UI ImprovementsAaron Carlisle
Previously, the Annotation panels were a bit buggy in the movie clip editor. This commit fixes the issue of the panel in the sidebar would disappear when selecting "Tracks" if no tracks were added to the clip. To solve this issue the user if given a label text saying "No annotation source" This commit also removes some grease pencil operators from the toolbar that do not work with the new annotation system. This commit also moves the data source choice from the toolbar to the sidebar. This is needed to migrate the current toolbar to the new tool system (see T83612) Some old invalid code was also removed. Reviewed By: #grease_pencil, antoniov Differential Revision: https://developer.blender.org/D9729
2020-12-19Compositor: New Exposure NodeAaron Carlisle
This new node increases the radiance of an image by a scalar value. Previously, the only way to adjust the the exposure of an image was with math node or using the scene's color management. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D9677
2020-12-19Cleanup: Use typedef for UI emboss type enumHans Goudey
Previously both `char` and `int` were used to represent this enum. Differential Revision: https://developer.blender.org/D9903
2020-12-19Cleanup: Split SEQ_sequencer.h fileRichard Antalik
2020-12-19Cleanup: Rename BKE_sequencer functionsRichard Antalik
API functions get SEQ_ prefix. Intern functions get seq_ prefix Functions also have appropriate category included in name.
2020-12-19Fix T83868: Button animation states no longer visible without embossHans Goudey
This bug was caused by making it so that non-embossed modifier icon buttons could become an operator button and retain their red highlight for disabled modifiers. The icon button needs emboss turned off, but in earlier versions of Blender, `UI_EMBOSS_NONE` would be overridden by animation or red alert states. Instead of abusing "NONE" to mean "none unless there is animation or red alert", this commit adds a new emboss flag for that situation, `UI_EMBOSS_NONE_OR_STATUS`, which uses no emboss unless there is an animation state, or another status. There are only a few situations where this is necessary, so the change isn't too big. Differential Revision: https://developer.blender.org/D9902
2020-12-19Fix build error after previous commitHans Goudey
I tested building so many times while making this patch, but somehow the previous commit was missing a padding variable, I have no idea how.
2020-12-19Cleanup: Remove unused variables from the bNode structHans Goudey
In some cases the variables were set but never used anywhere. Differential Revision: https://developer.blender.org/D9889
2020-12-19Cleanup: Use true and false for booleansHans Goudey
2020-12-18Cleanup: Declare variables where initializedHans Goudey
Also decrease scope of some variable declarations.
2020-12-18Cleanup: Use bool instead of intHans Goudey
2020-12-18UI: Redesigned data-block selectorsJulian Eisel
The previous design is rather old and has a couple of problems: * Scalability: The current solution of adding little icon buttons next to the data-block name field doesn't scale well. It only works if there's a small number of operations. We need to be able to place more items there for better data-block management. Especially with the introduction of library overrides. * Discoverability: It's not obvious what some of the icons do. They appear and disappear, but it's not obvious why some are available at times and others not. * Unclear Status: Currently their library status (linked, indirectly linked, broken link, library override) isn't really clear. * Unusual behavior: Some of the icon buttons allow Shift or Ctrl clicking to invoke alternative behaviors. This is not a usual pattern in Blender. This patch does the following changes: * Adds a menu to the right of the name button to access all kinds of operations (create, delete, unlink, user management, library overrides, etc). * Make good use of the "disabled hint" for tooltips, to explain why buttons are disabled. The UI team wants to establish this as a good practise. * Use superimposed icons for duplicate and unlink, rather than extra buttons (uses less space, looks less distracting and is a nice + consistent design language). * Remove fake user and user count button, they are available from the menu now. * Support tooltips for superimposed icons (committed mouse hover feedback to master already). * Slightly increase size of the name button - it was already a bit small before, and the move from real buttons to superimposed icons reduces usable space for the name itself. * More clearly differentiate between duplicate and creating a new data-block. The latter is only available in the menu. * Display library status icon on the left (linked, missing library, overridden, asset) * Disables "Make Single User" button - in review we weren't sure if there are good use-cases for it, so better to see if we can remove it. Note that I do expect some aspects of this design to change still. I think some changes are problematic, but others disagreed. I will open a feedback thread on devtalk to see what others think. Differential Revision: https://developer.blender.org/D8554 Reviewed by: Bastien Montagne Design discussed and agreed on with the UI team, also see T79959.
2020-12-18UI: Rename "Float Color" attribute data type to "Color"Hans Goudey
Since "Float Color" is more commonly used than "Byte Color", which is not exposed in the interface yet anyway, it makes sense to drop the "Float" label on the color data type name.
2020-12-18Geometry Nodes: support randomly picking instances from collectionJacques Lucke
This uses the "id" attribute to randomly pick instances from a collection for each point. There is one issue. When the collection is updated (e.g. when an object is added to it), the nodes modifier is not automatically updated. It seems like we don't have the infrastructure to support this dependency yet. The same issue exists in the Boolean modifier and with collision collections. This should be solved separately soonish. When "Whole Collection" is disabled, one direct child of the input collection is instanced at each point. A direct child can be an object or a collection. Currently, all objects are picked approximately equally often. In the future, we will provide more control over which point gets which instance. Differential Revision: https://developer.blender.org/D9884 Ref T82372.
2020-12-18GPencil: Fix potential error in interpolate frameAntonio Vazquez
As now it is using a duplicated frame, the untag must be done before copying the frames.
2020-12-18Fix T83916: Cannot drag link from socket if node is inside framePhilipp Oeser
Caused by rB7470c10601d0 where iterating nodetree nodes was changed from backwards to forwards by mistake. Maniphest Tasks: T83916 Differential Revision: https://developer.blender.org/D9890
2020-12-18Fix T83716: Dope Sheet, incorrect scaling of channel UI elementsVincent Blankfield
Change the top coordinate of the animation channel list UI elements to `rect->ymin` so they correctly span from `rect->ymin` to `channel_height`. Some buttons in the dope sheet channels didn't scale properly with the `Keyframe Scale Factor` preferences setting. This was caused by using the `ymid` value (`ymid = BLI_rctf_cent_y(rect) - 0.5f * ICON_WIDTH`) to position the buttons that supposed to fill all vertical space in the channel (with `channel_height` height). The `ymid` value is only appropriate for the UI elements that with `ICON_WIDTH` height. Maniphest Tasks: T83716 Reviewed by: sybren Differential Revision: https://developer.blender.org/D9841
2020-12-18Geometry Nodes: move Boolean node to mesh categoryJacques Lucke
This node works on meshes specifically.
2020-12-18Geometry Nodes: do not crash when there are undefined nodesJacques Lucke
Undefined geometry nodes will just output a default value now.
2020-12-18Functions: add generic pointer class for const pointersJacques Lucke
This adds a GPointer class, which is mostly the same as GMutablePointer. The main difference is that GPointer references const data, while GMutablePointer references non-const data.
2020-12-18Function Nodes: Input VectorDalai Felinto
Ref: T82651 Normally people use "Combine XYZ" to input a vector, but it is more interesting to have an explicit vector input. So this is basically "Combine XYZ" without any input sockets, the values are stored in the node itself. Differential Revision: https://developer.blender.org/D9885
2020-12-18Fix mistake in Bake Action discontinuity fixSybren A. Stüvel
Fix mistake in e5528904f12 where one change accidentally wasn't included in the commit.
2020-12-18Fix T83351: Baked object rotation has discontinuitiesSybren A. Stüvel
Fix Euler discontinuities in the Bake Action operator, by explicitly using the previous Euler angles when converting from matrix to rotation. This basically follows the same approach as used in e4ca1fc4ea43, although the Euler Discontinuity Filter also performs single-channel filtering which the Bake Action operator doesn't.
2020-12-18Fix T83494: Eevee clamp node incorrect when min > max.Jeroen Bakker
In glsl the clamp function has undefined behavior when min > max. For the clamp node this resulted in differences between cycles and eevee. This patch adds the expected implementation for minmax. The old clamp function is still used in cases where we know for certain that the input values are correct (math node clamp option). GPU uses optimized code and silicon in these cases.
2020-12-18Fix T83625: Shading attribute names cause compilation error.Jeroen Bakker
Some GPU platforms don't support having more than one underscore in sequence in an attribute name. This change will remove the underscore as a possible character when encoding to save names.
2020-12-18Fix T82591: Performance regression when rendering at very high resolutionJeroen Bakker
This patch introduces a partial update of GPUTexture. When rendering a large image the GPUTexture could have been scaled. The old implementation would rescale the image on CPU and create a new GPUTexture. This resulted in flooding the PCI bus. The new solution would only scale and upload the parts of the GPUTexture that has been changed. It does this by keeping track of areas of 256x256 pixels. When something changes the tiles that cover that changes will be rescaled and uploaded the next time the GPUTexture is requested. Test situation: Default Cube, 4 samples, 19200x10800 tile size 512. Blender 2.83.9: 4m27s. Blender 2.91: 20+m (regression) This patch: 1m01s. There is still room for more optimizations: * Reduce the time that an image is locked. ** Use task scheduling to update the tiles of an image. ** Generic optimization of the ImBuf scale method. Maniphest Tasks: T82591 Differential Revision: https://developer.blender.org/D9591
2020-12-18Outliner: Set active modifier on clickHans Goudey
The outliner already expands the panel for the modifier you click on, this just extends that idea to also set it active, which is consistent with behavior of active and selected items elsewhere in Blender.
2020-12-18Cleanup: Various clang tidy warningsHans Goudey
There are more in the new mesh fairing code and in the poisson distribution code, this commit doesn't fix those.
2020-12-18Fix T82960: Inaccurate selection on collapsed outliner rowsNathan Craddock
After rB15083d9e1 the outliner tree is not rebuilt after expanding or collapsing rows. Because the tree is no longer rebuilt the positions and flags of the elements are not cleared when collapsing a row. This caused hover highlights and selections on the collapsed child icons to be incorrect in many cases. For example, only the direct children of a collapsed element are drawn inline. If any grandchild elements had been previously icon row flagged they would continue to be evaluated as icon row elements despite being hidden. In this case the x coordinates of the child and grandchild would overlap causing selection to appear erratic. Now the flags for inline row icons are explicitly cleared, which was previously only done because the tree was rebuilt on collapsing rows.
2020-12-18Cleanup: Use LISTBASE_FOREACH macro in outliner codeNathan Craddock
No functional changes.
2020-12-18Fix T82288 Wintab walk navigation erratic.Nicholas Rishel
Walk navigation relies on tablet data being set to detect if motion is absolute. This patch sets tablet data in Ghost to dummy values when a tablet pen is in range and not handled by Wintab processing.
2020-12-18UI: Don't use abbreviations in label textYevgeny Makarov
Expand abbreviations for words like "Bright" (instead of "Brightness"), "Premul", "Lib", "Dir", etc. Differential Revision: https://developer.blender.org/D9862
2020-12-17Cleanup: Use abstraction for attribute math node inputHans Goudey
Since creating the attribute node, a helper function has been added to automatically get the input attribute or a constant value, depending on the "input type" values for the node. This commit replaces the specific implementation of that behavior with the new helper function. The versioning is necessary since the node now has a "storage" struct.
2020-12-17Cleanup: renaming and code deduplication for color space clarity in pickerBrecht Van Lommel
Ref T68926
2020-12-17Color Management: use scene linear HSV for number buttons in color pickersBrecht Van Lommel
Previously these HSV values were in the color picking space, which meant the relation to the scene linear RGB values was confusing. The new situation: * RGB number buttons: scene linear color space * HSV number buttons: scene linear color space * Picker widgets: color picking color space * Hex: sRGB color space Fixes T69562, T83853, Ref T68926
2020-12-17Geometry Nodes: Point separate and attribute compare nodesHans Goudey
This patch adds two related nodes, a node for separating points and mesh vertices based on a boolean attribute input, and a node for creating boolean attributes with comparisons. See the differential for an example file and video. Point Separate (T83059) The output in both geometries is just point data, contained in the mesh and point cloud components, depending which components had data in the input geometry. Any points with the mask attribute set to true will be moved from the first geometry output to the second. This means that for meshes, all edge and face data will be removed. Any point domain attributes are moved to the correct output geometry as well. Attribute Compare (T83057) The attribute compare does the "Equal" and "Not Equal" operations by comparing vectors and colors based on their distance from each other. For other operations, the comparison is between the lengths of the vector inputs. In general, the highest complexity data type is used for the operation, and a new function to determine that is added. Differential Revision: https://developer.blender.org/D9876
2020-12-17Updated and extended Regression Testing frameworks (Gsoc 2020)Himanshi Kalra
This revision contains the following changes- - Updated the existing testing framework for Modifiers for Regression Testing. - Tests for Physics modifiers and remaining Generate and Deform modifiers are added. - The existing `ModifierSpec` is updated with backward compatibility to support Physics Modifiers. - Now there is support for frame number and giving nested parameters for attributes. - Some Deform modifiers required Object Operators, e.g. "Bind" in Mesh Deform, so a new class was added to support that functionality. - A separate class for holding Particles System, they are tested by converting all the particles to mesh and joining it to the mesh they were added. - Updated the format to add tests for Bevel, Boolean and Operators as well. Reviewed By: zazizizou, mont29, campbellbarton Differential Revision: https://developer.blender.org/D8507
2020-12-17Fix T83888: Ctrl F in Asset Browser crashes blenderPhilipp Oeser
In case of being in Asset browsing mode, the search field is located in the header (RGN_TYPE_HEADER not RGN_TYPE_UI as for file browsing mode). To be future proof, now iterate all regions and act if the "filter_search" can be activated. Maniphest Tasks: T83888 Differential Revision: https://developer.blender.org/D9882
2020-12-17Fix T83886: Particle instance modifier brokenPhilipp Oeser
Caused by Caused by rB83980506957c. Since above commit, the modifier was created with wrong initial values [amount was 0.0 and offset was 1.0 -- instead of the other way around]. Since there is no way to fix existing files in a reasonable way I guess, all we can do here is to make sure that from now on, the defaults are correct. Maniphest Tasks: T83886 Differential Revision: https://developer.blender.org/D9881
2020-12-17Geometry Nodes: Make random attribute node stableHans Goudey
Currently, the random attribute node doesn't work well for most workflows because for any change in the input data it outputs completely different results. This patch adds an implicit seed attribute input to the node, referred to by "id". The attribute is hashed for each element using the CPPType system's hash method, meaning the attribute can have any data type. Supporting any data type is also important so any attribute can be copied into the "id" attribute and used as a seed. The "id" attribute is an example of a "reserved name" attribute, meaning attributes with this name can be used implicitly by nodes like the random attribute node. Although it makes it a bit more difficult to dig deeper, using the name implicitly rather than exposing it as an input should make the system more accessible and predictable. Differential Revision: https://developer.blender.org/D9832
2020-12-17Geometry-Nodes: Point Distribute - Sockets RenamingDalai Felinto
The size of the nodes is not enough to give enough context to users what the sockets are about. Minimum Distance -> Distance Min Maximum Density -> Distance Min Note this does not handle doversion. That means users will have to manually.
2020-12-17Explicitly link X11 librariesSybren A. Stüvel
Fix X11 library underlinking, which was breaking Debian and Ubuntu packages. From Ubuntu Hirsute changelog: ``` blender (2.83.5+dfsg-4ubuntu1) hirsute; urgency=medium * Try to also link ghost library with x11, needed because of missing XConvertSelection symbol link (used in ghost static library). * Don't use gold, but switch to bfd linker that seems to be working better on ppc64el. -- Gianfranco Costamagna <locutusofborg@debian.org> Wed, 11 Nov 2020 14:17:29 +0100 ``` Reviewed by: sybren Differential Revision: https://developer.blender.org/D9617
2020-12-17Fix T83875: Converting Proxy to override crashes blender.Bastien Montagne
Some weird proxies apparently can have a local collection instancing... Not sure this is even really valid for proxies, but in any case we cannot override that, just detect and properly cancel the operation then. Should be backported to 2.91.1 should we do it.
2020-12-17Geometry Nodes: add Attribute Color Ramp nodeJacques Lucke
Differential Revision: https://developer.blender.org/D9861 Ref T82585.
2020-12-17Fix asset data-block name button not showing up in custom repositoriesJulian Eisel
The Python syntax was wrong, as noted by Campbell in 0ae15e68c785.
2020-12-17Fix T83878: Crash right-clicking in Asset Browser with no asset activeJulian Eisel
Data of the File Browser context callback needs to be validated and return `CTX_RESULT_NO_DATA` if the context member is valid but not set in the current context.
2020-12-17Clean-up: Fix build warning with MSVCRay Molenkamp
Callback function was using int while update_render_passes_cb_t was using eNodeSocketDatatype leading to a build warning about different argument types with MSVC.
2020-12-17VSE: Fix crash when adding image stripRichard Antalik
Crash happens when using relative path to image in operator properties and checking image dimensions by loading image with `IMB_loadiffname()` Ensure path is absolute.