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-26Merge branch 'blender-v2.93-release'Jacques Lucke
2021-05-26Fix T88250: crash when instancing object in disabled collectionJacques Lucke
This issue was that `BKE_object_eval_uber_data` was not called for the text object, because its geometry was not dependent upon and its `is_directly_visible` tag was `false`. The crash happens in rendering code, because the evaluated data is missing. This not only affects text objects, but all object types that have a geometry component that geometry nodes does not support yet. The solution is to just add the missing dependencies. Differential Revision: https://developer.blender.org/D11385
2021-05-26GPencil: Bake GPencil object transforms into a new GPencil objectAntonio Vazquez
This operator is a common request of animators to convert the transformation (inluding modifiers) of one grease pencil object, into a new object, generating strokes. Reviewed By: pepeland Maniphest Tasks: T87424 Differential Revision: https://developer.blender.org/D11014
2021-05-26Nodes: fix threading issues with node ui storageJacques Lucke
Calling BKE_nodetree_attribute_hint_add from multiple threads still was not safe before.. One issue was that context_map embedded its values directly. So when context_map grows, all NodeUIStorage would move as well. I could patch around that by using std::unique_ptr in a few places, but that just becomes too complex for now. Instead I simplified the locking a bit by adding just locking a mutex in NodeTreeUIStorage all the time while an attribute hint is added. Differential Revision: https://developer.blender.org/D11399
2021-05-26Fix T88588: crash when muting node with multi input socketJacques Lucke
The bug existed before the new evaluator already, but the new evaluator is more sensitive to this kind of error.
2021-05-26Cycles: optimize attributes device updatesKévin Dietrich
When an `AttributeSet` is tagged as modified, which happens after the addition or removal of an `Attribute` from the set, during the following GeometryManager device update, we update and repack the kernel data for all attribute types. However, if we only add or remove a `float` attribute, `float2` or `float3` attributes should not be repacked for efficiency. This patch adds some mechanisms to detect which attribute types are modified from the AttributeSet. Firstly, this adds an `AttrKernelDataType` to map the data type of the Attribute to the one used in the kernel as there is no one to one match between the two since e.g. `Transform` or `float4` data are stored as `float3s` in the kernel. Then, this replaces the `AttributeSet.modified` boolean with a set of flags to detect which types have been modified. There is no specific flag type (e.g. `enum ModifiedType`), rather the flags used derive simply from the `AttrKernelDataType` enumeration, to keep things synchronized. The logic to remove an `Attribute` from the `AttributeSet` and tag the latter as modified is centralized in a new `AttributeSet.remove` method taking an iterator as input. Lastly, as some attributes like standard normals are not stored in the various kernel attribute arrays (`DeviceScene::attribute_*`), the modified flags are only set if the associated standard corresponds to an attribute which will be stored in the kernel's attribute arrays. This makes it so adding or removing such attributes does not trigger an unnecessary update of other type-related attributes. Reviewed By: brecht Differential Revision: https://developer.blender.org/D11373
2021-05-26Fix particlesystem not duplicating their pointcache in NO_MAIN case.Bastien Montagne
Sharing data between duplicated IDs should be restricted to depsgraph (CoW) cases, not all NO_MAIN ones... While this was probably not an issue currently, we aim at using more and more out-of-main IDs for temp data processing. NOTE: Somewhat related to T88555, and similar issue as the one fixed in rBdfb963c70df5.
2021-05-26Fix T88552: Cycles changing Render Passes in viewport does not workSergey Sharybin
2021-05-26Cleanup: Simplify Cycles viewport parametersSergey Sharybin
Use early output and access shading RNA object only once.
2021-05-26Compositor: Use BLI_color in convert alpha node.Jeroen Bakker
Recently the CPP colors module landed in master. This patch will use the new module in the convert alpha node.
2021-05-26Cleanup: Remove unused argument in Cycles syncSergey Sharybin
Makes it easier to see where exactly the viewport is used.
2021-05-26Fix T88534: Unable to add a Geometry Node Tree on Volume objectPhilipp Oeser
Volumes are supported, poll corrected. Maniphest Tasks: T88534 Differential Revision: https://developer.blender.org/D11378
2021-05-26Fix T88531: Mantaflow problem with geometry nodesPhilipp Oeser
Objects modified by geometry nodes modifiers were not caught as being "dynamic". Now add this modifier type to the list of modifiers making them "dynamic" in the eyes of mantaflow. (noticed by @sebbas in chat) Maniphest Tasks: T88531 Differential Revision: https://developer.blender.org/D11389
2021-05-26Fix T88566: Mantaflow inflow with shapekeys is not working anymorePhilipp Oeser
(regression) Code was actually checking for shapekeys, but these were not detected properly (some effects like shape keys are added as virtual modifiers before the user created modifiers) Now go over virtual modifiers as well. Maniphest Tasks: T88566 Differential Revision: https://developer.blender.org/D11388
2021-05-26Merge branch 'blender-v2.93-release'Philipp Oeser
2021-05-26Fix T88251: "Operator Cheat Sheet" CrashPhilipp Oeser
Caused by {rB919558854d62}. Same fix as in {rBdc8a43c8755a} -- let RNA enum item callbacks check for NULL context. The NULL context is used to extract items for document generation. Maniphest Tasks: T88251 Differential Revision: https://developer.blender.org/D11391
2021-05-25Cleanup: Fix short comparison with bool warningHans Goudey
For some reason the hide status is stored in a short and a char (we cannot have bools in DNA).
2021-05-25Bump FFmpeg version from 4.2.3 to 4.4Sybren A. Stüvel
Bump FFmpeg version to 4.4 to fix a problem where it would write the wrong frame rate. Their old API was deprecated and Blender moved to the new one in rB8d6264ea12bfac0912c7249f00af2ac8e3409ed1. The new one produced files with the wrong frame rate, which was fixed in FFmpeg 4.4. Manifest Task: T88568 Reviewed By: LazyDodo, zeddb Differential Revision: https://developer.blender.org/D11392
2021-05-25deps: Fix broken boost linkRay Molenkamp
2021-05-25GPencil: Add a use_light option when creating object.YimingWu
This option is default off when creating line art objects because line art seldom use lighting and the normal data would be all over the place anyway. Reviewed By: Antonio Vazquez (antoniov) Differential Revision: https://developer.blender.org/D11372
2021-05-25Cleanup: Use ListBase in various places in line art.YimingWu
This clarifies the data structures for storing edges for different calculation stages. Reviewed By: Sebastian Parborg (zeddb) Differential Revision: https://developer.blender.org/D11386
2021-05-25Blenlib: Explicit Colors.Jeroen Bakker
Colors are often thought of as being 4 values that make up that can make any color. But that is of course too limited. In C we didn’t spend time to annotate what we meant when using colors. Recently `BLI_color.hh` was made to facilitate color structures in CPP. CPP has possibilities to enforce annotating structures during compilation and can adds conversions between them using function overloading and explicit constructors. The storage structs can hold 4 channels (r, g, b and a). Usage: Convert a theme byte color to a linearrgb premultiplied. ``` ColorTheme4b theme_color; ColorSceneLinear4f<eAlpha::Premultiplied> linearrgb_color = BLI_color_convert_to_scene_linear(theme_color).premultiply_alpha(); ``` The API is structured to make most use of inlining. Most notable are space conversions done via `BLI_color_convert_to*` functions. - Conversions between spaces (theme <=> scene linear) should always be done by invoking the `BLI_color_convert_to*` methods. - Encoding colors (compressing to store colors inside a less precision storage) should be done by invoking the `encode` and `decode` methods. - Changing alpha association should be done by invoking `premultiply_alpha` or `unpremultiply_alpha` methods. # Encoding. Color encoding is used to store colors with less precision as in using `uint8_t` in stead of `float`. This encoding is supported for `eSpace::SceneLinear`. To make this clear to the developer the `eSpace::SceneLinearByteEncoded` space is added. # Precision Colors can be stored using `uint8_t` or `float` colors. The conversion between the two precisions are available as methods. (`to_4b` and `to_4f`). # Alpha conversion Alpha conversion is only supported in SceneLinear space. Extending: - This file can be extended with `ColorHex/Hsl/Hsv` for different representations of rgb based colors. `ColorHsl4f<eSpace::SceneLinear, eAlpha::Premultiplied>` - Add non RGB spaces/storages ColorXyz. Reviewed By: JacquesLucke, brecht Differential Revision: https://developer.blender.org/D10978
2021-05-25Revert "Blenlib: Explicit Colors."Jeroen Bakker
This reverts commit fd94e033446c72fb92048a9864c1d539fccde59a. does not compile against latest master.
2021-05-25Blenlib: Explicit Colors.Jeroen Bakker
Colors are often thought of as being 4 values that make up that can make any color. But that is of course too limited. In C we didn’t spend time to annotate what we meant when using colors. Recently `BLI_color.hh` was made to facilitate color structures in CPP. CPP has possibilities to enforce annotating structures during compilation and can adds conversions between them using function overloading and explicit constructors. The storage structs can hold 4 channels (r, g, b and a). Usage: Convert a theme byte color to a linearrgb premultiplied. ``` ColorTheme4b theme_color; ColorSceneLinear4f<eAlpha::Premultiplied> linearrgb_color = BLI_color_convert_to_scene_linear(theme_color).premultiply_alpha(); ``` The API is structured to make most use of inlining. Most notable are space conversions done via `BLI_color_convert_to*` functions. - Conversions between spaces (theme <=> scene linear) should always be done by invoking the `BLI_color_convert_to*` methods. - Encoding colors (compressing to store colors inside a less precision storage) should be done by invoking the `encode` and `decode` methods. - Changing alpha association should be done by invoking `premultiply_alpha` or `unpremultiply_alpha` methods. # Encoding. Color encoding is used to store colors with less precision as in using `uint8_t` in stead of `float`. This encoding is supported for `eSpace::SceneLinear`. To make this clear to the developer the `eSpace::SceneLinearByteEncoded` space is added. # Precision Colors can be stored using `uint8_t` or `float` colors. The conversion between the two precisions are available as methods. (`to_4b` and `to_4f`). # Alpha conversion Alpha conversion is only supported in SceneLinear space. Extending: - This file can be extended with `ColorHex/Hsl/Hsv` for different representations of rgb based colors. `ColorHsl4f<eSpace::SceneLinear, eAlpha::Premultiplied>` - Add non RGB spaces/storages ColorXyz. Reviewed By: JacquesLucke, brecht Differential Revision: https://developer.blender.org/D10978
2021-05-25Fix T88096: Baking with OptiX and displacement failsPatrick Mours
Using displacement runs the shader eval kernel, but since OptiX modules are not loaded when baking is active, those were not available and therefore failed to launch. This fixes that by falling back to the CUDA kernels.
2021-05-25Geometry Nodes: Add Shader Curve NodesCharlie Jolly
Convert curve vec and curve rgb shader nodes to geometry nodes, based on node_shader_valToRgb.cc implementation.
2021-05-25Cleanup: Line art naming changes.YimingWu
Make variable naming consistent with struct names. Reviewed By: Sebastian Parborg (zeddb) Differential Revision: https://developer.blender.org/D11382
2021-05-25Cleanup: Convert to static type directly from CPPTypeHans Goudey
2021-05-25Fix T86956: VSE shading mode ignores Grease Pencil Vertex colors.Jeroen Bakker
Issue is that due to the strange definition of render in grease pencil (meaning should be rendered similar to rendering). This included normal viewport rendering in OB_RENDER and OpenGL render in OB_RENDER. For other rendering modes the overlay vertex opacity would be used. This patch sets this value to 1 when rendering via a scene strip override. NOTE: that this isn't a good solution as I expect that users want to use the opacity of the Grease pencil object. Perhaps the GPencil team has a better solution for it.
2021-05-25Unreported fix: vertex colors overlay not set for new 3d views.Jeroen Bakker
Found during researching {T86956}.
2021-05-25Merge branch 'blender-v2.93-release'Richard Antalik
2021-05-25Fix T88551: Crash accessing uninitialized tool settingsRichard Antalik
Tool settings for sequencer were not initialized, which caused crash when adding strips. There was fix for same issue in versioning rB0f81dafe6cec, but subversion was not bumped, so files with uninitialized tool settings may still exist. Add `SEQ_tool_settings_get()` accessor function that will initialize tool settings if they are missing. Change operator code to use `SEQ_tool_settings_fit_method_get()` function instead of accessing tool settings directly Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D11383
2021-05-25Cleanup: use nullptrJacques Lucke
2021-05-25Cleanup: remove unused functionJacques Lucke
2021-05-25Cleanup: remove unnecessary lambda captureJacques Lucke
2021-05-25Fix T88549: ID sorting tests.Bastien Montagne
Forgot to initialize the ID types array... Weird though that this only failed on Windows! Thanks a lot to @deadpin for helping investigating this.
2021-05-25Fix T88464: Incorrect baking with camera markers.YimingWu
This will update active camera based on the maker for each frame. Reviewed By: Sebastian Parborg (zeddb), Antonio Vazquez (antoniov) Differential Revision: https://developer.blender.org/D11358
2021-05-25Fix/Refactor RNA ID preview getter creating preview data.Bastien Montagne
Same as with forcefields, accessors should never generate data.
2021-05-25Cleanup: spellingCampbell Barton
2021-05-25Cleanup: clang-formatCampbell Barton
2021-05-24Fix T88500: Constrain window top position (Win32)Pratik Borhade
Do not allow a window to be created that has a top position that can obscure all or part of title bar. Right and Left edges can still be specified slightly outside of monitor bounds, but top edge must be clamped to monitor top. see D11371 for more details. https://developer.blender.org/D11371 Reviewed by Ray Molenkamp
2021-05-24Merge branch 'blender-v2.93-release'Germano Cavalcante
2021-05-24Fix T88478: Fallback to dolly not working when moving the camera in camera viewGermano Cavalcante
This fallback is an old hack. It is difficult to have an orientation convention when several random factors determine which one should be used. In this case, to "fix" the problem, a new behavior had to be implemented. Now the redo when moving the camera in `Camera View` has the default orientation as `View`.
2021-05-24Fix (unreported): Automatic transform contraint not being disabledGermano Cavalcante
It does not make sense to maintain automatic constraint selection when you manually set the constraint.
2021-05-24Cleanup: Rename transform enum itemsGermano Cavalcante
Make them more descriptive.
2021-05-24Cleanup: Refactor PlaneTrack and PlaneDistort operationsManuel Castilla
Deduplicates code by introducing a PlaneDirtortBaseOperation for common logic. Reviewed By: #compositing, jbakker Differential Revision: https://developer.blender.org/D11273
2021-05-24Nodes: move shader curves node to C++Charlie Jolly
Prepare node for conversion to Geometry Nodes. There should be no functional changes. Reviewed By: JacquesLucke, LazyDodo Differential Revision: https://developer.blender.org/D11226
2021-05-24Fix T88524: GPencil PDF does not take into account the marker cameraAntonio Vazquez
The camera was not checked before doing the export.
2021-05-24Fix T88466: Sound strips prevent strip renderingRichard Antalik
When sound strip is above another strip such as movie strip, it prevents from rendering movie strip. This bug was introduced in 0b7744f4da66. Function `must_render_strip()` checks if there is any strip with `SEQ_BLEND_REPLACE` blending and considers this strip as lowest strip in stack. Sound strips do have this blend mode set, which caused the bug. Remove all sound strips and muted strips from stack collection before checking with `must_render_strip()` function
2021-05-23UI: Use title case for labelsAaron Carlisle