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-06-19Cleanup: SpellingHans Goudey
2020-06-19UI: Fix all constraint subpanels emptyHans Goudey
Silly typo in earlier fix
2020-06-19UI: ShaderFx Drag and Drop, Layout UpdatesHans Goudey
This patch implements the list panel system D7490 for grease pencil shader effects. It also moves their drawing to a callback in ShaderFxTypeInfo in line with the extensible architecture refactoring goal T75724. The implementation is basically exactly the same as for the modifier patch (9b099c86123fc82). Thanks to Matias Mendiola (@mendio) for helping to develop the layout changes. Differential Revision: https://developer.blender.org/D7985
2020-06-19Outliner: Selection cleanupNathan Craddock
No functional changes. The outliner selection operators shared many different functions for selection, activation, mode toggling, and other actions, but the code paths were not always clear, making any changes difficult. This cleans up the code and uses outliner_item_select() as the base function for selection, activation, mode toggling between the different selection operators. It also prepares for future features and fixes. Reviewed By: Severin Differential Revision: https://developer.blender.org/D5817
2020-06-19UI: Grease Pencil Modifier Drag and Drop, Layout ChangesHans Goudey
This patch implements the list panel system D7490 for grease pencil modifiers. It also moves their drawing to a callback in GpencilModifierTypeInfo in line with the extensible architecture refactoring goal T75724. This also adds the "set_error" function for grease pencil modifiers, which hadn't been copied from mesh modifiers yet. The implementation is basically exactly the same as for the modifier patch (9b099c86123fc82). Thanks to Matias Mendiola (mendio) for providing mockups for many of the layout changes. Differential Revision: https://developer.blender.org/D7978
2020-06-19UI: Fix check for constraint panel default expansionHans Goudey
2020-06-19Fix: Crash when closing window while Outliner shows screensJulian Eisel
Steps to reproduce were: * From factory settings, change Outliner Display Mode to "Blender File" * Open "Screens" item, make sure all listed screens are visible * Open Preference window, close it * Mouse hover the outliner -> crash Fix is to force an Outliner tree rebuild when closing screens.
2020-06-19UI: Minor optimization to Outliner lookup for hovered elementJulian Eisel
The lookup to find the hovered Outliner tree element would possibly check children that can be skipped with a simple check. I experimented with various ways to avoid work in this lookup. This one is simple and reliable, which others wouldn't have been afaics. Plus, there's not much performance to be gained here anyway.
2020-06-19UI: Avoid rebuilding Outliner tree when opening/collapsing itemsJulian Eisel
In big files, the Outliner would have a noticeable lag when opening or collapsing items. That was because the entire tree was rebuilt, which isn't actually needed in most cases. So we avoid it where possible now.
2020-06-19UI: Don't rebuild Outliner tree to remove highlight when leaving areaJulian Eisel
When leaving the Outliner's area, the highlight would be removed and cause a full rebuild of the tree. This caused a noticable lag in bigger files.
2020-06-19UI: Avoid rebuilding outliner tree when changing area sizeJulian Eisel
In big files, ie typical production files, resizing the outliner area would be very slow. The outliner tree would be rebuilt then, which can easily be avoided.
2020-06-19Fix T78042: GPencil: Strokes go missing after Interpolation from another layerAntonio Vazquez
This was due some strokes could be tagged and as the layer was locked, the strokes were not untagged and removed when all tagged strokes are removed. The tagged strokes are used as temp ghost of the interpolation and removed at the end of the interpolation.
2020-06-19Cleanup: Remove unused BKE_constraint functionsHans Goudey
2020-06-19UI: Drag and Drop Constraints, Layout UpdatesHans Goudey
This patch implements the list panel system D7490 for constraints. In this case the panels are still defined in Python. The layouts are also updated to use subpanels and the a more organized single column layout. There may be more tweaks necessary for the layouts. Reviewed By: Severin, billreynish, Mets Differential Revision: https://developer.blender.org/D7499
2020-06-19Fix T77476: Transform Align mode using View orientation by defaultGermano Cavalcante
2020-06-19USD: Upgrade library 20.02 → 20.05Sybren A. Stüvel
The Blender USD code didn't have to change for this upgrade. Pixar's USD did include a change that we had in the patch, so that's been removed from our patch now. Some of the USD code that we patched changed as well.
2020-06-19Cleanup: Alembic, replace `ABC_INLINE` with `BLI_INLINE`Sybren A. Stüvel
The `ABC_INLINE` macro has been in the Alembic code since it was introduced to Blender in rB61050f75b13e. It basically does the same a `BLI_INLINE`, though, so there is no need to keep it around.
2020-06-19EEEVEE: Object Motion Blur: Initial ImplementationClément Foucault
This adds object motion blur vectors for EEVEE as well as better noise reduction for it. For TAA reprojection we just compute the motion vector on the fly based on camera motion and depth buffer. This makes possible to store another motion vector only for the blurring which is not useful for TAA history fetching. Motion Data is saved per object & per geometry if using deformation blur. We support deformation motion blur by saving previous VBO and modifying the actual GPUBatch for the geometry to include theses VBOs. We store Previous and Next frame motion in the same motion vector buffer (RG for prev and BA for next). This makes non linear motion blur (like rotating objects) less prone to outward/inward blur. We also improve the motion blur post process to expand outside the objects border. We use a tile base approach and the max size of the blur is set via a new render setting. We use a background reconstruction method that needs another setting (Background Separation). Sampling is done using a fixed 8 dithered samples per direction. The final render samples will clear the noise like other stochastic effects. One caveat is that hair particles are not yet supported. Support will come in another patch. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D7297
2020-06-19LibOverride: Cleanup: remove unused parameter.Bastien Montagne
2020-06-19LibOverride: Parallelize diffing of Main database.Bastien Montagne
This will not give any noticeable improvements in common editing tasks, since then usually only a very few IDs are changed and checked for override updates. However, it makes full override diffing process several times faster (happens usually when saving a .blend file, but could also help e.g. when multi-editing several override objects at the same time...).
2020-06-19LibOverride: rempve ID preview from comparison (diffing) process.Bastien Montagne
Accessing this from RNA may actually create some data, which we do not want to happen when comparing data. Further more, preview is not data, but a view of it, so we should be safe ignoring it entirely here.
2020-06-19LibOverride: add some more debug timing prints...Bastien Montagne
2020-06-19Cleanup: Alembic, removed some unnecessary `extern "C" {}` declarationsSybren A. Stüvel
No functional changes.
2020-06-19Cleanup: IO, made some functions in `AbstractHierarchyIterator` protectedSybren A. Stüvel
These functions are not needed in the public interface, only by the `AbstractHierarchyIterator` class and its subclasses. No functional changes.
2020-06-19Fix build with USD, Clang and LinuxStefano Bonicatti
The important distinction for the linker flags is not between GCC and Clang, but between the macOS and Linux. Differential Revision: https://developer.blender.org/D8023
2020-06-19Cleanup: Alembic, replace `#ifndef` guards with `#pragma once`Sybren A. Stüvel
No functional changes.
2020-06-19Cleanup: Alembic, move the C++ code to `blender::io::alembic` namespaceSybren A. Stüvel
This commit only moves code into the `blender::io::alembic` namespace, it does not move `static` functions into an anonymous namespace. No functional changes.
2020-06-19Cleanup: Alembic, moved exporter code into separate directorySybren A. Stüvel
This moves most of the exporter-related code from `source/blender/io/alembic/intern` to `source/blender/io/alembic/exporter` This is to prepare the Alembic code for the switchover to using `blender::io::AbstractHierarchyIterator`. When that happens, a few more files will be added, and having things in a separate 'exporter' directory makes things less cluttered. Note that exporting consists of multiple steps (determine export hierarchy, create Alembic archive, and then write data into it), which is why the directory is called "exporter", but many of the files are called "writer". No functional changes.
2020-06-19Fix T67358: Compositor Disabled Node Config -> SegFaultSergey Sharybin
The issue was caused by wrong conversion happening after some of the proxies are removed. Easiest solution is to first remove proxies and then add required converter operations. Thanks Jeroen for the review!
2020-06-19Performance: Never draw channels region during playbackJeroen Bakker
Channels aren't visually changed by playing back an animation so there is no need to do this. As rendering channels is using a lot of logic (filtering animation data, converting fcurves to samples etc) it has an noticeable overhead. This change has no functional limitation. Users are still able to do everything during animation playback. There are other mechanisms in place that take care of that. Spring 02_020_A.anim.blend went from 11.8 to 12.0 on a Ryzen 1700. I didn't test with scenes but it should be more noticeable with more complex scenes. Reviewed By: Brecht van Lommel Differential Revision: https://developer.blender.org/D8073
2020-06-19CMake: Correct warning about which C++ version is requiredSergey Sharybin
Was only happening on unsupported compilers.
2020-06-19USD Test: Don't use designated initializersSergey Sharybin
This isn't really in C++ standard, some corner cases work in some compilers (like when all fields are specified), but in general they do not work. For some reason MSVC builder started to complain about it now, weird but better not rely on compiler specifics.
2020-06-19Upgrade C++ standard to C++17Sergey Sharybin
Ref T76783
2020-06-19Cycles: Make compatible with C++17 on 10.9 deployment targetSergey Sharybin
OSLRenderServices contains a member which is 64 bytes aligned and this is onlys supported by default allocators in SDK 10.14. Since we take care of allocation ourselves ignoring the diagnostic is an acceptable way dealign with it.
2020-06-19Freestyle: Fix compilation error with C++17Sergey Sharybin
AutoPtr class became a sub-class of unique_ptr with some special magic to mimic behavior of auto_ptr for copy constructor. The code was already there, but for some reason visual studio did not set __cplusplus correctly for some reason. The other change is remove of binary function usage, which is not needed in the Freestyle code.
2020-06-19Quadriflow: Fix compilation error with C++17Sergey Sharybin
Unary function has been removed. Unless I'm missing something subclass is not needed here.
2020-06-19Tests: Use explicit signature constantsSergey Sharybin
Are reported by MSVC 2019 after C++17 switch. One might suggest lets just silence the warning, I will say why to have specific signed/unsigned types in API just to then (usafely) ignore the sign conversion.
2020-06-19Upgrade Google librariesSergey Sharybin
Upgrades Glog from 0.3.5 to 0.4.0, and Gtest from 0.8.0 to 0.10.0. Hopefully this will solve compilation error on MSVC with C++17.
2020-06-19Make BLI_edgehash_test compatible with C++17Sergey Sharybin
random_shuffle was removed (at least the used version).
2020-06-19Ceres: Update to the latest upstream versionSergey Sharybin
Using latest master because of various compilation error fixes. Brings a lot of recent development. From most interesting parts: - New threading model. - Tiny solver. - Compatibility with C++17.
2020-06-19Update C++ standard to C++14Sergey Sharybin
This is an intermittent state to get all dependencies to compile. For example, the latest Ceres is needed to bring C++17 support, but it has bumped minimal requirement to C++14.
2020-06-19Cloth: allow forces to act parallel to cloth.Alexander Gavrilov
Currently all force effectors can only act on cloth when the force is perpendicular to the surface. This makes sense for wind, but not for other forces; and the user may want even wind to have some friction. This changes effector code to output two force vectors - although you of course can pass the same pointer for both. The force is split between the two outputs based on a new per-effector setting. Differential Revision: https://developer.blender.org/D8017
2020-06-19Fix T78024: GPencil - Add missing UV Fill prop to RNAAntonio Vazquez
This was changed in the refactor done in 2.83 and was not included by error.
2020-06-19Alembic: always export transforms as inheritingSybren A. Stüvel
Blender now always exports transforms as as "inheriting", as Blender has no concept of parenting without inheriting the transform. Previously only objects with an actual parent were marked as "inheriting", and parentless objects as "non-inheriting". However, certain packages (for example USD's Alembic plugin) are incompatible with non-inheriting transforms and will completely ignore such transforms, placing all such objects at the world origin. When importing non-inheriting transforms from Alembic, Blender will break the parent-child relation and thus force the child to (correctly) interpret the transform as world matrix.
2020-06-19Alembic: prevent spaces in names of exported particle systemsSybren A. Stüvel
Other types already had spaces, periods, and colons replaced by underscores. The upcoming Alembic exporter (based on the `AbstractHierarcyIterator` class) will be more consistent and apply the same naming rules everywhere. This is in preparation for that change. The `get_…_name()` functions in `abc_util.{cc,h}` will be removed then.
2020-06-19Alembic: export object data with object data nameSybren A. Stüvel
Previously the Alembic exporter exported a mesh object to `{object.name}/{object.name}Shape`. Now it exports to `{object.name}/{mesh.name}` instead. The same change also applies to other object data types. Note that the code now is a bit hackish, as `m_name` is set even in cases where it isn't used. This hackishness was already there, though, but it's now just more visible. This will all be cleaned up when the Alembic exporter is ported to use the `AbstractHierarchyImporter` structure of the Universal Scene Description (USD) exporter. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D7672
2020-06-19IO: ensure export path and export name are always consistentSybren A. Stüvel
Before this, there was one code path that set `context.export_path`, and a different code path for `context.export_name`, allowing the two to diverge. Keeping track of the export path of the export parent (which can be, but is not always, the Blender parent object) also allows a concrete subclass of `AbstractHierarchyIterator` to find the `AbstractWriter` for the export parent. In case of exporting to Alembic this is important, as it's not possible to simply give the Alembic library the full export path of an object like we do in the Universal Scene Description (USD) exporter; Alembic needs the C++ object of the parent.
2020-06-19IO: Allow exporting a subset of the writersSybren A. Stüvel
This is in order to prepare for compatibility with the Alembic exporter. That exporter is capable of writing object transforms and object data at different (sub)frames. The rename from `created_writers` to `used_writers` is necessary, as not all created writers will be actually used in each iteration. The Universal Scene Description (USD) exporter does not make use of this. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D7670
2020-06-19IO: Move Abstract Hierarchy Iterator into `io/common`Sybren A. Stüvel
The goal of the `AbstractHierarchyIterator` class (and supporting classes) was to use it in different exporters. It shouldn't be part of the USD module + namespace any more, now that it will also be used in the upcoming Alembic exporter rewrite. The source files are moved into `io/common`, which is compiled & linked into a new library `bf_io_common`. The unittests are still inside the `tests/gtests/usd` directory. They should be moved to a separate test module too, but that will be delayed until after T73268 has been resolved. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D7669
2020-06-19Fix T77997: GPencil insert keyframe on timeline doen't update viewportAntonio Vazquez
The reason was the datablock is changed but it was not tagged for depsgraph refresh. In some cases it could be possible to tag several times the same datablock, but as this is not the case all the times and the number of tags is always very small, it doesn't worth a complex code to keep a memory list of the datablocks to tag.