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-04-05Render: faster animation and re-rendering with Persistent DataBrecht Van Lommel
For Cycles, when enabling the Persistent Data option, the full render data will be preserved from frame-to-frame in animation renders and between re-renders of the scene. This means that any modifier evaluation, BVH building, OpenGL vertex buffer uploads, etc, can be done only once for unchanged objects. This comes at an increased memory cost. Previously there option was named Persistent Images and had a more limited impact on render time and memory. When using multiple view layers, only data from a single view layer is preserved to keep memory usage somewhat under control. However objects shared between view layers are preserved, and so this can speedup such renders as well, even single frame renders. For Eevee and Workbench this option is not available, however these engines will now always reuse the depsgraph for animation and multiple view layers. This can significantly speed up rendering. These engines do not support sharing the depsgraph between re-renders, due to technical issues regarding OpenGL contexts. Support for this could be added if those are solved, see the code comments for details.
2021-04-05Cycles: update Light Paths presetBrecht Van Lommel
* Add Fast GI / AO bounces to presets * Add Default preset matching defaults * Add Fast Approximate GI preset * Lower Full GI depths to 32
2021-04-04Cycles: make AO bounces settings more discoverableBrecht Van Lommel
* Move out of Simplify panel, into Light Paths > Fast Global Illumination * Add separate boolan setting to enable/disable it separate from Simplify * Default AO bounces to 1 * Put ambient occlusion distance in this panel as well
2021-04-03Fix inversion of snapping failing in measure toolGermano Cavalcante
Comparison of event change has to be more specific and compare the x and y values of the mouse as well.
2021-04-03Fix T87162: Measure Tool Not WorkingGermano Cavalcante
The non-enabled gizmo was overwriting the projected coordinate value.
2021-04-03UI: Align Spreadsheet Booleans to CenterHarley Acheson
Aligning spreadsheet Booleans to the middle of their cells. Differential Revision: https://developer.blender.org/D10882 Reviewed by Hans Goudey
2021-04-02Geometry Nodes: Separate grid primitive X and Y sizeHans Goudey
Since you can already specify a separate size for X and Y with the grid node, it makes sense to be able to specify the size separately for each axis also. This also avoids some awkward math with a Transform node afterwards when you want a specific size for each direction. Versioning (except for animation and drivers) is handled in this commit. Differential Revision: https://developer.blender.org/D10834
2021-04-02GPencil: Prevent RNA assignment of invalid materials in modifiersPhilipp Oeser
Materials used in grease pencil modifiers have the requirement that they are already used on the object. In the UI dropdown, this restriction is ensured by calling uiItemPointerR with appropriate searchptr and searchpropname, so only giving the user the choice of materials already used on the object. From python though, it was still possible to assign materials outside of this this restriction. This led to reports like T86981 [which have been partially solved by clamping the material index in the modifier code to be in the valid range]. Now make sure we dont assign "invalid" materials through RNA by appropriate RNA pointer functions. This also adds a proper warning (red, alert) in case of the LineArt modifier if such a invalid material is still in the file [same as other modifiers already do]. Differential Revision: https://developer.blender.org/D10873
2021-04-02Fix T86654: wrong Vertex Interpolation option default when importing alembic ↵Philipp Oeser
caches This resulted in bad motion blur from alembic animation when imported after rB83980506957c (because it was now OFF by default). When imported in a version prior to rB83980506957c and saved, this was still working fine. Vertex interpolation option introduced in rBbab2260b59c7 was defaulting to ON (correct) in that commit, but was lost in rB83980506957c. Now switch this to ON by default again. Note: if you have a file that was (incorrectly) imported with a version after rB83980506957c you'll have to enable Vertex Interpolation option on every MeshSequenceCache modifier by hand. Maniphest Tasks: T86654 Differential Revision: https://developer.blender.org/D10876
2021-04-02Geometry Nodes: Allow float input for point scale nodeHans Goudey
This allows easily changing the scale attribute with a uniform scale within a single simple node.
2021-04-02Geometry Nodes: Change point translate and scale node defaultsHans Goudey
Since these nodes are usually used for more basic operations and the attribute nodes are used when more complexity is necessary, it makes sense to give these nodes more accessible defaults-- hopefully this can make learning about the core concepts of geometry nodes a bit easier.
2021-04-02UI: Align Spreadsheet Reals and Integers to RightHarley Acheson
Aligning spreadsheet cell numbers to the right to aid readability. Differential Revision: https://developer.blender.org/D10871 Reviewed by Hans Goudey
2021-04-02Cleanup: Remove blender namespace from Map.Jeroen Bakker
2021-04-02Cleanup: remove loading blender namespace from Vector.Jeroen Bakker
2021-04-02Cleanup: Added leading `e` to enum types.Jeroen Bakker
2021-04-02Cleanup: rename eChunkExecutionState to eWorkPackageState.Jeroen Bakker
2021-04-02Compositor: stream operators for WorkPackages.Jeroen Bakker
Helps developers during debugging.
2021-04-02Compositor: Debug stream operator.Jeroen Bakker
Stream operators for NodeOperator and ExecutionGroup to help during debugging.
2021-04-02Fix T84520: Make the different weight paint code paths exclusive to each otherSebastian Parborg
Before this change, you could have the new sculpt symmetry code and the older weight paint symmetry code active at the same time. This would lead to users easily trashing their weigh paint data if they were not careful when switching between modes. Now the specific weight paint symmetry code is an exclusive toggle so the user can't accidentally mirror strokes and vertex groups at the same time. This also paves the way of supporting Y and Z symmetry in the future for weight groups mirroring if we decide to add it in the future. Reviewed By: Sybren Differential Revision: http://developer.blender.org/D10426
2021-04-02Fix T87131: SVG as GPencil elements with both Stroke and Fill failsAntonio Vazquez
The importer was not checking if both were enabled. Now a new material is created if it's needed.
2021-04-02BKE: attempt to fix build error on windowsAnkit Meel
2021-04-02Fix T86874: Wireframe not drawing for geometry node mesh primitivesKris
The following primitives needed ME_EDGEDRAW, ME_EDGERENDER edge flags: * Grid * Circle Set flags on the inside edges for grid and circle triangle fan (mesh primitive nodes) so they are visible and selectable. Reviewed By: HooglyBoogly Differential Revision: https://developer.blender.org/D10878
2021-04-02Modifiers: Fix build error with GMPAnkit Meel
2021-04-02Cleanup: Remove unecessary C API for direct mesh booleanHans Goudey
The main goal here is to remove the need for a C API to the code in `mesh_boolean_convert.cc`. This is achieved by moving `MOD_boolean.c` to C++ and making the necessary changes for it to compile. On top of that there are some other slight simplifications possible to the direct mesh boolean code: it doesn't need to copy the material remaps, and the modifier code can use some other C++ types directly.
2021-04-02Cleanup: Use const argumentsHans Goudey
2021-04-02Cleanup: Remove unused code in boolean modifierHans Goudey
The old path that didn't skip the conversion to and from BMesh for the exact solver was not yet removed from this file. At this point no problems have came up in the new implementation, so it's safe to remove it.
2021-04-02Cleanup: Remove unecessary part of instances component C APIHans Goudey
Now that object_dupli.cc is a C++ file, we don't have to have a specific function to retrieve the instance data from the geometry set.
2021-04-01Cleanup: Move object_dupli.cc to C++Hans Goudey
This will hopefully allow more refactoring in the future to improve the instancing system, especially how it relates to geometry nodes instances.
2021-04-01Geometry Nodes: Improve speed of boolean node, use multi-input socketHans Goudey
This commit improves the performance of the node by up to 40% in some cases when there are only two input meshes, mainly by skipping the conversion to and from BMesh. When there are more than two input meshes (note the distinction from "Geometries", a geometry set can have many mesh instances), the performance is actually worse, since boolean currently always does self intersection in that case. Theoretically this could be improved in the boolean code, or another option is automatically realizing instances for each input geometry set. Another improvement is using multi-input sockets for the inputs, which removes the need to have a separate boolean node for every operation, which can hopefully simplify some node trees. The changes necessary for transforms in `mesh_boolean_convert.cc` are somewhat subtle; they come from the fact that the collecting the geometry set instances already gives transforms in the local space of the modifier object. There is also a very small amount of cleanup to those lines, using `float4x4::identity()`. This commit also fixes T87078, where overlapping difference meshes makes the operation not work, though I haven't investigated why. Differential Revision: https://developer.blender.org/D10599
2021-04-01Cleanup/Refactor: Use flags instead of bool to configure the snap gizmoGermano Cavalcante
This simplifies the addition of future improvements. Also make it more practical to expose as a parameter of gizmo for Python.
2021-04-01Cleanup: Remove unused enum value in editmesh_knife.cGermano Cavalcante
2021-04-01Fix compilation error: "too many arguments to function"Germano Cavalcante
Seem on linux. Caused by rB6ec463a4b754bf69baf94ba6b3683655f6834ccd
2021-04-01Cleanup/Refactor: Transform Orientation: Use 'orient_index' instead ↵Germano Cavalcante
'orient_type' `orient_index` is a more comprehensive value as it reveals both the type and index. Differential Revision: https://developer.blender.org/D9595
2021-04-01Fix T87065: Deformed Lattice undeforms after setting keyframeSybren A. Stüvel
Handle Lattice object the same way as Mesh objects. This is mostly to execute the `object->data = data_eval;` line, which ensures that the evaluated mesh is assigned to the evaluated object, and thus prevents the lattice from un-deforming.
2021-04-01Cleanup: typo fix in commentSybren A. Stüvel
No functional changes.
2021-04-01BLI: rename resource collector to resource scopeJacques Lucke
Differential Revision: https://developer.blender.org/D10857
2021-04-01Curve: Remove 'CU_2D' flag used for nurbsGermano Cavalcante
This fixes T86440 As the CU_2D flag is set for nurbs, a Curve can have 2D nurbs mixed with 3D. But the UI does not allow this mixing. It updates all nurbs to 2D or 3D when set. So remove this specific flag for nurbs. This may break old files, since 2D curves with mixed 3D are now set as 3D. Differential Revision: https://developer.blender.org/D10738
2021-04-01Cleanup: use bool instead of intJacques Lucke
2021-04-01Cleanup: Remove unused codeHans Goudey
There was a note about reusing this for "texture nodes", but that will probably not be implemented in this way anyway.
2021-04-01Cleanup: move node_exec.c to c++Jacques Lucke
Doing this, because it might make it easier to replace the implementation of `bNodeInstanceHash`.
2021-04-01Nodes: separate node name and display name in bNodeTreePathJacques Lucke
Previously, `node_name` was rarely actually a name of a node. It is set correctly as node name in `ED_node_tree_push`. However, later on it was overwritten by the name of an id data block in `node_draw_space`. Now, the node_name stays the name of the "parent" node. Whereas display_name is the name that will be displayed in the breadcrumbs. With this change, the `node_name` can be used to reconstruct the actual path from the root node tree to the currently visible tree. Differential Revision: https://developer.blender.org/D10874
2021-04-01Cleanup: spellingCampbell Barton
2021-04-01Geometry Nodes: add socket value logging capabilityJacques Lucke
The node tree evaluator now calls a callback for every used socket with its corresponding value(s). Right now the callback does nothing. However, we can use it to collect attribute name hints, socket values for debugging or data that will be displayed in the spreadsheet. The main difficulty here was to also call the callback for sockets in nodes that are not directly executed (such as group nodes, muted nodes and reroutes). No functional changes are expected.
2021-04-01BLI: add call_safe method for FunctionRefJacques Lucke
This is useful to avoid nullity checks in some places.
2021-04-01BLI: return early when copying empty arrayJacques Lucke
2021-04-01Fix "unused variable" warning when compiling without nanovdbSebastian Parborg
2021-04-01LineArt: Remove "soft selection" option.YimingWu
After some back and forth with the GP module and some artists, this option was deemed not that useful. The use case was considered too obscure so we'll remove it. It is still posible to have this functionality by using the vertex weight modiifers or manually clamping the weights.
2021-04-01LineArt: Remove resampling settings.YimingWu
This can be done with an other GP modifier already.
2021-04-01Fix T50103: Transform not working if scale is zeroCampbell Barton
If any axis of the scale of an object was zero, transforming failed. This was because `td->smtx` was set to a zero matrix. orthogonalize_m3_zero_axes is used to fill in the zeroed axes. Thanks to @filedescriptor for the initial fix: D10869.
2021-04-01BLI_math: add orthogonalize_m#_zero_axesCampbell Barton
Expose a this function to initialize any zeroed axes to an orthogonal vector based on other non-zeroed axes. This functionality already existed for `invert_m#_m#_safe_ortho`, expose as a public function as it's useful to be able to fill in zeroed axes of transformation matrices since they may be used in matrix multiplication which would create degenerate matrices.