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-17Fix T78959: Show current frame indicator when interface is lockedHans Goudey
When the playhead drawing moved to an overlay, a check was added to keep it from drawing with a locked interface. This is necessary for some overlays, but not this one, so this removes the check, making it the responsibility of the editor. A context function is added to make that check easier in the future. Differential Revision: https://developer.blender.org/D8313
2020-07-17Cleanup: avoid static initialization order issues when accessing CPPTypesJacques Lucke
Instead of depending on static initialization order of globals use static variables within functions. Those are initialized on first use. This is every so slighly less efficient, but avoids a full class of problems.
2020-07-17Simulation: move initial simulation code from bf_blenkernel to bf_simulationJacques Lucke
I removed bf_blenkernel from `nodes/CMakeLists.txt` again (added it yesterday), because now this was causing me unresolved symbol errors... Without it, cmake seems to link the libraries bf_simulation, bf_blenkernel and bf_nodes in the right order. Not sure if that is just luck or if it is guaranteed. It was possible to fix the issue by using cmakes `LINK_INTERFACE_MULTIPLICITY`, but that is probably bad style.
2020-07-17BLI: add StringRefNull.c_str() methodJacques Lucke
This should be used whenever you rely on the fact, that the returned pointer points to the beginning of a null-terminated array.
2020-07-17Simulation: use better api for adding and removing simulation statesJacques Lucke
2020-07-17Nodes: move some code from blenkernel directory to nodesJacques Lucke
This also introduces the `blender::nodes` namespace. Eventually, we want to move most/all of the node implementation files into this namespace. The reason for this file-move is that the code fits much better into the `nodes` directory than in the `blenkernel` directory.
2020-07-16Simulation: rename bf_physics to bf_simulationJacques Lucke
Also see {rB9363c4de0635394548fa2eb8d205581313029775}.
2020-07-16Particles: avoid crash when connected unimplemented nodeJacques Lucke
2020-07-16Particles: add implicit covnersions between Vector and ColorJacques Lucke
Not sure if these conversions are a good idea. However, we have them in Cycles, so they be available in the simulation node tree for consistency reasons.
2020-07-16Particles: simplify adding new implicit conversions between socketsJacques Lucke
2020-07-16Particles: change initial velocity of particlesJacques Lucke
This is only temporary, but makes testing the system a bit easier.
2020-07-16Fix T78537: too much memory usage rendering animation with persistent imagesBrecht Van Lommel
For still images, always return 0 for the current frame number. This ensures Cycles can detects that the image did not change. Based on patch by Vincent Blankfield. Differential Revision: https://developer.blender.org/D8242
2020-07-16Particles: support Map Range nodeJacques Lucke
Only linear interpolation mode is supported for now.
2020-07-16Simulation: Change BPH prefix to SIMJacques Lucke
In a previous commit the `physics` folder has been renamed to `simulation`. This commit updates the function/file prefix accordingly.
2020-07-16Simulation: Rename `physics` directory to `simulation`Jacques Lucke
Function names will be updated in a separate commit. This will be the place for the new particle system and other code related to the Simulation data block. We don't want to have all that code in blenkernel. Approved by brecht.
2020-07-16Nodes: support default function for partially implemented nodesJacques Lucke
2020-07-16T73268: Link C/C++ unit tests into single executableSybren A. Stüvel
This commit introduces a new way to build unit tests. It is now possible for each module to generate its own test library. The tests in these libraries are then bundled into a single executable. The test executable can be run with `ctest`. Even though the tests reside in a single executable, they are still exposed as individual tests to `ctest`, and thus can be selected via its `-R` argument. Not yet ported tests still build & run as before. The following rules apply: - Test code should reside in the same directory as the code under test. - Tests that target functionality in `somefile.{c,cc}` should reside in `somefile_test.cc`. - The namespace for tests is the `tests` sub-namespace of the code under test. For example, tests for `blender::bke` should be in `blender::bke:tests`. - The test files should be listed in the module's `CMakeLists.txt` in a `blender_add_test_lib()` call. See the `blenkernel` module for an example. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7649
2020-07-16Cleanup: missing CMake headers from source listsCampbell Barton
2020-07-16Cleanup: spellingCampbell Barton
2020-07-16Cleanup: minor change to grease pencil material accessCampbell Barton
Rename for clarity and avoid passing in the prefix length.
2020-07-16Fix T78837: Prefetching can corrupt .blend filesRichard Antalik
This happened because of typo in seq_dupli() when duplicating effect data. Instead of duplicating data to new sequence, it was duplicated into original. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8295
2020-07-15LibOverride: move most of 'complete override creation' from ED_object to ↵Bastien Montagne
BKE_lib_override. This code is fairly complex and can be used in more places, better not duplicate that logic and just have it in BKE area.
2020-07-15BKE collection: add util to add a collection using another collection as ↵Bastien Montagne
'template'. Similar to what we already had using an object as 'template'.
2020-07-15Fix error in recent commitJacques Lucke
Obviously a copy paste error of mine...
2020-07-15GPencil: Fix unreported error baking mesh animationAntonio Vazquez
When the mesh is linked, the materials can not be available or be the same assigned to mesh. Now, if the mesh is linked, a simple two materials conversion is used. To get the full list of materials, the mesh must not be linked. Also checked some indexes to be sure never get a wrong value and that materials are not created again and again.
2020-07-15Particles: use CD_PROP_FLOAT3 instead of CD_LOCATIONJacques Lucke
`CD_LOCATION` was only used temporarily due to the lack of a better alternative. This also removes the name from `CD_LOCATION` again, because at most one layer of this type should exist.
2020-07-15CustomData: add float2 and float3 data typesJacques Lucke
This adds `CD_PROP_FLOAT2` and `CD_PROP_FLOAT3`. Reviewers: brecht Differential Revision: https://developer.blender.org/D8251
2020-07-15Fix T78747: Fix mesh boundary detection and automaskingPablo Dobarro
This issue was produced by a hack in the sculpt mode code from 2.80 when the sculpt API for connectivity info was not available. The smooth brush was the only brush that needed connectivity info, so there were 3 different smooth functions with the connectivity queries implemented for dyntopo, meshes and grids. The mesh version of smoothing was checking the number of connected faces to a vertex to mask the mesh boundaries, which was not covering all cases and was hardcoded in the smooth function itself. This patch removes all those legacy functions and unifies all smooth functions into a single one using the new API and the automasking system. In order to achieve this, there were needed some extra changes: - The smooth brush now does not automasks the boundaries by default, so its default preset needs to be updated to enable automasking - The mesh boundary info is extracted once and cached in a bitmap, similar to the disconnected elements IDs. This makes boundary detection work as expected in all cases, solving a lot of known issues with the smooth brush. In multires, this info is extracted and cached only at the base mesh level, so it is much more memory efficient than the previous automasking system. - In order to keep the brushes responsive as they were before, the automasking system can now skip creating the cache when it is not needed for the requested options. This means that for high poly meshes and simple automasking options the brushes won't lag on start. Reviewed By: sergey Maniphest Tasks: T78747 Differential Revision: https://developer.blender.org/D8260
2020-07-15Fix T76690: Incorrect liquid particle count displayedJacques Lucke
Reviewers: sergey, sebbas Differential Revision: https://developer.blender.org/D7852
2020-07-14Fluid: Fix liquid mesh scalingSebastián Barschkis
Fixes issue with .bobj.gz and .obj mesh files not always being scaled correctly in the viewport.
2020-07-14Cleanup: function name not following its module conventions.Bastien Montagne
2020-07-14LibOverride: Move code tagging reauired dependencies of an override into BKE.Bastien Montagne
This is fairly generic code that can be re-used in other places.
2020-07-14Fix T77766: support animated global gravity toggleJacques Lucke
Reviewers: sebbas Differential Revision: https://developer.blender.org/D8281
2020-07-14Cleanup: spellingCampbell Barton
2020-07-13Cleanup: remove some incorrectly placed constsJacques Lucke
Clang-tidy reported that those parameters could be const, but that is not true on windows.
2020-07-13LibOverride: Cleanup: Remove option to disable library overrides.Bastien Montagne
Code is mature enough now to not need this anymore, people who do not want to use liboverrides can just not create them.
2020-07-13Fix T76687: [Mantaflow] low domain transformation performanceSebastián Barschkis
Implemented G.moving suggestion from comments.
2020-07-13VSE: Python API, allow creation of VSE Movie strips with missing fileSybren A. Stüvel
It was already possible to create Sound and Image strips that reference non-existing files. Now it's also possible to create Movie strips referencing missing files via the Python API call `Sequences.new_movie()`. In this case, the duration of the strip will be set to 1 frame. Note that this commit does not change anything in the user interface. The Python API of the `MovieStrip` class is extended with a function `reload_if_needed()`. This function only performs disk I/O if the movie strip cannot produce frames, that is either when its filepath points to a non-existing file, or when the video sequence editor has not been shown yet (for example because it is in an inactive workspace). This allows for the following: ``` import bpy scene = bpy.context.scene vse = scene.sequence_editor_create() filepath = bpy.path.abspath('//demo.mkv') strip = vse.sequences.new_movie("movie", filepath, channel=2, frame_start=47, file_must_exist=False) strip.frame_final_end = 327 ``` This will create a new movie strip, even when `demo.mkv` does not exist. Once `demo.mkv` has appeared at the expected location, either `strip.reload_if_needed()` or `strip.filepath = strip.filepath` will load it. Differential Revision: https://developer.blender.org/D8257 Reviewed By: Sergey, ISS
2020-07-13Cleanup: quiet warnings by adding const in some placesJacques Lucke
The warnings were introduced in rB725973485a909c2b732c5.
2020-07-13Clang Tidy: enable readability-non-const-parameter warningJacques Lucke
Clang Tidy reported a couple of false positives. I disabled those `NOLINTNEXTLINE`. Differential Revision: https://developer.blender.org/D8199
2020-07-12Cleanup: disable debug codeJacques Lucke
2020-07-12Cleanup: unused debug variableJacques Lucke
2020-07-12Particles: initial support for forces in simulation node treesJacques Lucke
The force node can now be used to control the behavior of particles. Forces can access particles attributes. Currently, there are three attributes: `Position` (vector), `Velocity` (vector) and `ID` (integer). Supported nodes are: Math, Vector Math, Separate Vector, Combine Vector and Value. Next, I'll have to split `simulation.cc` into multiple files and move some stuff out of blenkernel into another folder.
2020-07-12Nodes: support more implicit conversions in simulation node treeJacques Lucke
2020-07-12Functions: minor api improvementsJacques Lucke
2020-07-11Nodes: support implicit conversions and incorrectly linked socketsJacques Lucke
2020-07-11Fix: incorrect attribute type in networkJacques Lucke
2020-07-11Cleanup: remove unused functionCampbell Barton
2020-07-11Cleanup: spellingCampbell Barton
2020-07-10Revert "Fix T78296: Performance - Use Binary Search for MDeformWeight"Brecht Van Lommel
This reverts commit 39b525e0f07fa25dcda54226ade789959b642dec and 3121015dceb1d269d79690c8f15c8e1406c9b09f as tests are failing.