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
2019-09-25Fix T69542: Corrective Smooth modifier breaks when drivers are involvedSebastian Parborg
Previously the cache for the modifier would not be invalidated if modifier settings were changed with drivers or keyframes. Now we compare the current setting with the ones used to generate the cache and invalidate the cache if they differ. Reviewed By: Sybren Differential Revision: http://developer.blender.org/D5694
2019-09-24Tracking: Highlight keyframes in path visualizationSergey Sharybin
This gives better idea of what's going on with your track. Example: {F693806} Color of keyframes are configurable from theme editor of clip editor. Reviewers: keir, brecht, Severin Differential Revision: https://developer.blender.org/D2772
2019-09-23Cleanup: remove Mesh.bb and Curve.bb, no reason for these to be persistentBrecht Van Lommel
These were only strictly valid for texture space calculation, don't store them since they should not be used after that. Only store a flag to indicate if the auto texture space has been evaluated. In the future it might make sense to store bounding boxes at the mesh level to speed up bounding box computation for multiple objects using the same mesh, but then it will need to be implemented differently.
2019-09-23Revert part of "GPencil: Invert Paste operator and make Paste to Active default"Brecht Van Lommel
This commit accidentally undid a bunch of previous commits. Only the intended changes are left now.
2019-09-20UI: Replace big options button in file browserJulian Eisel
The big options button in the lower left is now gone, it's replaced by a smaller icon toggle button in the upper right. That means I could also remove code for the region we had just for this button. I also added versioning code for the removal, to make sure the region is removed cleanly when reading old files.
2019-09-20Refactor: Ensure there's always a valid file editor tool regionJulian Eisel
So far the file browser code had some lazy creation for the tool region, even though it should always be there. The only reason I can see for this is compatiblity. So I simply added versioning code to add the region in case it's not there. Now we should be able to savely assume the tool region to be there, whithout any unusual lazy-creation.
2019-09-20Rewrite file region handling for non-editor modeJulian Eisel
This makes it so that regions only needed when the file browser is invoked as an operation (e.g. Ctrl+O rather than a regular editor) are lazy created then, and removed if the file browser is changed into a regular editor then (e.g. Ctrl+O over regular file browser editor -> Cancel). That should remove some troublesome assumptions and makes versioning redundant. It also fixes the issue of an empty execute region at the bottom after cancelling a file operation invoked from a regular file browser editor.
2019-09-19Fix T70074: Missing file execute region in some files (crashes)Julian Eisel
I'm not sure how a .blend file could get into this state, but apparently for some files saved with versions of Blender after the file browser changes, the execute region would not have been created. File browser code assumes this region to be there however. Luckily I found a file with which I could recreate the issue. My guess is that the error only happens with files that were stored before certain versioning fixes were done after the file browser redesign. To fix this, we just let the versioning code for the execute region run even with newest files. We can run this safely, it only acts if the execute region actually doesn't exist.
2019-09-19Fix T66154: viewlayer hide/exclude settings getting lost for linked collectionsBrecht Van Lommel
The problem was that the object and collection pointers in Base and LayerCollection would get lost of file read. Normally such ID pointers would be resolved by pointing to an ID_ID placeholder which has the datablock name, and then replacing it will the real datablock. However ID_ID is only written for directly linked datablocks. This adds the concept of an indirectly linked datablock with a weak reference to it. For this we write an ID_ID_WEAK_REF code, which is a reference that will only be resolved if the datablock was read for another reason. Differential Revision: https://developer.blender.org/D4416
2019-09-19Cleanup: spellingCampbell Barton
2019-09-18Fix preference for file browser and new window not being savedBrecht Van Lommel
The subversion should just be bumped for cases like this, it doesn't cost anything and functioning correctly is most important.
2019-09-18Revert "UI: Open file browser in fullscreen by default"Brecht Van Lommel
This reverts commit b962aca8003de89683c87c4da348579f756b75cd. We may revert to the fullscreen file browser if it's not good enough by the time of the 2.81 release. But then it first needs some changes since the in between state now is not good enough either.
2019-09-18Sculpt: Split original normal into original normal and planePablo Dobarro
This allows to create different effects with some brushes that use the sculpt plane. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D5818
2019-09-18UI: Open file browser in fullscreen by defaultJulian Eisel
Fullscreen as in, maximized area. This may be a temporary change until we consider the temporary window mode as working well enough. Note that you can still enable the windowed mode in the Preferences (Interface > Editors > Temporary Windows).
2019-09-18UI: Preference for file browser as fullscreen areaJulian Eisel
Addes a Preference setting to choose between opening new file browsers in a maximized area (like with the old file browser) or in a new window (like the new one).
2019-09-18UI: Move render display type to PreferencesJulian Eisel
Moves the render display type (to choose between rendering in a new window, in a fullscreen area, in an Image Editor, etc) from the scene to the preferences.
2019-09-18Cleanup: includes for readfile.cCampbell Barton
2019-09-17Fix T69989: Correct Mapping node min/max versioning.OmarSquircleArt
The old min/max options specified the target min/max values, they didn't act as min/max operators. So the versioning code should be adjusted accordingly. Reviewers: brecht Differential Revision: https://developer.blender.org/D5828
2019-09-17Fix T69974: crashes in .blend files where 3D viewport was splitBrecht Van Lommel
This was caused by a missing copy of the recently adding 3D viewport shading ID properties.
2019-09-14VSE: prefetchingRichard Antalik
When enabled prefetching(preview panel>view settings), a pernament running job is created, that will render frames in the background until the cache is full. If the cache is not filled fast enough, prefetch job suspends itself at the last moment and will wait until it has chance to "catch up". Effectively this will decouple rendering to separate thread, so rendering itself is a bit faster. Cache recycling behavior will be changed to "free furthest frame to the left of playhead if possible, otherwise rightmost frame". Reviewed By: brecht Differential Revision: https://developer.blender.org/D5386
2019-09-13Cleanup: unused headers for readfile, versioningCampbell Barton
2019-09-13Per-Viewport Collection VisibilityDalai Felinto
Support per-viewport collection visibility options. Note 1: There is no way to show a collection that was not visible before due to depsgraph. Otherwise we would risk having all the collections in the depsgraph and I believe this is not the idea. An alternative would be to have a new depsgraph for viewports that are not local. Something to keep in mind if we do per-viewport current frame in the future. So for now what we do is to only allow collections visibility to be disabled/hidden in this mode. Note 2: hide_viewport (the eye icon) doesn't really matter for depsgraph. So after the merge we can still ignore it to show the collections locally in a viewport with no problems for the depsgraph. Reviewers: brecht, sergey Subscribers: billreynish Related task: T61327 Differential Revision: https://developer.blender.org/D5611
2019-09-12Fix T69791: Fix crash reading old file browser in temporary windowJulian Eisel
When reading a old .blend file (from before the new file browser design), we wouldn't create the execute region for existing file editors. This usually wasn't an issue, but it could become one when a file browser was opened in a temporary screen before, and that screen was still visible. Then code spawning the new file browser would re-use the old file browser data, assuming the execute region was there. Handle this in versioning code and let rest of the code keep sane assumtions (e.g. that there always is a execute region, even if invisible).
2019-09-12Shading: Add More Features To The Voronoi Node.OmarSquircleArt
This patch allows the Voronoi node to operate in 1D, 2D, and 4D space. It also adds a Randomness input to control the randomness of the texture. Additionally, it adds three new modes of operation: - Smooth F1: A smooth version of F1 Voronoi with no discontinuities. - Distance To Edge: Returns the distance to the edges of the cells. - N-Sphere Radius: Returns the radius of the n-sphere inscribed in the cells. In other words, it is half the distance between the closest feature point and the feature point closest to it. And it removes the following three modes of operation: - F3. - F4. - Cracks. The Distance metric is now called Euclidean, and it computes the actual euclidean distance as opposed to the old method of computing the squared euclidean distance. This breaks backward compatibility in many ways, including the base case. Reviewers: brecht, JacquesLucke Differential Revision: https://developer.blender.org/D5743
2019-09-12Cleanup: line breaks with commentsCampbell Barton
2019-09-12Fix T69737: Crash using the Elastic Deform brush and CompressibilityPablo Dobarro
Also renamed "compressibility" to "volume preservation" Reviewed By: brecht Maniphest Tasks: T69737 Differential Revision: https://developer.blender.org/D5757
2019-09-11UI: enable topbar by defaultCampbell Barton
This lets us add settings to the options panel without them being hidden from the user.
2019-09-11Cycles: Display RenderPass in ViewportJeroen Bakker
This change allows the user to select a renderpass in the 3d viewport. Added support for external renderers to extend the `View3DShading` struct. This way Blender doesn't need to know the features an external render engine wants to support. Note that the View3DShading is also available in the scene->display.shading; although this is supported, it does not make sense for render engines to put something here as it is really scene/workbench related. Currently cycles assumes that it always needs to calculate the combined pass; it ignores the `pass_flag` in KernelFilm. We could optimize this but that was not in scope of this change Reviewed By: brecht Differential Revision: https://developer.blender.org/D5689
2019-09-10Cleanup: no need to add Brush.flag2Campbell Barton
Also use 'use_' prefix for RNA booleans.
2019-09-10UI: File Browser Custom Folder ColorHarley Acheson
Allows file browser folders to be shown in a theme-selectable color, default of manila. Differential Revision: https://developer.blender.org/D5713 Reviewed by Brecht Van Lommel
2019-09-09Fix (unreported) crash after new mapping node commit.Bastien Montagne
Blatant obvious usage of freed memory in rBbaaa89a0bc54. And also fix a memleak in same code/commit...
2019-09-09Shading: Extend Musgrave node to other dimensions.OmarSquircleArt
This patch extends Musgrave noise to operate in 1D, 2D, 3D, and 4D space. The Color output was also removed because it was identical to the Fac output. Reviewed By: brecht Differential Revision: https://developer.blender.org/D5566
2019-09-09Fix (unreported) non-official X3D add-on enabled in factory startup.Bastien Montagne
Forgot to remove it from there when I moved it to community-supported status last week. Also raising subversion.
2019-09-09Sculpt: Elastic Deform BrushPablo Dobarro
This patch implements the paper "Regularized Kelvinlets: Sculpting Brushes based on Fundamental Solutions of Elasticity" https://graphics.pixar.com/library/Kelvinlets/paper.pdf It includes grab, biscale grab, triscale grab, scale and twist. All deformation modes are accessible under the same tool. This helps to keep the code organized and it should not make any difference to the user when a better brush management system is implemented. Reviewed By: brecht Differential Revision: https://developer.blender.org/D5634
2019-09-09Fix T69663: 2.81 Cant open/append/link a blend file but 2.8 canPhilipp Oeser
Was a problem in the versioning code from rBbaaa89a0bc54, since the TexMapping struct could already be freed and node->storage could already be set to NULL (if a file with the new mapping node [saved from (2, 81, 8) or newer] is opened in a blender version prior to (2, 81, 8) and saved from there again). Reviewers: brecht Maniphest Tasks: T69663 Differential Revision: https://developer.blender.org/D5723
2019-09-07Cleanup: use post increment/decrementCampbell Barton
When the result isn't used, prefer post increment/decrement (already used nearly everywhere in Blender).
2019-09-07Cleanup: includes in headersCampbell Barton
Forward declare structs where possible.
2019-09-07Cleanup: style, spellingCampbell Barton
2019-09-06Viewport Shading: StudioLight IntensityJeroen Bakker
Add option to change the Intensity of the HDRI in the 3d viewport. This works for both EEVEE and Cycles Reviewed By: brecht, fclem Differential Revision: https://developer.blender.org/D5674
2019-09-06Copy Rotation: implement new mixing modes that actually work.Alexander Gavrilov
Upon close inspection, the way the Offset mode works in the Copy Rotation constraint makes no sense, and in fact, destroys the rotation of its owner unless either it's single axis, or the order is set specifically to `ZYX Euler`. Since it can't simply be changed because of backward compatibility concerns, replace the checkbox with a dropdown that provides a set of new modes that actually make sense. Specifically, add a mode that simply adds Euler components together, and two options that use matrix multiplication in different order. The Python use_offset property is replaced with compatibility stubs. Reviewers: brecht Differential Revision: https://developer.blender.org/D5640
2019-09-05Eevee: Shadow map refactorClément Foucault
Reviewed By: brecht Differential Revision: http://developer.blender.org/D5659
2019-09-05Shading: Rewrite Mapping node with dynamic inputs.OmarSquircleArt
This patch rewrites the Mapping node to support dynamic inputs. The Max and Min options have been removed. They can be added as Min and Max Vector Math nodes manually. Texture nodes still use the old matrix-based mapping. A new SVM node `NODE_TEXTURE_MAPPING` has been added to preserve this functionality. Similarly, in GLSL, a `mapping_mat4` function has been added. Reviewers: brecht, JacquesLucke
2019-09-04Versioning: Bump subversion for the Noise node.OmarSquircleArt
D5560 was missing a subversion bump. Reviewers: brecht Differential Revision: https://developer.blender.org/D5678
2019-09-04Shading: Extend Noise node to other dimenstions.OmarSquircleArt
This patch extends perlin noise to operate in 1D, 2D, 3D, and 4D space. The noise code has also been refactored to be more readable. The Color output and distortion patterns changed, so this patch breaks backward compatibility. This is due to the fact that we now use random offsets as noise seeds, as opposed to swizzling and constants offsets. Reviewers: brecht, JacquesLucke Differential Revision: https://developer.blender.org/D5560
2019-09-04Shading Modes: Material and Render PreviewJeroen Bakker
This change implements the basics as described in {T68312} for the shading modes. * LookDev shading mode is renamed to Material Preview. It always uses Eevee as renderer, and is intended to provide a fast material preview suitable for texture painting, and texture and material setup. * Rendered shading gains "Use Scene Lights" and "Use Scene World" options similar to current Material Preview. These will be enabled by default. When Use Scene World is turned off, HDRIs will be used for lighting instead. These options are available for EEVEE and Cycles. * Renderers will be able to customize the shading settings panel and add additional settings. Reviewed By: brecht, fclem Differential Revision: https://developer.blender.org/D5612
2019-09-04Armature: add Inherit Scale options to remove shear or average the scale.Alexander Gavrilov
As an inherent property of matrix-based transformation math, non- uniform scaling of a parent bone induces shear into the transform matrix of any rotated child. Such matrices cannot be cleanly decomposed into a combination of location/rotation/scale, which causes issues for rigging and animation tools. Blender bones have options to exclude rotation and/or scale from the inherited transformation, but don't have any support for removing the often undesired shear component. That goal requires replacing simple parenting with a combination of multiple bones and constraints. The same is true about the goal of inheriting some scale, but completely avoiding shear. This patch replaces the old Inherit Scale checkbox with a enum that supports multiple options: * Full: inherit all effects of scale, like with enabled Inherit Scale. * Fix Shear: removes shear from the final inherited transformation. The cleanup math is specifically designed to preserve the main axis of the bone, its length and total volume, and minimally affect roll on average. It however will not prevent reappearance of shear due to local rotation of the child or its children. * Average: inherit uniform scale that represents the parent volume. This is the simplest foolproof solution that will inherit some scale without ever causing shear. * None: completely remove scale and shear. * None (Legacy): old disabled Inherit Scale checkbox. This mode does not handle parent shear in any way, so the child is likely to end up having both scale and shear. It is retained for backward compatibility. Since many rigging-related addons access the use_inherit_scale property from Python, it is retained as a backward compatibility stub that provides the old functionality. As a side effect of reworking the code, this also fixes a matrix multiplication order bug in the Inherit Rotation code, which caused the parent local scale to be applied in world space. In rigger opinion this option is useless in production rigs, so this fix should not be a problem. Reviewers: brecht Differential Revision: https://developer.blender.org/D5588
2019-09-03Cleanup: unused flag, spellingCampbell Barton
2019-09-03UI: File Browser Design OverhaulJulian Eisel
This is a general redesign of the File Browser GUI and interaction methods. For screenshots, check patch D5601. Main changes in short: * File Browser as floating window * New layout of regions * Popovers for view and filter options * Vertical list view with interactive column header * New and updated icons * Keymap consistency fixes * Many tweaks and fixes to the drawing of views ---- General: * The file browser now opens as temporary floating window. It closes on Esc. The header is hidden then. * When the file browser is opened as regular editor, the header remains visible. * All file browser regions are now defined in Python (the button layout). * Adjusted related operator UI names. Keymap: Keymap is now consistent with other list-based views in Blender, such as the Outliner. * Left click to select, double-click to open * Right-click context menus * Shift-click to fill selection * Ctrl-click to extend selection Operator options: These previously overlapped with the source list, which caused numerous issues with resizing and presenting many settings in a small panel area. It was also generally inconsistent with Blender. * Moved to new sidebar, which can easily be shown or hidden using a prominent Options toggle. * IO operators have new layouts to match this new sidebar, using sub-panels. This will have to be committed separately (Add-on repository). * If operators want to show the options by default, they have the option to do so (see `WM_FILESEL_SHOW_PROPS`, `hide_props_region`), otherwise they are hidden by default. General Layout: The layout has been changed to be simpler, more standard, and fits better in with Blender 2.8. * More conventional layout (file path at top, file name at the bottom, execute/cancel buttons in bottom right). * Use of popovers to group controls, and allow for more descriptive naming. * Search box is always live now, just like Outliner. Views: * Date Modified column combines both date and time, also uses user friendly strings for recent dates (i.e. "Yesterday", "Today"). * Details columns (file size, modification date/time) are now toggleable for all display types, they are not hardcoded per display type. * File sizes now show as B, KB, MB, ... rather than B, KiB, MiB, … They are now also calculated using base 10 of course. * Option to sort in inverse order. Vertical List View: * This view now used a much simpler single vertical list with columns for information. * Users can click on the headers of these columns to order by that category, and click again to reverse the ordering. Icons: * Updated icons by Jendrzych, with better centering. * Files and folders have new icons in Icon view. * Both files and folders have reworked superimposed icons that show users the file/folder type. * 3D file documents correctly use the 3d file icon, which was unused previously. * Workspaces now show their icon on Link/Append - also when listed in the Outliner. Minor Python-API breakage: * `bpy.types.FileSelectParams.display_type`: `LIST_SHORT` and `LIST_LONG` are replaced by `LIST_VERTICAL` and `LIST_HORIZONTAL`. Removes the feature where directories would automatically be created if they are entered into the file path text button, but don't exist. We were not sure if users use it enough to keep it. We can definitely bring it back. ---- //Combined effort by @billreynish, @harley, @jendrzych, my university colleague Brian Meisenheimer and myself.// Differential Revision: https://developer.blender.org/D5601 Reviewers: Brecht, Bastien
2019-09-02Cleanup: get rid of BKE_collection_master() useless accessor.Bastien Montagne
In its current version that was a totally useless extra layer of crap that we can totally avoid. Plus name was bad too.
2019-09-02Make Scene Master collection 'Private' ID data, like root nodetrees.Bastien Montagne
Same issue here as with root nodetrees, those are private ID data owned by another ID, and not in Main DB. This requires special handling. there are still quiet a few things to do here, like getting rid of special code for master collection (regular ID copying should handle that just as it already does for root nodetrees), cleanup in ID copying code, etc.