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
path: root/source
AgeCommit message (Collapse)Author
2021-06-02tag active viewertemp-geometry-nodes-viewer-nodeJacques Lucke
2021-06-02Merge branch 'master' into temp-geometry-nodes-viewer-nodeJacques Lucke
2021-06-02Object: support running transfer mode in any object modeCampbell Barton
There is no need to limit this to sculpt mode, prepare for key short cut changes, see: T88092.
2021-06-02Merge branch 'master' into temp-geometry-nodes-viewer-nodeJacques Lucke
2021-06-02Fix T88567: Cryptomatte only works for the first View Layer.Jeroen Bakker
The view layer was always set to 0. This patch increments it.
2021-06-02Docs: formalize naming for generic callbacks in BKE_callbacks.hCampbell Barton
Add a doc-string explaining the purpose of each call back and how they should be used. Also add a currently unused callback 'POST_FAIL' that is to be used in cases the action fails - giving script authors, a guarantee that a call to `pre` will always have a matching `post/post_fail` call. - D11422: adds a callback that can use 'post_fail'. - T88696: proposed these conventions.
2021-06-02Cleanup: trailing commas to avoid right shiftCampbell Barton
This matches most declarations already in this file.
2021-06-02Cleanup: spelling in commentsCampbell Barton
2021-06-02Fix assert with geometry node outputHans Goudey
The previous commit (my own) returned early without providing a value for the node's output geometry set, which is required.
2021-06-02Cleanup: Avoid duplicating node input retrievalHans Goudey
Pass the selection name and the invert argument to each component instead of retrieving them every time.
2021-06-02Geometry Nodes: Add Delete Geometry NodeWannes Malfait
This node is similar to the mask modifier, but it deletes the elements of the geometry corresponding to the selection, which is retrieved as a boolean attribute. The node currently supports both mesh and point cloud data. For meshes, which elements are deleted depends on the domain of the input selection attribute, just like how behavior depends on the selection mode in mesh edit mode. In the future this node will support curve data, and ideally volume data in some way. Differential Revision: https://developer.blender.org/D10748
2021-06-02VSE: Use own category for metadata panelRichard Antalik
Metadata panel was visible in each category. In other editors, this panel is usually placed in category with other source media properties. In sequencer, metadata is transfered over while compositing and relation to particular strip is lost, therefore separate category for metadata seems to be best option. Since Metadata panel is alone in this category, it will be open by default.
2021-06-01Geometry Nodes: Skip calculating normals in transform nodeHans Goudey
This commit skips the eager recalculation of mesh normals in the transform node. Often another deformation or topology-altering operation will happen after the transform node, which means the recalculation was redundant anyway. In one of my test cases this made the node more than 14x faster. Though depending on the situation the cost of updating the normals may just be shifted elsewhere.
2021-06-01Fix T88715: particle size influence texture not working for 'keyed' or ↵Philipp Oeser
'none' physics types This was reported for the special case of mapping with "Strand / Particle" coords, but was not working with other coordinates either. Dont see a reason for not supporting Size influence textures for these kinds of particles (and since these types of particles have an "age" like all others as well, even the "Strand / Particle" coords are supported here as well) Maniphest Tasks: T88715 Differential Revision: https://developer.blender.org/D11449
2021-06-01LibOverride: Fix again infinite loop in resync in some complex/degenerated ↵Bastien Montagne
cases. Broken in recent refactor of (recursive)resync, reported by studio, thanks.
2021-06-01test adding shortcut for geo viewerJacques Lucke
2021-06-01Merge branch 'master' into temp-geometry-nodes-viewer-nodeJacques Lucke
2021-06-01Geometry Nodes: add empty material slot to new meshesJacques Lucke
This fixes T88455 by adding an empty material slot to newly generated meshes. This allows the object to overwrite the "default" material without any extra nodes. Technically, all polygons reference the material index 0 already, so it makes sense to add a material slot for this material index. Differential Revision: https://developer.blender.org/D11439
2021-06-01Merge branch 'master' into temp-geometry-nodes-viewer-nodeJacques Lucke
2021-06-01Fix T88658: Force Fields of curve shape can crash if curve has only one pointPhilipp Oeser
`bvhtree_from_mesh_edges_create_tree` can actually leave the BVHTree NULL (e.g. if no edges are present). Now dont allocate `BVHTreeFromMesh` on the `SurfaceModifierData` at all in case the tree would be NULL anyways. Places like `get_effector_data` check for `SurfaceModifierData`- >`BVHTreeFromMesh` and dont try to stuff like getting a closest point on surface, which would crash as soon as BVHNodes would need to be accessed (from the NULL BVHTree). Maniphest Tasks: T88658 Differential Revision: https://developer.blender.org/D11443
2021-06-01Cleanup: remove unused parameter.Jeroen Bakker
2021-06-01Cleanup: remove unused parameter.Jeroen Bakker
2021-06-01Cleanup: NULL->nullptr.Jeroen Bakker
2021-06-01Cleanup: API for MeshExtractRunTimeData.Jeroen Bakker
2021-06-01DrawManager: Use CPP for Mesh Extraction Scheduling.Jeroen Bakker
More cleanups will come to make this more CPP-like.
2021-06-01Cleanup: LibOverride: rename 'local' group tagging functions to 'overrides'.Bastien Montagne
Since we use them on linked data now as well, 'local' does not fit them anymore.
2021-06-01Fix libOverride resync issues in some corner-cases.Bastien Montagne
This commit fixes two different issues: * In some cases, when an object was added to a sub-collection and used into a different subcollection, and the root common collection would not need to be resynced, it would end up creating multiple overrides of the new object. This was affecting both normal and recursive resync. * In recurisve resync case, the barrier code to define what is part or not of a override group/hierarchy was wrong. Note that the current solution for the first issue is sub-optimal (it goes back to the root of the override hierarchy and resync the whole thing), a better solution is TODO for now.
2021-06-01IDManagement: `BKE_libblock_rename`: assert we get local ID.Bastien Montagne
For now at least, linked data should never be renamed that way.
2021-06-01Fix `BLI_libblock_ensure_unique_name` not ignoring linked IDs.Bastien Montagne
This function would considere that there was a name conflict even in case existing ID would be a linked one. This is only a (symbolic) perforance improvement and logical fix, since `BKE_id_new_name_validate` would not do that mistake anyway.
2021-06-01ID Management: Allow unique name check for linked IDs too.Bastien Montagne
This is mandatory for liboverride resync, since this feature may imply we have to create linked overrides in libraries, and there may be several copies of those. This is also a first step to a more general support of IDmanagement-editing library data. Note that this commit should have absolutely no effect on current code, as the only function allowed to check unique names for linked IDs currently is `BKE_libblock_management_main_add`, which is unused. This commit also adds some basic testing for `BKE_id_new_name_validate`.
2021-06-01Cleanup: clang-tidyJacques Lucke
* `readability-redundant-member-init` * `readability-inconsistent-declaration-parameter-name` * Remove constructor that can be defaulted.
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-06-01Cleanup: Split draw_cache_extract_mesh into multiple files.Jeroen Bakker
draw_cache_extract_mesh for task scheduling. Will be refactored to draw_cache_extract_mesh_scheduling later on after migrating to CPP. draw_cache_extract_mesh_render_data extraction of mesh render data from edit mesh/mesh into a more generic structure. draw_cache_extract_mesh_extractors containing all the extractors. This will be split up further into a single file per extractor.
2021-06-01Cleanup: split face tessellation into inline functionsCampbell Barton
Prepare for multiple code-paths that recalculate tessellation.
2021-06-01Cleanup: split bmesh tessellation into it's own fileCampbell Barton
Prepare for further refactoring for these functions.
2021-06-01Cleanup: remove disabled face tessellation logicCampbell Barton
This was kept since these blocks are easier to follow. Remove as the overall result wasn't so readable (especially with nested ifdef's). Replace disabled code with comment on the indices used for quads/tris.
2021-06-01BMesh: remove checks for tessellating 2 sided facesCampbell Barton
2 sided faces aren't supported and will cause problems in many areas of Blender's code. Removing (implied) support for faces with fewer than 3 sides means the total number of triangles is known ahead of time. This simplifies adding support for multi-threading and partial updates to an existing tessellation - as the face and loop indices can be used to access the range of triangles associated with a face. Also correct outdated comments.
2021-06-01Cleanup: correct sculpt quat argument sizeCampbell Barton
2021-06-01GPU: add 2D projection functionCampbell Barton
When projecting into screen space Z value isn't always needed. Add 2D projection functions, renaming them to avoid accidents happening again. - Add GPU_matrix_project_2fv - Add ED_view3d_project_v2 - Rename ED_view3d_project to ED_view3d_project_v3 - Use the 2D versions of these functions when the Z value isn't used.
2021-06-01Fix buffer overrun in paint_line_strokes_spacingCampbell Barton
Error in 87cafe92ce2f99d8da620b80e1c26f8078554f93
2021-06-01Cleanup: spelling in commentsCampbell Barton
2021-06-01Docs: Limit the OCIO env vars that we documentAaron Carlisle
Brecht mentioned that these are a bit obscure and don't make much sense to override these.
2021-06-01Speedup exact boolean by avoiding some mallocs and frees.Erick Abrahammson
This is from patch D11432 from Erik Abrahamsson. He found that in some mpq3 functions called frequently from loops, passing in buffers for termporary mpq3 values can save substantial time. On my machine, his example in that patch went from 9.48s to 7.50s for the boolean part of the calculation. On his machine, a running time went from 17s to 10.3s.
2021-05-31Fix undeclared identifiers with 'DEBUG_TIME'Germano Cavalcante
These identifiers were accidentally removed in rB44d2479dc36f.
2021-05-31Cleanup: Replace fseek() calls with BLI_fseek()Harley Acheson
The fseek() function on Windows only accepts a 32-bit long offset argument. Because of this we have our own version, BLI_fseek(), which will use 64-bit _fseeki64() on Windows. This patch just replaces some fseek() calls with BLI_fseek(). Differential Revision: https://developer.blender.org/D11430 Reviewed by Brecht Van Lommel
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-31Win: Fix warnings as errors being off for bmeshRay Molenkamp
bf_bmesh historically always build with the /WX flag on windows making all warnings errors, somewhere along the way this has broken for msbuild, ninja still exhibits the expected behaviour. The flags are still passed to the target, and I've validated they are there when the add_library call fires, but they somehow never make it to the generated msbuild project files. I suspect this is a cmake bug but I'm seemingly unable to extract a repro case to file a bug upstream. Setting the same options target_compile_options seems to work, I'm not happy about the unexplained nature of the breakage but this will have to do for now.
2021-05-31VSE: Fix missing cache invalidationRichard Antalik
Fixes T88606
2021-05-31Refactor: DRW Mesh Extractor: Join the extractors in a same loopJeroen Bakker
This patch replaces / redoes the entire MeshExtractors system. Although they were useful and facilitated the addition of new buffers, they made it difficult to control the threads and added a lot of threading overhead. Part of the problem was in traversing the same loop type in different threads. The concurrent access of the BMesh Elements slowed the reading. This patch simplifies the use of threads by merging all the old callbacks from the extracts into a single series of iteration functions. The type of extraction can be chosen using flags. This optimized the process by around 34%. Initial idea and implementation By @mano-wii. Fine-tuning, cleanup by @atmind. MASTER: large_mesh_editing: - rdata 9ms iter 50ms (frame 155ms) - Average: 6.462874 FPS PATCH: large_mesh_editing: - rdata 9ms iter 34ms (frame 136ms) - Average: 7.379491 FPS Differential Revision: https://developer.blender.org/D11425
2021-05-31Cleanup: else-after-returnJacques Lucke