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-03-08Fix T86347: Add Primitive Tool fails for 1x1x1 scalePhilipp Oeser
The Tool stores desired dimensions as `scale` and thus had to half the scale again in `make_prim_init()` because by default all primitives are created at a size of 2 in blender. This worked, but: - [1] it logged something like size=2, scale=2,2,2 for a 2x2x2 cube [which does not sound right, it should be size=2 scale=1,1,1] - [2] it had to make an exception for the case scale is exactly 1x1x1 [this happens when the property is not set specifically, e.g. adding primitives from the menu] -- this exception led to double sized primitives being created when the tool asked for exact dimensions of 1x1x1 Now - instead of compensating in `make_prim_init()` - do this earlier in the tool itself, see `view3d_interactive_add_modal`, this fixes the bug and now also correctly logs size=2 scale 0.5,0.5,0.5 for a 1x1x1 cube. Maniphest Tasks: T86347 Differential Revision: https://developer.blender.org/D10632
2021-03-08UI: UVProject modifier: clarify aspect & scale are only for cameraPhilipp Oeser
projectors Make this clear in property UI descriptions and deactivate aspect & scale fields if no camera projectors are present. ref T86268 Maniphest Tasks: T86268 Differential Revision: https://developer.blender.org/D10634
2021-03-08PyAPI: add bpy.types.BlendFile.temp_data for temporary library loadingCampbell Barton
This adds support for creating a `BlendFile` (internally called `Main`), which is limited to a context. Temporary data can now be created which can then use `.libraries.load()` the same as with `bpy.data`. To prevent errors caused by mixing the temporary ID's with data in `bpy.data` they are tagged as temporary so they can't be assigned to properties, however they can be passed as arguments to functions. Reviewed By: mont29, sybren Ref D10612
2021-03-08readfile: add id_tag_extra argumentCampbell Barton
This allows adding ID tags when linking/loading data. This is needed to implement loading non 'G.main' ID data-blocks, see D10612.
2021-03-08Fix T86384: Click detection fails in some cases with modifiersCampbell Barton
Regression in b5d154f400e46ba322f0e08a231bb2557bf51a1e
2021-03-08Fix T86106: bpy.types.SpaceView3D.draw_handler_remove(...) causes Blender to ↵Germano Cavalcante
crash The handle of a drawing callback can be removed within the drawing function itself. This causes `var = (type)(((Link *)(var))->next` to read an invalid memory value in C.
2021-03-08Fix error in unused argument cleanupCampbell Barton
Bad keyword argument rename from 9dc0c44aa102b5a7dae1fe92fd9105231ab1798c
2021-03-08Fix Cycles CUDA build error with Visual Studio 2019 v16.9Brecht Van Lommel
Something in this update broke the floor() function in CUDA, instead use floorf() like we do everywhere else in the kernel code. Thanks to Ray Molenkamp for identifying the solution.
2021-03-08Fix T86210: No preview icons for non-8bit imagesPhilipp Oeser
It looks like we never generated correct icon previews for images with float_rects (non-8bit-images). Images from the report were 16bit pngs. In this case, `icon_preview_startjob` would return early (it only checked if the ImBuf `rect` was NULL -- which is the case if it has a `rect_float` instead). This is not neccessary since `icon_copy_rect` is perfectly capable of taking float rects. Now correct the check and only return early if both `rect` & `rect_float` are NULL. note: this will not refresh icon previews from existing files automatically. For this, use File > Data Previews > Clear Data-Block Previews. Maniphest Tasks: T86210 Differential Revision: https://developer.blender.org/D10601
2021-03-08Fix T86373: crash picking colors in geometry nodesocketsPhilipp Oeser
Caused by {rB85421c4fab02}. Above commit treated `SOCK_RGBA` and `SOCK_STRING` the same in `std_node_socket_draw`. That would turn a RGBA button into a text button (for attribute search), leading to trouble. Note these were just treated the same prior to above commit because both were doing the layout split. Now just give RGBA sockets their own case. Maniphest Tasks: T86373 Differential Revision: https://developer.blender.org/D10646
2021-03-08Cleanup: Change extension .cpp to .ccJeroen Bakker
2021-03-08Revert "Fix modernize-raw-string-literal complaints from clang-tidy."Howard Trickey
This reverts commit 7a34bd7c2886dfc812345c0b1649d63a9ee4666f. Broke windows build. Can apparently fix with /Zc:preprocessor flag for windows but need a Windows dev to make that fix.
2021-03-08Cleanup: Removed duplicate slash in macOS SDK pathSebastián Barschkis
Cleanup although it's harmless.
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: do not pass class member to class methodsKévin Dietrich
2021-03-07Alembic procedural: fix missing update when only the transforms changeKévin Dietrich
The missing update has two sources: The TimeSampling used for looking up transformations in the cache was uninitialized. To fix this, simply use the TimeSampling from the last transformation in the hierarchy (that is the object's parent), which should also contain the time information for all of its parents. The objects are not tagged for update when their trasformations change.
2021-03-07Alembic procedural: fix infinite update loop when modifying Object level ↵Kévin Dietrich
properties
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: remove workaround for Python 3.7x crashing with libeditCampbell Barton
This removes workaround for T43491. It's no longer needed as Python 3.9x supports libedit as an alternative to readline on all platforms.
2021-03-06Cleanup: remove redundant draw callbackCampbell Barton
2021-03-06Cleanup: unused importsCampbell Barton
2021-03-06Cleanup: unused argumentsCampbell Barton
2021-03-06Cleanup: unused variablesCampbell Barton
2021-03-06Cleanup: redundant pose bone assignmentCampbell Barton
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