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-21Cleanup: `layer_collection_sync`: use `LISTBASE_FOREACH_MUTABLE`.Bastien Montagne
2020-07-21Cleanup: `layer_collection_sync`: use proper naming.Bastien Montagne
Previous ones were extremely confusing and innacurate (probably inherited from older versions of scene collections?). Also, use named fields in struct initialization, much much safer and cleaner than anonymous, positionned-based thing.
2020-07-21Fix T72621: Transform object origin support for grease-pencilSebastian Parborg
Added support for transforming only origins with greasepencil objects. The new functions is based on BKE_gpencil_transform. That is why there is FIXME statements in there. Reviewed By: Campbell, Antonio Differential Revision: http://developer.blender.org/D8303
2020-07-21Fix (unreported) LibOverride creation adding things to linked collections.Bastien Montagne
This is strictly forbidden, and sill cause crashes with undo in some cases...
2020-07-21Cleanup: spellingCampbell Barton
2020-07-20Fix (unreported) broken deletion of Shapekeys alongside their owner ID.Bastien Montagne
Trying to get shape key pointer after having unlinked its owner from Main data-base is rather useless... So those shapekeys ended up never being deleted.
2020-07-20Fix (unreported) bad handling of shapekeys when applying override rules.Bastien Montagne
We need to do a full proper swap of those shape keys as well, previous code ended up breaking relationships between data-blocks...
2020-07-20Fluid: Refactored smoke noise systemSebastián Barschkis
This refactor is in response to reports in which the adaptive domain with noise caused a crash (e.g. T79009). It should also fix issues where the smoke appeared to be cut off when using the adaptive domain together with noise. It is also possible that some of these changes improve the lines issue from T74559.
2020-07-20Fix T78960: 2.83.2 not opening a 2.82a project correctly.Bastien Montagne
That project cannot be opened correctly ayway, it has recursive collections intanciating themselves... But at least now we have a check at startup to detect and 'fix' those nasty cycles in collections.
2020-07-20Fix T78958: Library Override crash: undo make local.Bastien Montagne
2020-07-20Animation: Fix MSVC warning about C incompatibility of `AnimationEvalContext`Sybren A. Stüvel
Thanks @JacquesLucke for pointing this out. No functional changes.
2020-07-20T77086 Animation: Passing Dependency Graph to DriversSybren A. Stüvel
Custom driver functions need access to the dependency graph that is triggering the evaluation of the driver. This patch passes the dependency graph pointer through all the animation-related calls. Instead of passing the evaluation time to functions, the code now passes an `AnimationEvalContext` pointer: ``` typedef struct AnimationEvalContext { struct Depsgraph *const depsgraph; const float eval_time; } AnimationEvalContext; ``` These structs are read-only, meaning that the code cannot change the evaluation time. Note that the `depsgraph` pointer itself is const, but it points to a non-const depsgraph. FCurves and Drivers can be evaluated at a different time than the current scene time, for example when evaluating NLA strips. This means that, even though the current time is stored in the dependency graph, we need an explicit evaluation time. There are two functions that allow creation of `AnimationEvalContext` objects: - `BKE_animsys_eval_context_construct(Depsgraph *depsgraph, float eval_time)`, which creates a new context object from scratch, and - `BKE_animsys_eval_context_construct_at(AnimationEvalContext *anim_eval_context, float eval_time)`, which can be used to create a `AnimationEvalContext` with the same depsgraph, but at a different time. This makes it possible to later add fields without changing any of the code that just want to change the eval time. This also provides a fix for T75553, although it does require a change to the custom driver function. The driver should call `custom_function(depsgraph)`, and the function should use that depsgraph instead of information from `bpy.context`. Reviewed By: brecht, sergey Differential Revision: https://developer.blender.org/D8047
2020-07-19Cleanup: spellingCampbell Barton
2020-07-18Correct Blender version after last commitHans Goudey
c08d84748804 incremented the patch version instead of the file subversion for versioning code when adding new options. This commit resets the patch version and instead bumps the file subversion.
2020-07-18UI: Status Bar Statistics and Other OptionsHarley Acheson
Status Bar can show scene statistics, memory usage, version, etc set by context menu. Part two of T75672. Differential Revision: https://developer.blender.org/D7557 Reviewed by Julian Eisel
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.