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
2020-07-08Functions: allow multi-functions to override a hash and equals functionJacques Lucke
2020-07-08Cleanup: add correct license header to testsJacques Lucke
2020-07-08BLI: add disjoint set data structureJacques Lucke
This can be used to find separate islands in meshes efficiently (as is done in cycles already). Furthermore, this helps to implement some algorithms on node trees more efficiently.
2020-07-08BLI: add comparison operators and hash functions for float3, etc.Jacques Lucke
2020-07-08macOS: upgrade minimum required version to 10.13 High SierraBrecht Van Lommel
C++17 does not work on 10.12, and Apple extended support ended for 10.12 in October 2019. Maniphest Tasks: T76783, T76184 Differential Revision: https://developer.blender.org/D8179
2020-07-08Cycles: support shader transparency for holdout objectsBrecht Van Lommel
Now transparent areas of the object will render objects behind. Fixes T78728.
2020-07-08CMake: Fix spelling of Embree passed to find packageSergey Sharybin
The spelling and capitalization of package name passed to find_package() and find_package_handle_standard_args() needs to match. Silences CMake warning about mismatch. Differential Revision: https://developer.blender.org/D8247
2020-07-08Functions: add dead node removal and constant folding optimizationJacques Lucke
Those optimizations work on the multi-function network level. Not only will they make the network evaluation faster, but they also simplify the network a lot. That makes it easier to understand the exported dot graph.
2020-07-08Cleanup: fix commentJacques Lucke
2020-07-08Apply Modifier: support applying as shape key and keeping the modifier.Alexander Gavrilov
This can be useful to save the result of a cloth simulation as a shape key without destroying the simulation, so it's possible to e.g. re-run it to get other shapes, or simply use the new shape key to start the simulation already in a draped state. It also makes sense to allow applying as shape key even when the mesh is shared, because the operation itself just adds a shape key. To support this, split the apply operator into Apply and Apply As Shapekey so that they can have different poll callbacks. Differential Revision: https://developer.blender.org/D8173
2020-07-08Fix T78324: Different Sky Texture results between CPU and GPULukas Stockner
The problem here was numerical precision: The code calculates the angle between sun and view direction, and the usual acos(dot(a, b)) approach for that has poor numerical performance for almost parallel angles. As a result, the generally tiny difference between floating point computation between CPU and GPU was enough to make the sun vanish at different radii, causing different results. The new version fixes the difference by making the computation much more robust on both platforms.
2020-07-07BLI: simplify copy constructor of ArrayJacques Lucke
2020-07-07Cleanup: don't end description with a '.'Jacques Lucke
2020-07-07Cleanup: fix typoJacques Lucke
2020-07-07Functions: cleanup loop that traverses the MFNetworkJacques Lucke
2020-07-07Functions: add generic functions that output constantsJacques Lucke
2020-07-07BLI: simplify copy constructor of vectorJacques Lucke
2020-07-07Functions: extend multi-function network apiJacques Lucke
2020-07-07BLI: provide access to underlying node in dot exporterJacques Lucke
2020-07-07Functions: Add debug print and destruct callback to CPPTypeJacques Lucke
2020-07-07Nodes: Generate multi-function network from node treeJacques Lucke
This adds new callbacks to `bNodeSocketType` and `bNodeType`. Those are used to generate a multi-function network from a node tree. Later, this network is evaluated on e.g. particle data. Reviewers: brecht Differential Revision: https://developer.blender.org/D8169
2020-07-07Fix T75943 EEVEE: Cubemaps shows blackClément Foucault
Caused by faulty driver implementation. Force fallback method.
2020-07-07Cleanup: Add braces for clang tidyHans Goudey
2020-07-07BLI: Correct spin lock definitionSergey Sharybin
The MSVC atomic function is defined for an unsigned type. Not sure why this became an issue after switch to TBB by default, maybe some CFLAGS changed to be more strict after that.
2020-07-07Fix: remove accidental codeGermano Cavalcante
`v1` and `v2` are already set.
2020-07-07Make deps: Use own nasm for ffmpeg and x264Sergey Sharybin
Fixes the warning: building for macOS, but linking in object file Differential Revision: https://developer.blender.org/D8235
2020-07-07Make deps: Compile own version of nasm for AppleSergey Sharybin
The upstream version of nasm does not put version information to the generated object files, which makes linker to show the following warning: building for macOS, but linking in object file Using own patched version of nasm which puts required information to the object file, making linker happy. The plan is to either streamline the patch and provide it to the upstream, or, it that takes too long, get an independent fix from the upstream.
2020-07-07Fix T77455: Blender Freezes when using the 3d Scale GizmoJeroen Bakker
Issue is reported on Linux ith Intel HD6xx iGPU. Inside `gpu_select_sample_query.c` the call to `glGetQueryObjectuiv` froze. After bisecting this lead to the polyline shader. When using a 3d color shader in stead of the polyline shader during selection seems to fix the issue. Other parts of blender might also be effective, but I wasn't able to freeze blender in these areas. When it does, we might want to add a similar work-around to button2d, cage2d, cage3d & move3d, navigate. Backport this patch to 2.83. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D8217
2020-07-07BLI: Fix mistake in SpinLock TBB migrationSergey Sharybin
Copy-paste mistake.
2020-07-07Optimization: use `BLI_bvhtree_intersect_plane` to detect faces that will be ↵Germano Cavalcante
affected by the knife tool The knife code currently calls the `BLI_bvhtree_overlap` function that tests the overlap between the mesh tree and an AABB that encompasses the points projected in the clip_start, clip_end and or clip_planes of the view. This resulted in many false positives since the AABB is very large. Often all the triangles "overlapped". The solution was to create a new function that actually tests the intersection of AABB with a plane. Even not considering the clip_planes of the view, this solution is more appropriate than using overlap. Differential Revision: https://developer.blender.org/D8229
2020-07-07Fix T78307 UI: Drawing artifacts in the Blender UI on macOSClément Foucault
This was due to a bad driver which was not respecting this bit of the specification: `If the current primitive does not originate from an instanced draw command, the value of gl_InstanceID is zero.`
2020-07-07Cycles: Add support for native OptiX curve primitivePatrick Mours
This patch adds support for the curve primitive from OptiX to Cycles. It's currently hidden behind a debug option, since there can be some slight rendering differences still (because no backface culling is performed and something seems off with endcaps). The curve primitive was added with the OptiX 7.1 SDK and requires a r450 driver or newer, so this also updates the codebase to be able to build with the new SDK. Reviewed By: brecht Differential Revision: https://developer.blender.org/D8223
2020-07-07Fix T78692: improve UI regarding the effect of the denoiser on denoising passesBrecht Van Lommel
It wasn't obvious that the choice of Cycles denoiser also generates different denoising data passes for compositing.
2020-07-07Fix T78666: Cycles non-uniformly scaled hair renders wrong for static objectsBrecht Van Lommel
Don't apply the matrix transform optimization in this case, curve points and radius can't represent non-uniform scale the way is possible with triangle meshes and vertices. This would cause abrupt change if objects had e.g. motion blur in one frame and not in the next.
2020-07-07IO: Reversed persistent ID order in exports to Alembic and USDSybren A. Stüvel
Each duplicated (a.k.a. instanced) object has a Persistent ID, which identifies a dupli within the context of its duplicator. This ID consists of several numbers when there are nested duplis (for example a mesh instancing empties on its vertices, where each empty instances a collection). When exporting to Alembic/USD, these are used to uniquely name the duplicated objects in the export. This commit reverses the order of the persistent ID numbers, so that the first number identifies the first level of recursion. This produces trees like this: ABC `--Triangle |--Triangle |--Empty-1 | `--Pole-1-0 | |--Pole | `--Block-1-1 | `--Block |--Empty | `--Pole-0 | |--Pole | `--Block-1 | `--Block |--Empty-2 | `--Pole-2-0 | |--Pole | `--Block-2-1 | `--Block `--Empty-0 `--Pole-0-0 |--Pole `--Block-0-1 `--Block It is now clearer that `Pole-2-0` and `Block-2-1` are instanced by `Empty-2`. Before this commit, they would have been named `Pole-0-2` and `Block-1-2`.
2020-07-07IO: Fix bug exporting dupli parent/child relationsSybren A. Stüvel
Exporting a scene to USD or Alembic would fail when there are multiple duplicates of parent & child objects, duplicated by the same object. For example, this happens when such a hierarchy of objects is contained in a collection, and that collection is instanced multiple times by mesh vertices. The problem here is that the 'parent' pointer of each duplicated object points to the real parent; Blender would not figure out properly which duplicated parent should be used. This is now resolved by keeping track of the persistent ID of each duplicated instance, which makes it possible to reconstruct the parent-child relations of duplicated objects. This does use up some memory for each dupli, so it could be heavy to export a Spring scene (with all the pebbles and leaves), but it's only a small addition on top of the USD/Alembic writer objects that have to be created anyway. At least with this patch, they're created correctly. Code-wise, the following changes are made: - The export graph (that maps export parent to its export children) used to have as its key (Object, Duplicator). This is insufficient to correctly distinguish between multiple duplis of the same object by the same duplicator, so this is now extended to (Object, Duplicator, Persistent ID). To make this possible, new classes `ObjectIdentifier` and `PersistentID` are introduced. - Finding the parent of a duplicated object is done via its persistent ID. In Python notation, the code first tries to find the parent instance where `child_persistent_id[1:] == parent_persistent_id[1:]`. If that fails, the dupli with persistent ID `child_persistent_id[1:]` is used as parent. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8233
2020-07-07Mae deps: Ensure Brotli is disabled for FreeTypeSergey Sharybin
We don't need it and it was optionally enabled, causing Blender to fail to link on certain configuration (when Brotli is installed via Homebrew for example).
2020-07-07Cleanup: add comment explaining operator deleteJacques Lucke
2020-07-07IO: print export name instead of object name in debug export graph outputSybren A. Stüvel
This is just a change in `AbstractHierarchyIterator::debug_print_export_graph()` to aid in debugging. It'll make it possible to distinguish between different duplicates of the same object. No functional changes to Blender itself.
2020-07-07Guarded Allocator: add missing operator deleteJacques Lucke
This resolves warning C4291 on windows.
2020-07-07UI: Add units to motion tracking solve errorsJohan Walles
The unit being "pixels". Before this change the solve errors were unitless in the UI. With this change in place, the UI is now clear on that the unit of the reprojection errors is pixels (px). Differential Revision: https://developer.blender.org/D8000
2020-07-07Make deps: Fix compilation error of Python on macOSSergey Sharybin
The configuration was confused about gettext installed via Homebrew and isysroot passed to Python's compilation but not to test programs. After this change `import gettext` still works, but it is unclear how to test it further, Differential Revision: https://developer.blender.org/D8231
2020-07-07Fix sign conversion errorJacques Lucke
2020-07-07Fix T78186: Dyntopo panel error with tools that dont have a brushPhilipp Oeser
Maniphest Tasks: T78186 Differential Revision: https://developer.blender.org/D8120
2020-07-07Cleanup: remove redundant commentsJacques Lucke
Searching in these files for "_as" will reveal a comment at the top, that explains what these methods are for. There is no need to duplicate that knowledge all over the place.
2020-07-07Cleanup: use doxy commentsCampbell Barton
2020-07-07UI: add merge/split menusCampbell Barton
This makes the menus and keymap match the edit-mesh (M for merge, Alt-M for split).
2020-07-07Make deps: Fixes for macOS platformSergey Sharybin
Set of fixes which had to be made in order to have dependencies built on own laptop: - Require bison as a dependent software. It is required by ISPC. On macOS it is required to be installed via Homebrew. This is because Bison from Xcode toolchain is too old. - Made sure Boost is compiled using clang. Without this gcc was used, and some unsupported command line argument was passed to it. - Modify OGG in a way which does in fact pull fixed sized types. They are defined in stdint.h. Without this fix FFmpeg will not detect presence of OGG because the test program fails to compile. - Force disable zstd compression and make wepb optional for the TIFF library. Without this TIFF might pick up development libraries from Homebrew. Differential Revision: https://developer.blender.org/D8221
2020-07-07Cleanup: remove unused argumentsCampbell Barton
2020-07-07Cleanup: spellingCampbell Barton