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-18Depsgraph: use blender::Map instead of std::mapJacques Lucke
We decided to use our own map data structure in general for better readability and performance. Reviewers: sergey Differential Revision: https://developer.blender.org/D7987
2020-06-18LibOverride: increase speed of RNA diffing process.Bastien Montagne
By using own path construction instead of handy printf-like functions, we get a 10% improvement on overall diffing process! This remains way to slow on some complex production characters, but always good to have still.
2020-06-18UI: Place "New Collection" item above list in Move/Link to Collection menuPablo Vazquez
This way "New Collection" is always assigned the same shortcut (N). Whereas previously it would be automatically assigned the leftover key from the list of available collections. Nice side effect is that since N is next to M in most keyboard layouts, moving to a new collection is super fast by hitting M then N. {F8630575, size=full} Paper-cut pointed out by DerekWatts on [devtalk](https://devtalk.blender.org/t/blender-ui-paper-cuts/2596/4211) (thanks!): {F8630492, size=full} Reviewed By: HooglyBoogly Differential Revision: https://developer.blender.org/D8067
2020-06-18Fix for T77095: work around render artifacts with AMD Radeon RX 4xx and 5xxBrecht Van Lommel
2020-06-18Fix T65986: Inaccurate center of mass, calculating mesh centerCampbell Barton
Use a median center of polygons as an initial value for volume center calculation since the volume accumulation quickly generates very large numbers that become inaccurate if the geometry is too far from it's current center.
2020-06-18Fluids: fix variable namesJacques Lucke
This seems to be an error in rBb91b90f0dd3c9bff3b1a6e563c2cce293722ed16. I found it, because I could not open the file in T77263 anymore. Reviewers: sebbas Differential Revision: https://developer.blender.org/D8065
2020-06-18Fix T77764: VSE: snap strip to current frame does not move associatedPhilipp Oeser
effect strips keyframes along Maniphest Tasks: T77764 Differential Revision: https://developer.blender.org/D7996
2020-06-18Fix T77957: Height change in Camera Properties column when changing lens typePhilipp Oeser
Remove unneeded extra column from perspective type properties. Maniphest Tasks: T77957 Differential Revision: https://developer.blender.org/D8060
2020-06-18Allow interpolation of matrices with negative scale / axis flipsSybren A. Stüvel
The matrix interpolation function `interp_m3_m3m3()` decomposes the matrices into rotation and scale matrices, converts the rotation matrices to quaternions, SLERPs the quaternions, and converts the result back to a matrix. Since quaternions cannot represent axis flips, this results in interpolation problems like described in T77154. Our interpolation function is based on "Matrix Animation and Polar Decomposition", by Ken Shoemake & Tom Duff. The paper states that it produces invalid results when there is an axis flip in the rotation matrix (or negative determinant, or negative scale, those all indicate the same thing). Their solution is to multiply the rotation matrix with `-I`, where `I` is the identity matrix. This is the same as element-wise multiplication with `-1.0f`. My proposed solution is to not only do that with the rotation matrix `R`, but also with the scale matrix `S`. This ensures that the decomposition of `A = R * S` remains valid, while also making it possible to conver the rotation component to a quaternion. There is still an issue when interpolating between matrices with different determinant. As the determinant represents the change in volume when that matrix is applied to an object, interpolating between a negative and a positive matrix will have to go through a zero determinant. In this case the volume collapses to zero. I don't see this as a big issue, though, as without this patch Blender would also produce invalid results anyway. Reviewed By: brecht, sergey Differential Revision: https://developer.blender.org/D8048
2020-06-18Tests: added simple unittests for matrix interpolationSybren A. Stüvel
The interpolation of 4x4 and 3x3 matrices will fail when the rotation component has a singularity, i.e. when there is one axis mirrored. Two mirrored axes are just a rotation of 180 degrees around the third, and three mirrored axes are such a rotation + a single axis mirror. To prepare for a fix, I first wanted to cover the basic functionality with a few unit tests. These tests check that `interpolate(A, B, alpha)` always returns `A` for `alpha=0`, always return `B` for `alpha=1`, and something in between for `alpha=0.5`.
2020-06-18Sequencer: revert selection & keymap changes from D7679Campbell Barton
These changes aren't aligned with other timeline selection keymaps (graph & action for e.g.). Revert these changes, shortcuts to time-line editors should take other similar spaces into account.
2020-06-18Fix doc generation for enum & attr's with multi-line descriptionsCampbell Barton
2020-06-18Python API: path mapping options for library writing functionCampbell Barton
When "Relative Remap" option was added, the intention was only to remap paths that were already relative. However it remapped all paths. This was reported as T62612 and fixed recently, however some Python script authors depended on the old behavior. For users, it's reasonable to use the existing operators to make paths absolute/relative. For scripts however it's useful to be able to write out individual data-blocks with the ability to make all paths relative. Now `bpy.data.libraries.write()` takes a path_remap argument which can be `NONE/RELATIVE/RELATIVE_ALL/ABSOLUTE` allowing the script author to choose how paths are handled when writing out data-blocks. Addresses T77768.
2020-06-18Cleanup: remove unnecessary flag clearingCampbell Barton
This is not read from blend files.
2020-06-18BKE_global: No longer read/write G_FILE_HISTORYCampbell Barton
This is a runtime only flag which doesn't make sense to store in the file.
2020-06-18Cleanup: doxy sections for walk/fly operatorsCampbell Barton
2020-06-18Cleanup: redundant parenthesisCampbell Barton
2020-06-18Cleanup: unused variablesCampbell Barton
2020-06-18Fix T75414: Incorrect masking in Color Balance modifierRichard Antalik
Color balance factor was infinity. Clamp to +/- `FLT_MAX` Reviewed By: sergey Differential Revision: https://developer.blender.org/D7884
2020-06-18Cleanup: Remove goto statements from strip rendering functionsRichard Antalik
Remove goto statement from `seq_render_image_strip()` and `seq_render_movie_strip()`. `seq_render_image_strip_view()` and `seq_render_movie_strip_view()` is used to render individual views in both monoview and multiview branch. I have included `seq_can_use_proxy()` for convinience Reviewed By: sybren Differential Revision: https://developer.blender.org/D7870
2020-06-18Fix T73056: Cache not invalidated in fade operatorRichard Antalik
This operator is written in python it is inserting keyframes to create fade effects. Add Sequence.invalidate() python function to invalidate strip if it is changed in python. Perhaps I could implement cache invalidation to actual curve manipulation. I guess it wouldn't be very hard to do but having means to invalidate form python is useful as well. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7885
2020-06-18VSE: Fix assigning effect strip inputsRichard Antalik
Partialy fixes T73828 Currently all 3 effect inputs were assigned even if not all 3 were used. This causes problems with reassigning effects in python, because 3rd input is not accessible. This patch will only assign inputs that are necessary for effect to work properly. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D6868
2020-06-18Cleanup: Remove unused code from `seq_proxy_get_fname()`Richard Antalik
Reviewed By: brecht Differential Revision: https://developer.blender.org/D7868
2020-06-18Fix T66390: Update missing when snaping strips.Richard Antalik
Effect strips bound recalculation was mixed with overlap handling, which caused, that effects wasn't handled. In some cases there may be problem with order of strips in seqbase. We should traverse hierarchy instead. This is design issue that applies to all operators, and should be fixed separately. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7880
2020-06-18Transform: Snap to the intersection between constraint and geometryGermano Cavalcante
This commit changes the behavior of 4 snapping combinations: **1. While constraining to a plane, snap to an edge element:** The snap is made at the intersection between the edge direction and the constraint plane. **2. While constraining to a plane, snap to a face element:** The snap is made to the nearest point between the snap point and the line that intersects the face plane with the constraint plane. **3. While constraining to an axis, snap to an edge/line element:** The snap is made to the nearest point on the axis to the edge/line. **4. While constraining to an axis, snap to a face element:** The snap is made at the intersection of the axis and the plane defined by the face. To avoid unpredictable jumps outside view boundaries, an alignment check is made for each of these snapping combinations. Resolve/fix T66422 Differential Revision: https://developer.blender.org/D5608
2020-06-18Outliner: Fix (unreported) object select in multiple collectionsNathan Craddock
Previous commits to fix parent selection introduced incorrect behavior when selecting objects linked to multiple collections. The clicked object would be selected, but also the first listed object in the tree would be selected. Instead of always searching for a parent object to select, only search back when the selected element is not an ID_OB. This prevents multiple selection of objects linked to multiple collections.
2020-06-17GPencil: Chnage default Vertex Color mode to Stroke and FillAntonio Vazquez
The previous value was Stroke only.
2020-06-17GPencil: Fix unreported Vertex Opacity Overlay not workingAntonio Vazquez
This values was not working because was removed by error in refactor. Reviewed By: mendio, fclem Differential Revision: https://developer.blender.org/D8061
2020-06-17UI: Match some properties set in keymaps with those set for buttonsGermano Cavalcante
This allows the operator's shortcut to appear in the context menu. Except for the shortcut display, there is no functional change from the user's point of view. This fix T77839
2020-06-17Cycles: Add new Sky Texture method including direct sunlightLukas Stockner
This commit adds a new model to the Sky Texture node, which is based on a method by Nishita et al. and works by basically simulating volumetric scattering in the atmosphere. By making some approximations (such as only considering single scattering), we get a fairly simple and fast simulation code that takes into account Rayleigh and Mie scattering as well as Ozone absorption. This code is used to precompute a 512x128 texture which is then looked up during render time, and is fast enough to allow real-time tweaking in the viewport. Due to the nature of the simulation, it exposes several parameters that allow for lots of flexibility in choosing the look and matching real-world conditions (such as Air/Dust/Ozone density and altitude). Additionally, the same volumetric approach can be used to compute absorption of the direct sunlight, so the model also supports adding direct sunlight. This makes it significantly easier to set up Sun+Sky illumination where the direction, intensity and color of the sun actually matches the sky. In order to support properly sampling the direct sun component, the commit also adds logic for sampling a specific area to the kernel light sampling code. This is combined with portal and background map sampling using MIS. This sampling logic works for the common case of having one Sky texture going into the Background shader, but if a custom input to the Vector node is used or if there are multiple Sky textures, it falls back to using only background map sampling (while automatically setting the resolution to 4096x2048 if auto resolution is used). More infos and preview can be found here: https://docs.google.com/document/d/1gQta0ygFWXTrl5Pmvl_nZRgUw0mWg0FJeRuNKS36m08/view Underlying model, implementation and documentation by Marco (@nacioss). Improvements, cleanup and sun sampling by @lukasstockner. Differential Revision: https://developer.blender.org/D7896
2020-06-17UI: Solve crash with move to index in modifier menuHans Goudey
2020-06-17UI: Improve Modifier Panel Header MenuHans Goudey
This makes a few changes to the modifier panel header: 1. Adds "move to top" and "move to bottom" buttons. 2. Adds a checkmark icon for "apply" 3. Makes it narrower, the text is closer to the dropdown icon. (Requires the change in ui_block_func_POPUP) Differential Revision: https://developer.blender.org/D8040
2020-06-17UI: Modifier Panel Header ImprovementsHans Goudey
This includes a few improvments: 1. Always expose delete. This is the button everyone wants the most, it makes a lot of sense to expose this. 2. Improve "name hiding capability." Basically always align the mode buttons to the right, and count their number to see if the name fits. 3. Aligns more items, to look better, save space, and make the whole header seem more grouped. 4. In my tests the "switch contexts" button never coincides with the delete button, so they share the same space. Differential Revision: https://developer.blender.org/D8037
2020-06-17UI: Ctrl-click on panel header expands & collapses subpanelsHans Goudey
If the panel is already open and you ctrl click on its header, its sub-panels are now expanded / collapsed instead of toggling the expansion for all other panels. If you're toggling a panel's expansion it's already in view anyway, so there is no need to collapse the other panels. Differential Revision: https://developer.blender.org/D8042
2020-06-17Buildbot: Cleanup, remove unused script and change namingSergey Sharybin
Follow upstream convention.
2020-06-17Fix T76767: Cycles performance regression with CLI rendersRay Molenkamp
When picking a small tile size when doing a CLI render will yield many status updates being printed to the console causing a slowdown in the render process. 2.79 with the same amount of tiles did not have this slowdown. The reason for this turned out to be a debugging aid added in rBd2757d149bf2 which disabled buffering for stdout which on windows caused every single character being printed to the console to try to obtain a mutex, and worse the thread being put to sleep when this mutex was unavailable leading to poor performance. This patch changes the behaviour by only disabling the buffering in debug builds. CLI render of the default cube with 16x16 tiles at 1080p 2.83 : 37.57s now : 17.03s note: this only affected CLI renders, renders from the UI do not report this kind of information and had no such slowdown.
2020-06-17Fix T77914: Blender Crashes if viewport is changed manually while having ↵Germano Cavalcante
loop cut selected The selection engine requires a viewport.
2020-06-17Cleanup: Rearrange SELECTID_Context members for better alignmentGermano Cavalcante
2020-06-17ID Duplicate: Factorize a lot the code.Bastien Montagne
Now that we have a uniform consistent behavior in all our ID duplicate funtions, we can easily factorize it greatly. Code gets cleaner, smaller, and less error-prone. Note that ultimately, this duplicate/deep copy behavior could be added as a callback of IDTypeInfo. We could also rethink the duplicate flags (some data, even some obdata, like Lattice, are not coverred currently). And so on. But at least code should now be much more easily maintainable and extendable.
2020-06-17ID Duplicate: uniformize Action duplication.Bastien Montagne
Previously, object (and sub-data) actions would be controlled by the user preferences flag, collections actions would never be duplicted, and scenes actions were always duplicated... Now they all follow the user preferences settings.
2020-06-17Refactor duplicate of data-blocks.Bastien Montagne
Main change from user side, besides that all pointers should now be properly remapped to new IDs, is that linked objects are no longer preserved when doing a full copy of scenes. Will open a task to check whether we actually still want that behavior (and re-code it in a more correct way then). This is the main part of work done here, it aims at uniformizing and sanitizing that 'deep copy' process for supported IDs (currently scenes, collections and objects). Note that there will be more follow up commits after that one, but this should be the most risky and changing one.
2020-06-17Fix (unreported) broken logic in `BKE_libblock_relink_to_newid`Bastien Montagne
Existing code would not follow as expected into new sub-IDs if they were only encoutered once in usages by parent IDs...
2020-06-17Outliner: Unified delete hierarchy operatorNathan Craddock
This resolves T73673 by allowing delete hierarchy in all outliner view modes. It also unifies the collection and object hierarchy delete into a single operator like in rBae98a033c856. This makes it easier to delete all selected collection and object hierarchies at once. This also removes the old object delete hierarchy code in favor of the batch delete code which has been default for over a year. Maniphest Tasks: T73673 Differential Revision: https://developer.blender.org/D7675
2020-06-17Cleanup: clang-formatBrecht Van Lommel
2020-06-17Cleanup: fix compiler warningsBrecht Van Lommel
2020-06-17Fix T77915: Cycles OSL microfacet closure not working in custom shadersBrecht Van Lommel
The code to implement the newer closure in terms of the old one got lost in the removal of our stdosl.h copy. Now implement it as a builtin closure.
2020-06-17Cleanup: doxy sections for meta-ball operators.Campbell Barton
2020-06-17Fix T63411: Crash adding meta-ball with a small radiusCampbell Barton
Change how the radius, changing the size of meta plane, sphere & cube. Previously the size of these primitives would be kept the same, with only the radius outside the primitive being scaled. This led to small scale adding a lot of polygons instead of scaling the primitive down as users would expect. Also change behavior not to change the resolution when adding to an existing meta-ball.
2020-06-17Doc: minor change to curve select more/lessCampbell Barton
Address T55218
2020-06-17Cleanup: name mesh join functions using ED_{type} prefixCampbell Barton