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-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.
2021-09-20Fix: Spline length calculation fails with no evaluated pointsHans Goudey
The case that checked whether there were evaluated edges was incorrect, since two points are needed for an edge. Then also avoid running the accumulation for an empty span.
2021-09-20Fix build error after previous commitHans Goudey
Incorrect renaming and use of enum after search and replace.
2021-09-20Cleanup: Fix/improve variable names and commentsHans Goudey
2021-09-19Compositor: Add OIDN prefiltering option to Denoise nodeManuel Castilla
It's equivalent to the OpenImageDenoise prefiltering option in Cycles. See D12043. Prefilter modes: - None: No prefiltering, use when guiding passes are noise-free. - Fast: Denoise image and guiding passes together. Improves quality when guiding passes are noisy using least amount of extra processing time. - Accurate: Prefilter noisy guiding passes before denoising image. Improves quality when guiding passes are noisy using extra processing time. Reviewed By: #compositing, jbakker, sergey Differential Revision: https://developer.blender.org/D12342
2021-09-19Compositor: Fix crash exporting buffers on debugManuel Castilla
ImBuf allocates 4 channels, use copying to support buffers with 1 and 3 channels.
2021-09-19Compositor: Fix Alpha Over node ignoring emissive colorsManuel Castilla
It was an issue on Full Frame mode only.
2021-09-19Cleanup: Rename curve node enumsHans Goudey
The enum called "interpolate" was really a choice of methods for mapping inputs to positions on the curve, whereas the "sample" enum was used to define a way to create a whole set of new points from the curve, without any input parameters. The "re-sample" vs. "sample" naming makes that distinction better.
2021-09-19Revert "GPencil: Curvature support for length modifier."YimingWu
Reason for revert: accidental push of a intermediate change locally. This reverts commit 25e548c96b3d8c1698fd4385b4dc395665b5a7f6.
2021-09-19GPencil: Curvature support for length modifier.YimingWu
2021-09-18Audaspace: added audio file streams functionality.Jörg Müller
On the blender side this commit fixes importing video files with audio and video streams that do not share the same start time and duration. Differential Revision: https://developer.blender.org/D12353
2021-09-18Cleanup: add missing includesJacques Lucke
2021-09-18Cleanup: typoJacques Lucke
2021-09-18Fix T91461: Pose Library name filter not workingPhilipp Oeser
since `AssetHandle` does not have a `name_property` (`RNA_def_struct_name_property`), and the UIList is just using the default `uilist_filter_items_default` it simply cannot filter on names (`RNA_struct_name_get_alloc` wont succeed). Adding a name_property also wont work since `AssetHandle` inherits `PropertyGroup` (which already sets name_property). So this adds a (temporary) hack exception for RNA_AssetHandle in uilist_filter_items_default until the design of `AssetHandle` progresses further. thx @Severin for additional feedback Maniphest Tasks: T91461 Differential Revision: https://developer.blender.org/D12541
2021-09-17UI: Always Create Asset PreviewsHarley Acheson
This patch allows Asset Browser previews to be made regardless of the setting of the (unrelated) "File Preview Type" Preference. See D12484 for more details. Differential Revision: https://developer.blender.org/D12484 Reviewed by Julian Eisel
2021-09-17Fix (harmless) mistake in recent new Append code.Bastien Montagne
This code path is not yet used so no harm, but that was a fairly nasty potential crash-generator.
2021-09-17Cleanup: clang-tidy warnings in UUID codeSybren A. Stüvel
Use C++ version of C headers, and avoid static function call on instance. No functional changes.
2021-09-17Cleanup: fix memory leakJacques Lucke
2021-09-17Fix T91481: Grease Pencil Layer Double TransformationsHenrik Dick
Use the inverse of the grease pencil object. This patch fixes the issue for bones and objects. Maniphest Tasks: T91481 Differential Revision: https://developer.blender.org/D12539
2021-09-17Blenlib: introduce a UUID typeSybren A. Stüvel
Add `BLI_uuid` and `DNA_uuid_types.h` with a UUID implementation following RFC4122 (https://datatracker.ietf.org/doc/html/rfc4122.html). The following features are implemented: - A struct of 128 bits that can be used in DNA definitions. - Generation of version 4 UUIDs, that is, purely random ones. - UUID equality function. - String to UUID and UUID to string conversion functions that are compatible with RFC4122. - C++ stream operator that outputs the UUID as string. This UUID will be used by the asset system, to uniquely identify asset catalogs. Reviewed By: Severin, jacqueslucke Differential Revision: https://developer.blender.org/D12475
2021-09-17Fix T91448: GPencil Fill simplify not working in renderAntonio Vazquez
The simplify was hardcode to be disabled in render.
2021-09-17Fix T85564: FCurve modifier zero influence on restrict range bordersPhilipp Oeser
When using FModifier `Restrict Frame Range`, the resulting influence was zero being exactly on `Start` / `End` range borders (so borders were **exclusive**). This made it impossible to chain FModifers together (forcing the user to specify values slightly below the desired border in following FModifiers). This is now corrected to be **inclusive** on Start / End range borders. Before {F10234864} After {F10234865} Testfile {F10234866} In the case of touching open borders (so [frame A frame B] followed by [frame B frame C]) both modifiers are evaluated (in stack order). If the later modifier has full influence (and is not additive) this simply means the result is the same as the later modifier's value. If influences below 1 are used (or modifiers are additive) both modifier's values are interpolated/added accordingly. technical notes: - this was caused by the introduction of FModifier Influence/BlendIn-Out in rB185663b52b61. - for comparison, see other occurrences of `FMODIFIER_FLAG_RANGERESTRICT`. - the following conditions in `eval_fmodifier_influence` for blend in/ out have been changed accordingly. Maniphest Tasks: T85564 Differential Revision: https://developer.blender.org/D10401
2021-09-17WM: expose the "any" state of KeyMapItem modifiersCampbell Barton
Change KeyMapItem.alt/ctrl/shift/oskey to integer types, where -1 is used to ignore the modifier when matching key-map items. It was only possible to set all modifiers to -1 at once from RNA using the 'any' property. Afterwards individual modifiers could be set back to true/false. Although these key-map items could not be exported/imported. Exposing the values directly avoids the need for cumbersome workarounds.
2021-09-17Cleanup: remove KM_MOD_SECOND & KM_SHIFT2, KM_CTRL2.. etcCampbell Barton
These were added in a1c8543f2acd7086d412cb794b32f96794b00659 (2007) but never used. Nor did they have any meaning in practice. Note that versioning keymap items isn't needed as these values were never set. The code-paths that set these values also set KM_MOD_FIRST causing `keymap_event_set` to only ever assign values of 0 or 1. These flags complicate further exposing KM_ANY (-1) which is also a valid value for modifiers.
2021-09-17UI: expose "Lasso Select" & "Extrude to Cursor" in menusCampbell Barton
- Show "Lasso Select" in menus (along with Box & Circle select) - Show "Extrude to Cursor" (along with other extrude actions). - Rename operators that add/extrude on Ctrl-Click since their names were inconsistent. This is mainly for discoverability.
2021-09-17UI: enable the depend-on-cursor flag for some operatorsCampbell Barton
- Bend (Transform). - Extrude to Cursor. - Lasso Select (related operators such as node-cut links, mask.. etc). - Rip Mesh / UV's. - Vertex/Edge Slide.
2021-09-17UI: split screenshot area into a separate operatorCampbell Barton
While the screenshot operator showed an "Area" option, it wasn't usable from the main menu (unless accessed via menu search). Split screenshot area into an operator that depends on cursor.
2021-09-17UI: wait for input for operators that depend on cursor locationCampbell Barton
Support waiting for input so operators that depend on the cursor location are usable from menus / buttons. Use an operator type flag which the user interface code checks for, waiting for input when run from a menu item. This patch only supports this feature, there are no functional changes. The motivation for this change is discoverability since some actions were either hidden or broken when accessed from menus (where the behavior of the operator depended on the menu location). In general, waiting for input is *not* an efficient way to access tools, however there are over 50 operators with a "wait_for_input" property so this isn't introducing a new kind of interaction, rather exposing this in a way that does not need to be hard-coded into each operator, or having modal callbacks added for the sole purpose of waiting for input. Besides requiring boiler plate code using a "wait_for_input" property has the added down-side of preventing key shortcuts from showing. Only the menu items will enable the property, causing them not to match key-map items. Reviewed By: Severin Ref D12255
2021-09-17Fix: Nodes modifier ignores input value with new property missingHans Goudey
An issue with the previous commit-- the default value of the type was used instead of the property value when the "use_attribute" property was missing.
2021-09-17Geometry Nodes: Add a toggle to use attributes as input valuesHans Goudey
This adds a toggle to node group inputs exposed in the modifier to use an attribute instead of a single value. When the toggle is pressed, the button switches to a text button to choose an attribute name. Attribute search isn't implemented here yet. One confusing thing is that some values can't be driven by attributes at all, like the size of a primitive node. In that case, we should have a node warning, but that will be separate since it's more general. We can also have an option to turn off this toggle in node group input settings. The two new properties for each input are stored with the same name as the value, but with `"_use_attribute"` and `"_attribute_name"`` suffixes. The properties are not added for socket types that don't support attribute input, like object sockets. Differential Revision: https://developer.blender.org/D12504
2021-09-17UI: Automatic Blend Thumbnail SelectionHarley Acheson
Adds an "Auto" option to blend thumbnail types that will automatically use Screenshot if there is no camera and 3dview, or workbench render with shading settings from the largest 3dview. See D12407 for more details. Differential Revision: https://developer.blender.org/D12407 Reviewed by Campbell Barton
2021-09-17Cleanup: Pass const mesh argumentHans Goudey
Also remove unnecessary parantheses.
2021-09-16Cleanup: Move mesh_convert.c to C++Hans Goudey
This should allow easier changes when it's helpful to use C++ types. The diff is for a test on the buildbot. Differential Revision: https://developer.blender.org/D12528
2021-09-16UI: Remove Menus & Show Wait Cursor When SavingHarley Acheson
When saving blend files close any menus that might be open, show "waiting" mouse cursor right away, before creating preview. See D12507 for more details. Differential Revision: https://developer.blender.org/D12507 Reviewed by Campbell Barton
2021-09-16Cleanup: Remove unnecessary manual of move constructorHans Goudey
Turns out this isn't actually necessary.
2021-09-16Geometry Nodes: Transfer attributes in the curve to mesh nodeHans Goudey
This patch allows point and spline attributes to be transferred to the mesh generated by the curve to mesh node. All dynamic named and anonymous attributes are transferred. So a user-created attribute will be transferred, but "radius", "tilt" or the handle position attributes won't be transferred by default and will need to be copied first. This trade-off is made for performance, since most of the time, users won't need these attributes copied. Generally, attributes are transferred to the point/vertex domain. However, if they have the same name as a built-in mesh attribute that only exists on a different domain, like "shade_smooth", then they can be transferred directly to that domain as well. Conversion directly to the face corner domain is not necessary because there are no builtin face corner attributes. I see this conversion directly to other domains as an optimization we could use behind the scenes in the future as well, when named attributes are less common. For performance, I haven't tested which of the following is better: ``` for each spline combination: for each attribute: for each attribute: for each spline combination: ``` For now I used the existing loop to avoid more threading overhead. Differential Revision: https://developer.blender.org/D12363
2021-09-16Geometry Nodes: Simplify using OutputAttribute in a vectorHans Goudey
Store the optional temporary span storage as a unique_ptr and move it in the move constructor, to avoid the need to add a special move constructor that clears the "show_warning" fields from it. Maybe this is very slightly slower, but we'll need this class less often in the future anyway.
2021-09-16Cleanup: Add built-in check for an attribute IDHans Goudey