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-09-22Geometry Nodes: Add legacy warning and "View Legacy" operatorHans Goudey
This commit adds warning messages to "legacy" nodes that will be removed in the future. The warning is shown in the node header, but it is not printed in the terminal or displayed in the modifier. It is also not propogated to node groups, but that is a more general task. If the modifier's node tree has executed a deprecated node, it will display a warning and a "Search" button that will select the nodes and pan to them in the node editor. This doesn't open child node trees and select nodes in there, because I want to keep this operator simple and avoid wasting a lot of time perfecting this behavior. Differential Revision: https://developer.blender.org/D12454
2021-09-21UUIDs: rename UUID to bUUIDSybren A. Stüvel
Rename the `UUID` struct to `bUUID`. This avoids a symbol clash on Windows, which also defines `UUID`. This only pops up when a `UUID` field is used in the DNA code, which is why it wasn't a problem before (it will be once D12589 lands). No functional changes.
2021-09-21Geometry Nodes: Fill instances separately in the curve fill nodeHans Goudey
With this commit, each referenced instance data will be converted to a geometry instances and processed separately. This should result in a large speedup when the instances component has many insances referring to the same data. This change can act as a blueprint for other nodes that need to implement similar behavior. It adds some helper functions on the instances component to make that easier. Thanks to Erik Abrahamsson for a proof of concept patch. Differential Revision: https://developer.blender.org/D12572
2021-09-21Geometry Nodes: String manipulation nodesErik Abrahamsson
This patch adds four new nodes to a new "Text" category: - String Length: Outputs length of a string - String Substring: Outputs part of a string - Value to String: Converts a value to a string - String Join: Concatenates multiple strings with a delimiter The initial use case of these nodes is the upcoming string to curve node. However, they could also be used to calculate dynamic attribute names, or with string attributes in the future. Differential Revision: https://developer.blender.org/D12532
2021-09-21Geometry nodes: Output curve normals from the normal nodeHans Goudey
The code is basically the same as rB4d51af68adb273.
2021-09-21Geometry Nodes: Curve tangent nodeHans Goudey
This node outputs the direction vector, or tangent of a curve at every control point. For poly splines this is simply the evaluated tangents, so it all works very simply. For Bezier splines it uses the tangent at the evaluated point corresponding to each control point, and NURBS are interpereted as poly splines built from their control points. Internally the node is called "Input Tangent" to simplify using it for mesh tangents as well in the future like the "Normal" node. Differential Revision: https://developer.blender.org/D12581
2021-09-21Cleanup: Clang-tidy warningsRichard Antalik
2021-09-21UI: Style drag-drop indicators as tooltipsPablo Vazquez
Currently, the drop indicator colors are hardcoded to white text on semi-transparent black background. This patch makes the drop indicator use the tooltip theme settings, as they serve a similar purpose. {F10530482, size=full} All built-in themes seem to work well and got improved readability. Reviewed By: HooglyBoogly Differential Revision: https://developer.blender.org/D12588
2021-09-21Fix: Add versioning for geometry nodes attribute input toggleHans Goudey
rB8e21d528cab98 neglected to add versioning to add the new "use_attribute" and "attribute_name" properties to the modifier input list. Though they are added if the modifier's interface is updated, that doesn't happen when the file is loaded, so patch adds them manually. Another solution would be calling `MOD_nodes_update_interface`, but that would require including the modifiers module. Differential Revision: https://developer.blender.org/D12535
2021-09-21Cleanup: Move curve to mesh node implementation to blenkernelHans Goudey
I plan to use this for curve object data conversion to mesh in D12533, and possibly for the implicit curve to mesh conversion in the curve and text object modifier stack in the future. Differential Revision: https://developer.blender.org/D12585
2021-09-21Fix: Incorrect versioning for float IDProperty default arrayHans Goudey
The versioning has to have different behavior for when the old default value had a float type rather than a double type. Also use memcpy rather than dupalloc, since it's a bit clearer.
2021-09-21Cleanup: else-after-returnJacques Lucke
2021-09-21Functions: make asserts more correctJacques Lucke
It is valid to e.g. copy construct an integer in the same place, because it is a trivial type. It does not work for types like std::string. This fixes a crash reported in D12584 where it would copy a buffer into itself. We should probably also avoid doing this copy alltogether but that can be done separately.
2021-09-21Cleanup: mention `UUID_STRING_LEN` in commentSybren A. Stüvel
Mention that `UUID_STRING_LEN` exists in the documentation of `BLI_uuid_format()`. No functional changes.
2021-09-21Fix T91534: GPencil interpolate Sequence fails if stroke has 0 pointsAntonio Vazquez
In some cases the stroke has 0 points and this must be skipped in the interpolation.
2021-09-21GPencil: Curvature support for length modifierHenrik Dick (weasel)
Extend the stroke following an approximated circluar/helical curve. This can be used as an effect for lineart or on its own as helix generator. Reviewed By: Sebastian Parborg (zeddb), Hans Goudey (HooglyBoogly), YimingWu (NicksBest), Antonio Vazquez (antoniov), Henrik Dick (weasel) Differential Revision: https://developer.blender.org/D11668 # 请为您的变更输入提交说明。以 '#' 开始的行将被忽略,而一个空的提交 # 说明将会终止提交。 # # 位于分支 master # 您的分支与上游分支 'origin/master' 一致。 # # 要提交的变更: # 修改: source/blender/blenkernel/BKE_gpencil_geom.h # 修改: source/blender/blenkernel/intern/gpencil_geom.cc # 修改: source/blender/gpencil_modifiers/intern/MOD_gpencillength.c # 修改: source/blender/makesdna/DNA_gpencil_modifier_defaults.h # 修改: source/blender/makesdna/DNA_gpencil_modifier_types.h # 修改: source/blender/makesrna/intern/rna_gpencil_modifier.c #
2021-09-21Fix T87801: Eevee ambient occlusion is incorrect on M1 macMiniClément Foucault
The issue was caused by `textureSize()` returning the size of the level 0 even when the min texture level is higher than 0. Using a uniform to pass the correct size fixes the issue. This issue also affected the downsampling of radiance for reflections and refractions. This does not affect anything other than the recusive downsampling shaders.
2021-09-21Fix T91458: Displaying dope-sheet with sequencer keyframes crashesCampbell Barton
Error in e6194e735791b42feb51e810a4910a41d999d3bf.
2021-09-21Cleanup ClangTidy warning.Bastien Montagne
Different parameter name in function declaration and implementation.
2021-09-21Make knife drawing anti aliased (Monkey work based on D11333)Urko
Knife tool. Make the drawing anti aliased and consistent by using 3D_POLYLINE/3D_POINT shaders, and making sure alpha blending is on. Monkey work based on [[ https://developer.blender.org/D11333 | D11333 ]] done by [[ https://developer.blender.org/p/krash/ | Anthony Edlin (krash)]] Reviewed By: jbakker Differential Revision: https://developer.blender.org/D12287
2021-09-21Cycles: merge of cycles-x branch, a major update to the rendererBrecht Van Lommel
This includes much improved GPU rendering performance, viewport interactivity, new shadow catcher, revamped sampling settings, subsurface scattering anisotropy, new GPU volume sampling, improved PMJ sampling pattern, and more. Some features have also been removed or changed, breaking backwards compatibility. Including the removal of the OpenCL backend, for which alternatives are under development. Release notes and code docs: https://wiki.blender.org/wiki/Reference/Release_Notes/3.0/Cycles https://wiki.blender.org/wiki/Source/Render/Cycles Credits: * Sergey Sharybin * Brecht Van Lommel * Patrick Mours (OptiX backend) * Christophe Hery (subsurface scattering anisotropy) * William Leeson (PMJ sampling pattern) * Alaska (various fixes and tweaks) * Thomas Dinges (various fixes) For the full commit history, see the cycles-x branch. This squashes together all the changes since intermediate changes would often fail building or tests. Ref T87839, T87837, T87836 Fixes T90734, T89353, T80267, T80267, T77185, T69800
2021-09-21Cleanup: Silence unused variable warningJulian Eisel
2021-09-21VSE strip thumbnailsAditya Y Jeppu
Draw thumbnails as strip overlay. This works for movie and image strips. To draw thumbnails, this overlay has to be enabled and strips must be tall enough. The thumbnails are loaded from source file using separate thread and stored in cache. Drawing code uses only images stored in cache, and if any is missing, background rendering job is started. If job can not render thumbnail, to prevent endless loop of creating job for missing image it sets `SEQ_FLAG_SKIP_THUMBNAILS` bit of `Sequence` flag. To prevent visual glitches during timeline panning and zooming, `View2D` flag `V2D_IS_NAVIGATING` is implemented. If bit is set, drawing code will look for set of evenly distributed thumbnails that should be guaranteed to exist and also set of previously displayed thumbnails. Due to volatile nature of cache these thumbnails can be missing anyway, in which case no new thumbnails will be drawn for particular strip. Cache capacity is limited to 5000 thumbnails and performs cleanup of non visible images when limit is reached. ref T89143 Reviewed By: ISS Differential Revision: https://developer.blender.org/D12266
2021-09-21VSE: Image transform toolsRichard Antalik
Add tools for image manipulation in sequencer preview region. This includes: - Translate, rotate and resize operators, tools and gizmos - Origin for image transformation - Median point and individual origins pivot modes - Select and Box select operator works in preview - Image overlay drawing ref T90156 Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D12105
2021-09-21LibOverride: make `view_layer` API parameter optional.Bastien Montagne
This is used to find a valid collection in which to instantiate stray objects and collections. In some cases there will be no such active view layer, in which case we can consider using the Scene's master collections children hierarchy instead to find a valid instantiated parent collection for those stray data.
2021-09-21Keymap: preference for fallback-tool with RMB selectCampbell Barton
Expose a key-map preference "Fallback Tool (RMB)", disabled by default. The right mouse button uses the fallback tool (currently visible selection tool in the toolbar), instead of always tweaking. When any selection tool is active, right mouse always tweaks. To enable fallback selection on RMB, set the "Right Mouse Select Action" to "Selection Tool". Internal changes: - Add fall-back key-maps, separate key-maps needed for when the tool is run as a fall-back. This is needed so RMB-select can support fall-back tools, so left-mouse can be used when it's the active tool and RMB can be used as a fall-back action when another tool is active. - Add options field to tools so tools without gizmos can enable the full-back tool keymap. - Support multiple key-maps for keymap handlers. - Fall-back keymaps now co-exist with the tool-keymaps. So both keymaps may be active at once - using different mouse buttons. When gizmos are in use, a highlighted gizmo prioritizes the tool-keymap over the fall-back keymap. Resolves T83690. Reviewed By: JulienKaspar Ref D12493
2021-09-21WM: only return PASS_THROUGH on PRESS for selection operatorsCampbell Barton
Some selection operators return (PASS_THROUGH & FINISHED) so the tweak event isn't suppressed from the PRESS event having been handled. This is now restricted to events with a PRESS action. Without this, using CLICK for selection was passing the event through which could run other actions unintentionally.
2021-09-21Cleanup: Remove debugging change, add commentsHans Goudey
2021-09-21Geometry Nodes: Curve Sample NodeHans Goudey
This node allows sampling positions, tangents, and normals at any arbitrary point along a curve. The curve can include multiple splines, all are taken into account. The node does not yet support transferring generic attributes like radius, because some more general tooling will make that much more feasible and useful in different scenarios. This is a field node, so it is evaluated in the context of a data-flow node like "Set Position". One nice thing about that is it can easily be used to move an entire geometry like the follow path constraint. The point along the curve is chosen either with a factor of the total length of the curve, or a length into the curve, the same choice used in the curve trim node. Differential Revision: https://developer.blender.org/D12565
2021-09-21Functions: Fix incorrect assert for unused outputHans Goudey
Since the variable for an output parameter can be null, it is incorrect to use it later on in a reference.
2021-09-21Fix: Crash with single point bezier spline auto handlesHans Goudey
There's no way to calculate auto or vector handles when there is only one point, and returning early allows avoiding checking for that case later on.
2021-09-21Geometry Nodes: Attribute Statistic NodeVictor-Louis De Gusseme
This nodes evaluates a field on a geometry and outputs various statistics about the entire data set, like min, max, or even the standard deviation. It works for float and vector types currently, though more types could be supported in the future. - All statistics are calculated element-wise for vectors. - "Product" was not added since the result could very easily overflow. - The "Size" output was not added since it isn't specific to an attribute and would fit better in another node. The implementation shares work as much as possible when multiple statistics are needed. This node has been in development since the beginning of this year, with additions from Johnny Matthews and Hans Goudey. Differential Revision: https://developer.blender.org/D10202
2021-09-20Asset Browser: Redraw sidebars on mode switchesJulian Eisel
There may be mode specific panels for some assets in the navigation or the asset metadata sidebar. For example the pose library will likely do this. So let the regions redraw on mode changes.
2021-09-20Geometry Nodes: use implicit position input in noise nodeJacques Lucke
This is the same behavior as in shader nodes.
2021-09-20Geometry Nodes: implicit position input in Set Position nodeJacques Lucke
This change makes the Set Position node do nothing by default. Before, the geometry would always disappear, because it all points would be moved to (0, 0, 0). Differential Revision: https://developer.blender.org/D12553
2021-09-20Cleanup: Refactor VSE overlay settingsRichard Antalik
Move overlay flags into SequencerPreviewOverlay and SequencerTimelineOverlay structs. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D12569
2021-09-20GPencil: Fix error in previous commitAntonio Vazquez
By error I commited the previous version.
2021-09-20GPencil: Change Rotation tooltipAntonio Vazquez
The tooltip was not clear about in what shading modes works. Related to T91467
2021-09-20Cleanup: spelling (correct c5c8c68eec93e57ed46be4371d8831e2f0fe3fe2)Campbell Barton
"iff" was intended as "if and only if". while exact use of abbreviations isn't clear cut, I assumed this was a typo & it's not used anywhere else in source/, expand to "only if" (suggested by Sybren).
2021-09-20Geometry Nodes: support Noise Texture nodeJacques Lucke
This makes the Noise Texture node available in geometry nodes. It should behave the same as in shader node, with the exception that it does not have an implicit position input yet. That will be added separately. Differential Revision: https://developer.blender.org/D12467
2021-09-20Geometry Nodes: support Set Position node on instancesJacques Lucke
Previously, the node would always realize instances implicitly. Now it can change the position of entire instances. The Realize Instances node can be used before if the old behavior is required. Differential Revision: https://developer.blender.org/D12555
2021-09-20Geometry Nodes: new Realize Instances nodeJacques Lucke
This node has a simple geometry input and output. If the input geometry contains instances, they will be realized into actual geometry. When there are many instances, this can be very slow and memory intensive. Generally, instances should only be made real when necessary, e.g. when every instance should be deformed independently. Differential Revision: https://developer.blender.org/D12556
2021-09-20UUID: add nil value for UUIDsSybren A. Stüvel
Add `BLI_uuid_nil()` that returns the nil UUID (used to indicate "not set") and `BLI_uuid_is_nil(uuid)` to do an equality test with the nil value.
2021-09-20UUID: fix seeding the RNG clock on macOSSybren A. Stüvel
On Apple machines, call `clock_gettime()` instead of `timespec_get()`. macOS only introduced `timespec_get()` in version 10.15 (introduced approx two years ago, so in 2019), even though the function is from C11.
2021-09-20Cleanup: UUID, prevent "missing braces" warning on macOSSybren A. Stüvel
Add braces around initialization of sub-objects, as per the warning suggestion on macOS. No functional changes.
2021-09-20UUID: include 'seconds' field of current time in RNG seedSybren A. Stüvel
XOR the 'seconds' and 'nanoseconds' fields of the current time to seed the RNG used for generating random UUIDs. This ensures a better seed just in case the clock as no sub-second resolution.
2021-09-20Fix T91511: GPencil weight_get and Vertex Groups not working at expectedAntonio Vazquez
The API was checking the number of total weights with the first point of the stroke and this was not valid because each point can have different number of weight elemnts,
2021-09-20UI: rename "Save Screenshot (Area => Editor)"Campbell Barton
The term "area" isn't normally exposed in the UI.
2021-09-20Cleanup: spellingCampbell Barton
2021-09-20Fix: Incorrect default values for the curve trim nodeHans Goudey
The default end factor should be 1. The proper value for the default end length is somewhat arbitrary, but it shouldn't be zero.