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-03-08Geometry Nodes: support Vector Rotate nodeLeon Leno
Differential Revision: https://developer.blender.org/D10410
2021-03-08Particles: change default name to "ParticleSystem"Philipp Oeser
Since {rB7a6b46aac56b}, particle systems were named "ParticleSettings" by default, same as particle settings themselves. These are not the same thing and their names should reflect that. Issue came up in T86366. Now name them "ParticleSystem" by default, name uniqueness is preserved for both system and settings. Maniphest Tasks: T86366 Differential Revision: https://developer.blender.org/D10641
2021-03-08Cleanup: Remove unused variable.Jeroen Bakker
2021-03-08Fix T86026: Crash Opening Cryptomatte File.Jeroen Bakker
But this time the root cause. Writing undo files is done in a separate thread. This patch moved the updating of the matte_id when the user actually changes the matte.
2021-03-08Revert "Fix T86026: Crash Opening Cryptomatte File."Jeroen Bakker
This reverts commit 7f3649874070de38131263317d02906d50279f93.
2021-03-08Cleanup: use ofs instead of offs as an abbreviation for offsetCampbell Barton
Used for local structs/variables, since `ofs` is by far the most widely used abbreviation.
2021-03-08Cleanup: rename offs to offsetCampbell Barton
2021-03-08Cleanup: rename offs to offscreenCampbell Barton
2021-03-08Cleanup: add use prefix for booleanCampbell Barton
2021-03-08Speedup for usual non-manifold exact boolean case.Howard Trickey
The commit rB6f63417b500d that made exact boolean work on meshes with holes (like Suzanne) unfortunately dramatically slowed things down on other non-manifold meshes that don't have holes and didn't need the per-triangle insideness test. This adds a hole_tolerant parameter, false by default, that the user can enable to get good results on non-manifold meshes with holes. Using false for this parameter speeds up the time from 90 seconds to 10 seconds on an example with 1.2M triangles.
2021-03-08Fix modernize-raw-string-literal complaints from clang-tidy.Howard Trickey
2021-03-07Cleanup: fix compiler warningJacques Lucke
2021-03-07Geometry Nodes: simplify allocating dynamically sized buffer on stackJacques Lucke
2021-03-07Cleanup: remove dead codeJacques Lucke
2021-03-07Cleanup: remove dead codeJacques Lucke
2021-03-07Fix T85632 Improve Exact boolean in cell fracture of Suzanne.Howard Trickey
The Exact boolean used in the cell fracture addon incorrectly kept some outside faces: due to some raycasts going into open eye socket then out of the head, leading to one ray direction (out of 8) saying the face was inside the head. The current code allowed 1 of 8 rays only as "inside" to accommodate the case of a plane used in boolean to bisect. But this cell fracture case needs more confidence of being inside. So changed the test for intersection to require at least 3 of 8 rays to be inside. Maybe the number of rays to indicate insideness should be exposed as an option, to allow user tuning according to the degree of "non-volumeness" of the arguments, but will try at least for now to magically guess the right value of the rays-inside threshold. Note: all of this only for the case where the arguments are not all PWN (approx: manifold). The all-PWN case doesn't use raycast.
2021-03-07Cleanup: compiler warningsJacques Lucke
2021-03-07Cleanup: fix implicit conversion warningJacques Lucke
2021-03-07BLI: make it harder to forget to destruct a valueJacques Lucke
Instead of returning a raw pointer, `LinearAllocator.construct(...)` now returns a `destruct_ptr`, which is similar to `unique_ptr`, but does not deallocate the memory and only calls the destructor instead.
2021-03-07BLI: reduce wasted memory in linear allocatorJacques Lucke
The main change is that large allocations are done separately now. Also, buffers that small allocations are packed into, have a maximum size now. Using larger buffers does not really provider performance benefits, but increases wasted memory.
2021-03-07Cleanup: use POINTER_OFFSET macroCampbell Barton
2021-03-06Cleanup: use class instead of struct in forward declarationJacques Lucke
2021-03-06Cleanup: clang tidyJacques Lucke
2021-03-06Nodes: refactor derived node treeJacques Lucke
This is a complete rewrite of the derived node tree data structure. It is a much thinner abstraction about `NodeTreeRef` than before. This gives the user of the derived node tree more control and allows for greater introspection capabilities (e.g. before muted nodes were completely abstracted away; this was convenient, but came with limitations). Another nice benefit of the new structure is that it is much cheaper to build, because it does not inline all nodes and sockets in nested node groups. Differential Revision: https://developer.blender.org/D10620
2021-03-06Fix T86308 Crash in Exact Boolean when have custom normal layer.Howard Trickey
Custom Normal layers can't be interpolated, so needed a check for non-interpolatable layers before trying to interpolate.
2021-03-06Cleanup: rename wm_get_cursor_positionCampbell Barton
Match naming of other wm_cursor_position_* functions.
2021-03-06Cleanup: commentsCampbell Barton
2021-03-06Geometry Nodes: Expose vertex normals as an attributeHans Goudey
This attribute exposes mesh vertex normals as a `vertex_normal` attribute for use with nodes. Since the normal vector stored in vertices is only a cache of data computable from the surrounding faces, the attribute is read-only. A proper error message for attempting to write this attribute is part of T85749. A write-only normal attribute will likely come later, most likely called `corner_normal`. The normals are recomputed before reading if they are marked dirty. This involves const write-access to the mesh, protected by the mutex stored in `Mesh_Runtime`. This is essential for correct behavior after nodes like "Edge Split" or nodes that adjust the position attribute. Ref T84297, T85880, T86206 Differential Revision: https://developer.blender.org/D10541
2021-03-05Geometry Nodes: Sort attribute search items when menu opensHans Goudey
Because the search didn't run when the menu first opens, the attributes appeared in a different order than after you typed anything into the search field. This commit instead runs the search when the menu is first opened, but it only sorts items without filtering.
2021-03-05Cleanup: Remove redundant special handling after previous commitJulian Eisel
Not needed anymore since 3a907e742507.
2021-03-05Outliner: Barebones to port IDs to new Outliner tree-element code designJulian Eisel
Continuation of work in 2e221de4ceee and 249e4df110e0 . This prepares things so we can start porting the individual ID types to the new code design. I already added some code for library IDs, because they need some special handling during construction, which I didn't want to break. The `AbstractTreeElement::isExpandValid()` check can be removed once types were ported and can be assumed to have a proper `expand()` implemenation. Also makes `TreeElementGPencilLayer` `final` which I forgot in e0442a955bad.
2021-03-05Fix incorrect assert in Outliner ID deletionJulian Eisel
Mistake in aa3a4973a30f. The expanded `ELEM()` check would include `0 && te->idcode != 0`, which always evaluates to `false`/`0`. That wouldn't cause the asset to fail, but the `te->idcode` part would never be checked. Fixed the error and cleaned up the check against "0" with a check against `TSE_SOME_ID`, see b9e54566e3b1a.
2021-03-05Cleanup: Add & use enum value for ID Outliner element typeJulian Eisel
Code to check if the Outliner tree-element type was the general ID one would always check against "0" (explicity or even implicitly). For somebody unfamiliar with the code this is very confusing. Instead the value should be given a name, e.g. through an enum. Adds `TSE_SOME_ID` as the "default" ID tree-element type. Other types may still represent IDs, as I explained in a comment at the definition. There may also still be cases where the type is checked against "0". I noted in the comment that such cases should be cleaned up if found.
2021-03-05Cleanup: Rename func occurences to _fnSebastián Barschkis
Use _fn as a suffix for callbacks.
2021-03-05Fix crash with pinned geometry node tree with no active objectHans Goudey
The check for a null active object was after trying to retrieve the active modifier from the object.
2021-03-05Fix windows compilation.Jeroen Bakker
2021-03-05Cleanup: Use blender::Vector.Jeroen Bakker
2021-03-05Fix: compilation OpenCL kernels Compositor.Jeroen Bakker
introduced during cleanup.
2021-03-05Cleanup: use blender::Vector.Jeroen Bakker
2021-03-05Cleanup: use blender::Vector.Jeroen Bakker
2021-03-05Cleanup: use snake case.Jeroen Bakker
2021-03-05Cleanup: rename private attribtue m_max_read_buffer_offset.Jeroen Bakker
2021-03-05Cleanup: Use blender::Vector in ExecutionGroup.Jeroen Bakker
2021-03-05Cleanup: Use std::Vector for chunk execution status.Jeroen Bakker
2021-03-05Cleanup: Use enum class for eChunkExecutionState.Jeroen Bakker
2021-03-05Cleanup: ExecutionSystem::find_output_execution_groups.Jeroen Bakker
2021-03-05Cleanup: Remove unused method.Jeroen Bakker
2021-03-05Cleanup: Make WorkPackage a structJeroen Bakker
2021-03-05Cleanup: use MIN2/MAX2 in compositor.Jeroen Bakker
2021-03-05Cleanup: Remove using statements.Jeroen Bakker