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-14Cleanup: Move attribute code to attribute headerHans Goudey
This code in the geometry set header was not directly related to geometry sets, it makes more sense in the attribute access header. This makes it clearer that code for geometry components uses attribute code, rather than the other way around. It also allows adding more functionality to `BKE_attribute_access.hh` that depends on these things without including `BKE_geometry_set.hh` there.
2021-05-14Fix T88262: Curve to mesh crash with vector last segmentHans Goudey
The code incorrectly used the size of the second to last segment rather than the last segment's size. That was a problem when the last segment is a vector segment but the second to last isn't. I also used the opportunity to slightly refactor the control point offsets cache, making it one longer so it also contains information about the size of the last segment, simplifying other code.
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: remove some unnecessary updatesJacques Lucke
This fixes a few "obvious" places where we do unnecessary updates. Those special cases were added in the early days of geometry nodes when many updates were missing and we tried to get it to work at all. There is a fairly high risk that with this change some required updates will be missing again. Those can be fixed when we find thme. Some of the update issues might have been fixed by rB58818cba40794905f9323080e60884e090f2d388 and similar changes we added over time. Differential Revision: https://developer.blender.org/D11238
2021-05-14Cleanup: spelling, rename metas to meta-strips / meta-ballsCampbell Barton
2021-05-14Fix sculpt neighbor iterator not taking visibility into accountPablo Dobarro
Sculpting tools are designed to ignore hidden geometry and behave like hidden geometry does not exist. When getting the neighbors of a vertex, now this takes into account hidden geometry to avoid returing neighbors which connected edge is not visible. This should make corner cases of a lot of tools work properly, especially when working in low poly meshes when is common to have a single face loop hidden. Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D11007
2021-05-14Cleanup: Clang formatHans Goudey
2021-05-14Merge branch 'blender-v2.93-release'Fabian Schempp
2021-05-14Fix T87360 Multi input links aren't placed correctly when created with pythonFabian Schempp
link->multi_input_socket_index, which is used to calculate the links position on the multi-input socket, was not set. Now it is set to the sockets current link count. Review: Jacques Lucke (JacquesLucke) Differential Revision: https://developer.blender.org/D11082
2021-05-13Cleanup: missing overrideJacques Lucke
2021-05-13Geometry Nodes: add mutex for node ui storageJacques Lucke
Previously, multiple threads adding information to node ui storage at the same time resulted in memory corruption. The lock prevents that, but might potentially become a bottleneck in the future. For now favour correctness over a potential performance bottleneck.
2021-05-12Merge branch 'blender-v2.93-release'Richard Antalik
2021-05-12Cleanup: Simplify public/private specifiersHans Goudey
By rearranging a few variables we can remove redundant specifiers
2021-05-12Cleanup: Splines: Add accessors to spline vectorHans Goudey
Not allowing external direct access to the vector of splines in the curve will help for things like reallocating custom data when a spline is added or removed.
2021-05-12Geometry Nodes Curves: Expose first builtin point attributesHans Goudey
This commit exposes the first spline control point attributes. The implementation incorporates the attributes into the virtual array system, providing efficient methods to flatten the data into a contiguous array and to apply changes from a flattened array. This is only part of the eventual goal, which includes changes to run attribute nodes separately for each spline to completely avoid copying. So far `tilt` and `radius`, the two generic attributes common to all spline types, are implemented. The more complex `position` attribute is also added. It requires some special handling for Bezier splines, where the control point handles need to be moved along with the control points. To make that work I also added automatic handle recalculation to the Bezier spline. Differential Revision: https://developer.blender.org/D11187
2021-05-12Fix T81247: Constrain selected UVs to correct UDIMSiddhartha Jejurkar
With Constrain to Image Bounds selected, UVs will be constrained to the correct/closest UDIM if the image is tiled. UVs will be constrained to the 0-1 UV space if the image is not tiled. This will override the present behavior of always constraining selected UVs to the 0-1 UV space (UDIM 1001). Reviewed By: campbellbarton Ref D11202
2021-05-12Cleanup: use our own code style for doxy-gen comment blocksCampbell 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-12NLA: Extract ..get_inverted_upper_snapshot()Wayde Moss
Extracts `nlasnapshot_blend_get_inverted_upper_snapshot()` from `BKE_animsys_nla_remap_keyframe_values()` This introduces a new struct member: `NlaEvalChannelSnapshot->remap_domain` and marks which values of `blended_snapshot` are processed for remapping/used-for-inverting. Effectively, it marks which values have successfully been remapped and can be further used for remapping. `nlasnapshot_blend_get_inverted_upper_snapshot()`: output snapshot `r_upper_snapshot` has each channel's `remap_domain` written to which effectively marks the successfully remapped values. The only reason a value is not in the remap domain is if inversion failed or it wasn't marked to be remapped. `..get_inverted_upper_snapshot()` has a variant `nlasnapshot_blend()` from {D10220}, but this patch doesn't depend on it at all. A third variant will later be added `..get_inverted_lower_snapshot()`. Altogether, these three functions allow solving for any of (lower_snapshot, upper_snapshot, blended_snapshot) given the other two. The function `..get_inverted_lower_snapshot()` will also similarly process the remap domain of the blended and lower snapshot. added assertions within `nlasnapshot_blend()` and `..get_inverted_upper_snapshot()` to future proof branches dealing with blendmode and mixmodes. (suggested by sybren) No user functional changes Reviewed By: sybren Differential Revision: https://developer.blender.org/D10222
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-11Cleanup: remove unused baking struct members from soft-bodyCampbell Barton
2021-05-11Cleanup: Reorder class variable declarationsHans Goudey
The order was arbitrary, and rearranging the declarations makes the class look less messy, and makes room for future comments.
2021-05-11Cleanup: Whitespace, add doxygen sectionsHans Goudey
The sections aren't helpful at the moment, but I will add more code here soon that will benefit more from the visual separation.
2021-05-11Cleanup: Use a helper function for repetitive codeHans Goudey
Retrieving data from the component can be done in a separate function to save some repetition.
2021-05-10Fix warning on Apple Clang, missing override specifierSeverin
Was giving a warning: ``` BKE_spline.hh:293:35: warning: 'interpolate_to_evaluated_points' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] ```
2021-05-10Merge branch 'blender-v2.93-release'Philipp Oeser
2021-05-10Fix T88145: Dynamic Paint initial color using vertex color not working as ↵Philipp Oeser
expected Mistake in {rBe48c4d73d378}. Was using the vertex index as a lookup for the loop color (instead of the loop index). (Issue was not present in original D1429 btw). Maniphest Tasks: T88145 Differential Revision: https://developer.blender.org/D11212
2021-05-10Cleanup: spellingCampbell Barton
2021-05-10Cleanup: unused variable warningCampbell Barton
2021-05-09Fix: Curve resample duplicates last point for cyclic splinesHans Goudey
The last point of the output was at the same location as the first point of a cyclic spline. The fix is simple, just account for the cyclic when choosing the sample edge length, and don't hard code the last sample.
2021-05-09Fix T88126: Curve resample crash for single point inputHans Goudey
The spline `length` function assumed that the curve always had evaluated edges. That is clearly false. This commit adds a check to `length` and a special case for a single point in the curve resample node.
2021-05-09Geometry Nodes: Improve point instance node performanceHans Goudey
This commit uses two changes to improve the performance of the point instance node. **Prevent Reallocations** At 64 bytes, the transform matrix for every instance is rather large, so reallocating the vector as it grows can become a performance bottle- neck. This commit reserves memory for the instances that will be added to prevent unecessary reallocations as the instance vector grows. In a test with 4 million instances of 3 objects in a collection, the node was about 40% faster, from 370ms to 270ms for the node. **Parallelization** Currently the instances are added by appending to a vector. By changing this slightly to fill indices instead, we can parallelize the operation so that multiple threads can fill data at the same time. Tested on a Ryzen 3700x, this reduced the runtime from the above 270ms to 44ms average, bringing the total speedup to ~8x. Note that displaying the instances in the viewport is still much slower than the calculations in node, this change doesn't affect that.
2021-05-08Cleanup: remove use of persistent data handles in geometry nodesJacques Lucke
Those were mostly just left over from previous work on particle nodes. They solved the problem of keeping a reference to an object over multiple frames and in a cache. Currently, we do not have this problem in geometry nodes, so we can also remove this layer of complexity for now.
2021-05-08Fix: Curve to mesh node assert when last profile segment is vectorHans Goudey
We need to always add a single point to the last cyclic segment that completes the loop, because that includes the starting point of the evaluated edge. The existing code forgot about that point.
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-07Cleanup: Remove deprecated variables and functions calls from our ffmpeg codeSebastian Parborg
There need to be more cleanup for ffmpeg 4.5 (ffmpeg master branch). However this now compiles on ffmpeg 4.4 without and deprication warnings. Reviewed By: Sergey, Richard Antalik Differential Revision: http://developer.blender.org/D10338
2021-05-07Merge branch 'blender-v2.93-release'Sebastian Parborg
2021-05-07Fix: No sound is exported with ffmpeg 4.4Sebastian Parborg
We were not assigning the amount of sound channels to the output frames. Newer ffmpeg releases has sanity checks in place and doesn't fall back to two channels anymore.
2021-05-07Merge branch 'blender-v2.93-release'Bastien Montagne
2021-05-07LibOverride: more tweaking to handling of obsolete overrides during resync.Bastien Montagne
this is a followup to rB2bd85d9cc623, we cannot forcefully delete obsolete overrides of object data (meshes etc.), as this implies also deleting their user object, which might still be a perfectly valid override, albeit in conflict regarding its obdata ID pointer...
2021-05-07Merge branch 'blender-v2.93-release'Bastien Montagne
2021-05-07LibOverride: Add proper reports when deleting user-edited overrides as part ↵Bastien Montagne
of resync. Logs are not enough here, we need proper warning visible for the user.
2021-05-07LibOverride: Do not preserve local overrides when their linked data disappear.Bastien Montagne
This is the opposite of previous code, which would keep those 'deprecated' overrides arround (often in a dedicated collection), when they were detected as user-edited. While this is a safe-ish way to (try to) preserve user-edited data, this tends to add too much 'trash' data to production scenes, which cleaning becomes a burden. Note that user will get warnings in thos cases, and can always choose not to save the current blend file and go fix the library issue instead.
2021-05-07LibOverride: Fix many 'obsolete' overrides not being properly deleted.Bastien Montagne
Code detecting overrides which reference linked data is missing was actually missing many cases, leading to too much garbage data being kept around after resync process.
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-07Merge branch 'blender-v2.93-release'Campbell Barton
2021-05-07Fix inconsistency setting particle edit-modeCampbell Barton
The check to include particle edit mode in the object-mode drop-down didn't match the poll function to edit particle edit mode. Share the check between both functions.
2021-05-06Merge branch 'blender-v2.93-release'Sebastian Parborg
2021-05-06Fix T88065: Spline-IK bone position calculation fails in some casesSebastian Parborg
Fix trying to use cross product on parallel vectors. Fix intersection checks failing because we run into floating point issues with very small numbers.