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-06-01Compositor: Full-frame base systemManuel Castilla
This patch adds the base code needed to make the full-frame system work for both current tiled/per-pixel implementation of operations and full-frame. Two execution models: - Tiled: Current implementation. Renders execution groups in tiles from outputs to input. Not all operations are buffered. Runs the tiled/per-pixel implementation. - FullFrame: All operations are buffered. Fully renders operations from inputs to outputs. Runs full-frame implementation of operations if available otherwise the current tiled/per-pixel. Creates output buffers on first read and free them as soon as all its readers have finished, reducing peak memory usage of complex/long trees. Operations are multi-threaded but do not run in parallel as Tiled (will be done in another patch). This should allow us to convert operations to full-frame in small steps with the system already working and solve the problem of high memory usage. FullFrame breaking changes respect Tiled system, mainly: - Translate, Rotate, Scale, and Transform take effect immediately instead of next buffered operation. - Any sampling is always done over inputs instead of last buffered operation. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D11113
2021-05-31Display source video fps in the VSESebastian Parborg
Now FPS is displayed in the video source for videos to provide easy access. Reviewed By: Richard Antalik Differential Revision: http://developer.blender.org/D11441
2021-05-31VSE: Fix missing cache invalidationRichard Antalik
Fixes T88606
2021-05-31Fix T88666: Cryptomatte: EXR sequence does not update when scrubbing the ↵Jeroen Bakker
timeline. Cause is that initializing the cryptomatte session would reset the current frame of an image sequence. The solution is to always use the scene current frame so it resets to the correct frame. This was a todo that wasn't solved after it landed in master. Needs to be backported to 2.93.
2021-05-29Docs: Add documentation for 'material_index'Aaron Carlisle
Fixes T88485
2021-05-28Merge branch 'blender-v2.93-release'Hans Goudey
2021-05-28Fix T88601: Attribute Compare boolean doesn't expose socketHans Goudey
While we could make this node work for boolean inputs in the future, currently it's really just designed to compare "float-like" inputs. Many comparison modes don't even make sense for boolean inputs. Therefore, the simplest fix for this bug is just to disable the boolean attribute input modes for this node. Differential Revision: https://developer.blender.org/D11427
2021-05-28Fix T88499: Copy data path operator does not consider library affiliationPhilipp Oeser
When using the operator `ui.copy_data_path_button(full_path=True)` ({key ctrl shift Alt C} on hover) the copied path does not consider the library origin. That means that when there is a name clash the data path is not accurate and refers to the local item instead. This patch adds the library (if the ID is linked) of the returned string from RNA_path_full_ID_py. bpy.data.objects["Cube", "//library.blend"] instead of bpy.data.objects["Cube"] note: parsing this happens in pyrna_prop_collection_subscript_str_lib_pair_ptr Maniphest Tasks: T88499 Differential Revision: https://developer.blender.org/D11412
2021-05-26GPencil: Cleanup - Conform with RNA naming schemeFalk David
The newly added `disable_masks_viewlayer` RNA property did not conform with the RNA naming scheme. This renames it to `use_viewlayer_masks`.
2021-05-26GPencil: Add option to disable masks in view layerFalk David
This patch adds an option in the Layers > Relations panel called "Disable Masks in Render". When checked, no masks on this layer are included in the render. Example: | {F10087680} | {F10087681} | See T88202 for why this is needed. Reviewed By: antoniov Maniphest Tasks: T88202 Differential Revision: https://developer.blender.org/D11234
2021-05-25Unreported fix: vertex colors overlay not set for new 3d views.Jeroen Bakker
Found during researching {T86956}.
2021-05-25Fix/Refactor RNA ID preview getter creating preview data.Bastien Montagne
Same as with forcefields, accessors should never generate data.
2021-05-21Merge branch 'blender-v2.93-release'Hans Goudey
2021-05-21Fix T87357: Missing update after removing socketJacques Lucke
The CoW copy of the node group was not updated correctly after it changed. Arguably, tagging the node tree could also be part of `ntreeUpdateTree` (which needs to be called after changes to the node tree anyway). However, there are many instances where the depsgraph is tagged explicitly after `ntreeUpdateTree` is called, so it should be fine here as well. This is similar to what is done in `snode_dag_update`. Differential Revision: https://developer.blender.org/D11342
2021-05-21Fix some RNA physics accessors creating data.Bastien Montagne
Accessing data through RNA should never implicitely create it. Objects' and particles' forcefields and collision settings were doing this. Note that UI code also had to be tweaked to properly handle `None` (NULL) cases. Differential Revision: https://developer.blender.org/D11341
2021-05-21Cleanup: quiet -Warray-parameter warnings from GCC11Campbell Barton
Some warnings remain that require larger changes.
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-20Cleanup: rename incorrectly named experimental feature flagJacques Lucke
The `WITH_GEOMETRY_NODES` flag does not make sense anymore, it is just protecting the `Simulation` data block that is not used currently.
2021-05-20Geometry Nodes: new Material input nodeJacques Lucke
This node is similar to the Value and Vector node. It just provides a way to use the same material in multiple nodes without exposing it outside of a node group. Differential Revision: https://developer.blender.org/D11305
2021-05-19VSE: Refactor sorting functionsRichard Antalik
Recently `SEQ_sort()` function was split so functionality is provided on per-seqbase basis. After discussion about this split, it turned out, that per-seqbase operation is only that should be provided, because RNA API functions need to be able to access arbitrary seqbase Remove recently introduced function `seq_sort_seqbase` and change `SEQ_sort` function to operate on seqbase. Reviewed By: sergey Differential Revision: https://developer.blender.org/D11297
2021-05-19Geometry Nodes: don't show grease pencil materials for nowJacques Lucke
Those materials cannot be on geometry handled by geometry nodes yet. So it makes sense not to show those materials in the material socket.
2021-05-19Fix issue in previous commitJacques Lucke
When `PointerRNA->data` was null, it was interpreted as being `None` in Python. This caused the materials slots to not show correctly in the ui.
2021-05-19Materials: support changing materials during evaluationJacques Lucke
This commit allows that the evaluated geometry of an object has different materials from the original geometry. This is needed for geometry nodes. The main thing that changes for render engines and exporters is that the number of material slots on an object and its geometry might not match anymore. For original data, the slot counts are still equal, but not for evaluated data. Accessing material slots though rna stays the same. The behavior adapts automatically depending on whether the object is evaluated. When accessing materials of an object through `BKE_object_material_*` one has to use a new api for evaluated objects: `BKE_object_material_get_eval` and `BKE_object_material_count_eval`. In the future, the different behavior might be hidden behind a more general C api, but that would require quite a few more changes. The ground truth for the number of materials is the number of materials on the geometry now. This is important in the current design, because Eevee needs to know the number of materials just based on the mesh in `mesh_render_mat_len_get` and similar places. In a few places I had to add a special case for mesh edit mode to get it to work properly. This is unfortunate, but I don't see a way around that for now. Differential Revision: https://developer.blender.org/D11236
2021-05-17UI: use non-linear slidersHenrik Dick
* Boolean Modifier > Fast > Overlap Threshold (Logarithmic). * Remesh Modifier > Voxel > Voxel Size (Logarithmic). * Sculpt > Dyntopo > Detail Size (Cubic). Ref D9074
2021-05-17UI: add non-linear slider supportHenrik Dick
This patch introduces non linear sliders. That means, that the movement of the mouse doesn't map linearly to the value of the slider. The following changes have been made. - Free logarithmic sliders with maximum range of (`0 <= x < inf`) - Logarithmic sliders with correct value indication bar. - Free cubic sliders with maximum range of (`-inf < x < inf`) - Cubic sliders with correct value indication bar. Cubic mapping has been added as well, because it's used for brush sizes in other applications (Krita for e.g.). To make a slider have a different scale type use following line in RNA: `RNA_def_property_ui_scale_type(prop, PROP_SCALE_LOGARITHMIC);` or: `RNA_def_property_ui_scale_type(prop, PROP_SCALE_CUBIC);` Test the precision, step size and soft-min if you change the scale type of a property as it will feel very different and may need tweaking. Ref D9074
2021-05-15Merge branch 'blender-v2.93-release'Philipp Oeser
2021-05-15Fix T88188: Keyframing Vertex Mass in Cloth Simulation doesn't have anyPhilipp Oeser
effect The way it is now, `ClothVertex->mass` is setup once for the clothObject and then reused if it already exists [so does not change across frames/ steps] which happens in`cloth_from_object` / `do_init_cloth`, where `SIM_cloth_solver_init` / `SIM_mass_spring_set_vertex_mass` are called and set up masses in `Implicit_Data`. Seems possible to update `ClothVertex->mass` every step in `do_step_cloth`, however it seems more involved to update the masses in `Implicit_Data` there as well. The masses from `Implicit_Data` are accessed in many places, so it would be mandatory to have these masses kept up-to-date (and even then it is unclear if the solver was designed to work with these animated or if there are assumptions about this being stable across the sim). So propose to remove the (broken/not implemented) animation capabilities on the property instead. Maniphest Tasks: T88188 Differential Revision: https://developer.blender.org/D11225
2021-05-14GPencil: Refactor Append operatorsAntonio Vazquez
Now the operators work like other areas of Blender using the list of selected objects. Also, the name has been changed to: ```Layers: - Copy Layer to Selected - Copy All Layers to Selected Materials: - Copy Material to Selected - Copy All Materials to Selected``` Reviewed By: mendio, pablovazquez, pepeland Differential Revision: https://developer.blender.org/D11216
2021-05-14Geometry Nodes: use texture socket in Attribute Sample Texture nodeJacques Lucke
There is a new Texture data-block socket that we can use in Geometry Nodes now. This commit replaces the texture property of a node and gives it a texture input socket instead. That increases flexibility. The texture socket still has some limitations that will be lifted in the next couple of days (e.g. it's not supported by the switch node and cannot be exposed the a modifier yet). Differential Revision: https://developer.blender.org/D11222
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-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-10GPencil: Rename prop `dilate_pixels` to `dilate`Antonio Vazquez
Better avoid units in name.
2021-05-10Merge remote-tracking branch 'origin/blender-v2.93-release'Sybren A. Stüvel
2021-05-10Fix T54339: Shapekey Max value doesn't clamp existing valuePratik Borhade
Update the "current value" of the Shape Key blend amount when value is not within the min/max range. New function `rna_ShapeKey_update_minmax` used to update and clamp the current value. Reviewed By: mano-wii, lichtwerk, #animation_rigging, sybren Maniphest Tasks: T54339 Differential Revision: https://developer.blender.org/D11071
2021-05-09Merge branch 'blender-v2.93-release'Pablo Vazquez
2021-05-09GPencil: Sort Line Art modifier alphabeticallyPablo Vazquez
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-06Cleanup: VSE: move functions from incorrect fileRichard Antalik
`SEQ_recursive_apply` and `SEQ_seqbase_recursive_apply` were incorrectly refactored into `iterator.c` file, but they aren't part and don't use sequencer iterator. Functions are moved to `utils.c` file.
2021-05-05Merge branch 'blender-v2.93-release'Philipp Oeser
2021-05-05Cleanup: clang formatPhilipp Oeser
Missing from rB04905c56523a, sorry for the noise.
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-05-04Fix T87935: allow library overrides on NLA/FCurve modifiersSybren A. Stüvel
Mark NLA/FCurve modifier properties as library-overridable. It was already allowed to add such modifiers to a library-overridden object, but then the properties of those modifiers were read-only, limiting their use.
2021-05-03Geometry Nodes: Initial basic curve data supportHans Goudey
This patch adds initial curve support to geometry nodes. Currently there is only one node available, the "Curve to Mesh" node, T87428. However, the aim of the changes here is larger than just supporting curve data in nodes-- it also uses the opportunity to add better spline data structures, intended to replace the existing curve evaluation code. The curve code in Blender is quite old, and it's generally regarded as some of the messiest, hardest-to-understand code as well. The classes in `BKE_spline.hh` aim to be faster, more extensible, and much more easily understandable. Further explanation can be found in comments in that file. Initial builtin spline attributes are supported-- reading and writing from the `cyclic` and `resolution` attributes works with any of the attribute nodes. Also, only Z-up normal calculation is implemented at the moment, and tilts do not apply yet. **Limitations** - For now, you must bring curves into the node tree with an "Object Info" node. Changes to the curve modifier stack will come later. - Converting to a mesh is necessary to visualize the curve data. Further progress can be tracked in: T87245 Higher level design document: https://wiki.blender.org/wiki/Modules/Physics_Nodes/Projects/EverythingNodes/CurveNodes Differential Revision: https://developer.blender.org/D11091
2021-05-03Fix wrong tracking curves after changing clip offsetSergey Sharybin
The issue was caused by frame start/offset change triggering clip reload, which was happening with a hardcoded scene frame index of 1, which could be outside of the actual clip frames. Solved by removing source change tag from the frame start/offset update. The source doesn't really change: the resolution will stay the same, as well as media type, its duration. So the tag was not needed.