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
2018-06-06Fix T55344: linked collection instance has user count 0.Brecht Van Lommel
2018-06-05Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/blenkernel/intern/blendfile.c source/blender/blenloader/intern/readfile.h source/blender/blenloader/intern/versioning_250.c source/blender/blenloader/intern/versioning_260.c source/blender/blenloader/intern/versioning_270.c source/blender/blenloader/intern/versioning_legacy.c source/blender/editors/render/render_shading.c source/blender/makesrna/intern/rna_movieclip.c source/blender/render/intern/source/pipeline.c source/blender/render/intern/source/voxeldata.c
2018-06-05Moved function declarations from BKE_mesh.h → BKE_mesh_runtime.hSybren A. Stüvel
2018-06-05Cleanup: use new accessors to blendfile path (Main.name).Bastien Montagne
2018-06-03UI: add subpanel support.Brecht Van Lommel
In the Python API, any panel becomes a subpanel by setting bl_parent_id to the name of the parent panel. These subpanels can contain advanced or less commonly used settings.
2018-06-01Merge branch 'master' into blender2.8Campbell Barton
2018-06-01Cleanup: trailing whitespace (comment blocks)Campbell Barton
Strip unindented comment blocks - mainly headers to avoid conflicts.
2018-06-01T54991: Restore support for Motion Path drawing in 2.8Joshua Leung
This commit restores support for Motion Path drawing in 2.8 (as it wasn't ported over to the new draw engines earlier, and the existing space_view3d/drawanimviz.c code was removed during the Blender Internal removal). Notes: * Motion Paths are now implemented as an overlay (enabled by default). Therefore, you can turn all of them on/off from the "Overlays" popover * By and large, we have kept the same draw style as was used in 2.7 Further changes can happen later following further design work. * One change from 2.7 is that thicker lines are used by default (2px vs 1px) Todo's: * There are some bad-level calls introduced here (i.e. the actgroup_to_keylist() stuff). These were introduced to optimise drawing performance (by avoiding full keyframes -> keylist conversion step on each drawcall). Instead, this has been moved to the calculation step (in blenkernel). Soon, there will be some cleanups/improvements with those functions, so until then, we'll keep the bad level calls. Credits: * Clément Foucault (fclem) - Draw Engine magic + Shader Conversion/Optimisation * Joshua Leung (Aligorith) - COW fixes, UI integration, etc. Revision History: See "tmp-b28-motionpath_drawing" branch (rBa12ab5b2ef49ccacae091ccb54d72de0d63f990d)
2018-05-31Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/editors/object/object_add.c source/blender/editors/object/object_select.c source/blender/editors/space_outliner/outliner_edit.c
2018-05-31Cleanup: get rid of last G.main usages in BKE library code.Bastien Montagne
2018-05-31Depsgraph: optimization of driver evaluation with many drivers.Brecht Van Lommel
2018-05-30Add deformed evaluated mesh to objectSergey Sharybin
This is a first step to have correspondence of legacy derivedDeform within a new formulation. Only base ground for now to support file reading, copy-on-write remapping and such.
2018-05-26Fix T55207, fix T55208: hair not positioned correctly after subsurf.Brecht Van Lommel
The problem was that the particle system modifier was reading ob->derivedDeform during modifier stack evaluation. Due to the mesh -> DM conversion this was no longer set leading to wrong results. In fact we don't really need the deformed mesh, just the original mesh topology for face/poly index remapping. So the solution is to use that instead.
2018-05-25Fix T55062: crash with workspace scene relations.Brecht Van Lommel
List of relations was saved with wrong struct type.
2018-05-25Fix T55183, fix T55174: crashes with workspace / view layer relation.Brecht Van Lommel
Don't store pointers to ViewLayer in the workspace, only names. Add specific relation type since the generic mechanism makes the code hard to follow. Integrate with pointer restore for undo and library remapping code to avoid data going out of sync. Also add relation automatically if there doesn't exists one yet in BKE_workspace_view_layer_get, because in general it's really hard to ensure it will exist when making arbitrary scene changes. Differential Revision: https://developer.blender.org/D3432
2018-05-24Fix missing ID pointers expansion for ID itself in readfile code.Bastien Montagne
Was breaking static override chaining (static override of a linked datablock that is already a static override in it original lib file). Dummy mistake, thanks to @dfelinto for finding the bug.
2018-05-24Fix T55171: crash with undo and linked collections.Brecht Van Lommel
Collections created in library file versioning need to be set as coming from the library, otherwise they get freed on undo.
2018-05-23Fix crash loading without UI, after recent changes.Brecht Van Lommel
2018-05-23Cleanup: rename idname -> nameCampbell Barton
This isn't for ID's
2018-05-23Fix T53481: Linked scene crashes on loadCampbell Barton
2018-05-23Workspace: remove deprecated view layerCampbell Barton
Was removed in 2.80.4, this was not default and unsupported for linking.
2018-05-22Tool System: store operator properties in the toolCampbell Barton
This replaces last-used property use which wasn't reliable since properties were not considered 'set' - causing them to be ignored.
2018-05-22Cleanup: make group/collection versioning a bit more clear.Brecht Van Lommel
2018-05-18Fix crash when collection view layer cannot be foundSybren A. Stüvel
2018-05-18Collections and groups unificationBrecht Van Lommel
OVERVIEW * In 2.7 terminology, all layers and groups are now collection datablocks. * These collections are nestable, linkable, instanceable, overrideable, .. which opens up new ways to set up scenes and link + override data. * Viewport/render visibility and selectability are now a part of the collection and shared across all view layers and linkable. * View layers define which subset of the scene collection hierarchy is excluded for each. For many workflows one view layer can be used, these are more of an advanced feature now. OUTLINER * The outliner now has a "View Layer" display mode instead of "Collections", which can display the collections and/or objects in the view layer. * In this display mode, collections can be excluded with the right click menu. These will then be greyed out and their objects will be excluded. * To view collections not linked to any scene, the "Blender File" display mode can be used, with the new filtering option to just see Colleciton datablocks. * The outliner right click menus for collections and objects were reorganized. * Drag and drop still needs to be improved. Like before, dragging the icon or text gives different results, we'll unify this later. LINKING AND OVERRIDES * Collections can now be linked into the scene without creating an instance, with the link/append operator or from the collections view in the outliner. * Collections can get static overrides with the right click menu in the outliner, but this is rather unreliable and not clearly communicated at the moment. * We still need to improve the make override operator to turn collection instances into collections with overrides directly in the scene. PERFORMANCE * We tried to make performance not worse than before and improve it in some cases. The main thing that's still a bit slower is multiple scenes, we have to change the layer syncing to only updated affected scenes. * Collections keep a list of their parent collections for faster incremental updates in syncing and caching. * View layer bases are now in a object -> base hash to avoid quadratic time lookups internally and in API functions like visible_get(). VERSIONING * Compatibility with 2.7 files should be improved due to the new visibility controls. Of course users may not want to set up their scenes differently now to avoid having separate layers and groups. * Compatibility with 2.8 is mostly there, and was tested on Eevee demo and Hero files. There's a few things which are know to be not quite compatible, like nested layer collections inside groups. * The versioning code for 2.8 files is quite complicated, and isolated behind #ifdef so it can be removed at the end of the release cycle. KNOWN ISSUES * The G-key group operators in the 3D viewport were left mostly as is, they need to be modified still to fit better. * Same for the groups panel in the object properties. This needs to be updated still, or perhaps replaced by something better. * Collections must all have a unique name. Less restrictive namespacing is to be done later, we'll have to see how important this is as all objects within the collections must also have a unique name anyway. * Full scene copy and delete scene are exactly doing the right thing yet. Differential Revision: https://developer.blender.org/D3383 https://code.blender.org/2018/05/collections-and-groups/
2018-05-18Tool System: store the active tool in ScrAreaCampbell Barton
Without this we need to have the context to get the (space_type, mode) args for an active tool lookup. For event handling & poll its more convenient to have direct access.
2018-05-17Modifiers: ported Surface DerivedMesh → MeshSybren A. Stüvel
2018-05-17Tool System: per space/mode tool supportCampbell Barton
This patch adds support for: - Per space-type tools (3D view and edit). - Per mode tools (object, edit, weight-paint .. etc). The top-bar shows the last activated tools options, this is a design issue with using a global topbar to show per-space settings. See D3395
2018-05-17Remove ViewLayer settings - cleanup 1/2Dalai Felinto
2018-05-16Particle System: ported most DerivedMesh → MeshSybren A. Stüvel
There are a few places where DerivedMesh is still used, most notably when calling the (not yet ported) cloth simulation. There is also still the use of Object.derivedDeform and Object.derivedFinal. Those places are marked with a TODO. Some functions in the editors module were copied to accept Mesh. Those already had 'mesh' in the name; the copies are suffixed with '__real_mesh' for easy renaming later when the DM-based functionality is removed.
2018-05-15Depsgraph: Keep track of original particle systemSergey Sharybin
Allows to have quicker lookup in particle edit mode.
2018-05-15Fix crash linking/appending from old files in some cases.Brecht Van Lommel
Temporary main would not have a lock, which caused crashing when adding datablocks.
2018-05-13Fix invisible scroll-bars after file readJulian Eisel
Own mistake from 51efeb683451d896.
2018-05-09Fix T55015: Crash on selection after recent BVH changesDalai Felinto
Runtime data should always be initialized to NULL on read-time.
2018-05-08Collections: remove per collection and view layer engine overrides.Brecht Van Lommel
This will be handled by the new view layer override system which will store data elsewhere, removing the code already for easier refactoring.
2018-05-08Orientation for 3D cursorCampbell Barton
Currently set when setting the cursor location, optionally used as an orientation type. Intended for use by tools too. See: D3208
2018-05-08Merge branch 'master' into blender2.8Campbell Barton
2018-05-08Cleanup: quiet -Warray-bounds warningCampbell Barton
2018-05-07UI: Hide & shrink scroll-bars based on cursor positionJulian Eisel
Scroll-bars are now hidden unless the cursor approaches them, in which case they smoothly grow and become more & more visible. Note that since 0d309144020168e55, scroll-bars are drawn on top of editor contents. There's no more jumping of buttons when scroll-bars appear. Technical notes: * AZones are used to adjust scrollbars based on mouse movements We may want to support screen level AZones if we want scrollbars to also smoothly appear when approaching them from a different area. I also plan to make further changes to AZones to clean up stuff a bit. * Had to move AZone handling to a post ARegion init stage, since we need the updated View2D data from there. * View2D masks and scroller rectangles are now updated on every redraw. It's cheap to do that though.
2018-05-05Cleanup: remove legacy 3D view data.Brecht Van Lommel
2018-05-02Static Override: add insertion for modifiers and one constraints, fix ↵Bastien Montagne
editing of inserted items in collections. Now insertable collection items have a flag to say they are 'local' (and hence can be freely edited).
2018-05-02Mesh: move runtime members to own structCampbell Barton
2018-04-27WM: new offscreen window draw method to replace all existing methods.Brecht Van Lommel
For Blender 2.8 we had to be compatible with very old OpenGL versions, and triple buffer was designed to work without offscreen rendering, by copying the the backbuffer to a texture right before swapping. This way we could avoid redrawing unchanged regions by copying them from this texture on the next redraws. Triple buffer used to suffer from poor performance and driver bugs on specific cards, so alternative draw methods remained available. Now that we require newer OpenGL, we can have just a single draw method that draw each region into an offscreen buffer, and then draws those to the screen. This has some advantages: * Poor 3D view performance when using Region Overlap should be solved now, since we can also cache overlapping regions in offscreen buffers. * Page flip, anaglyph and interlace stereo drawing can be a little faster by avoiding a copy to an intermediate texture. * The new 3D view drawing already writes to an offscreen buffer, which we can draw from directly instead of duplicating it to another buffer. * Eventually we will be able to remove depth and stencil buffers from the window and save memory, though at the moment there are still some tools using it so it's not possible yet. * This also fixes a bug with Eevee sampling not progressing with stereo drawing in the 3D viewport. Differential Revision: https://developer.blender.org/D3061
2018-04-24EEVEE: LightProbes: Add Visibility Group to DNA/RNA/UI.Clément Foucault
2018-04-23Replace old Timelines and Logic Editors with new Dopesheet (Timeline mode)Julian Eisel
Timelines and Logic Editors are gone. So far they were simply replaced by broken Info Editors, now they are replaced by Dopesheets in the new Timeline mode. We reuse ScrArea.butspacetype to temporarily store the space-type identifier of the deprecated editor (see 9db492de6dd07). That way we can identify it in versioning code and replace it nicely. Action editor creation needs a scene to set the scrolling based on frame range. Active screen-layouts use the active scene of the window they are displayed in. Inactive screens simply use the first scene in the main data base. Note that inactive editors don't need version patching, readfile.c converts them to SPACE_EMPTY already, so users can't activate them. Files saved since the editors were removed will still be broken. Workspace config files saved before this will also crash (will update default one in followup commit).
2018-04-23Cleanup: Get rid of ScrArea.butspacetype syncing with ScrArea.spacetypeJulian Eisel
The only real reason we need `butspacetype` is while switching areas, where we need to delay the actual switch to the RNA _update callback since only there we can access context. So instead of trying to sync it with `spacetype`, only set while needed and unset it afterwards (as in set to `SPACE_EMPTY`). This should also allow us to re-use `butspacetype` in versioning code when trying to read removed editors. It'll store the space type value of the removed editor which we can then use on versioning. For backwards compatibility, we store `butspacetype` with the value of `spacetype`.
2018-04-20Cleanup: Remove the "SpaceTime->caches" and "SpaceTimeCache" stuffJoshua Leung
These were runtime only data, used in pre 2.8 Blender to make use of GL vertex arrays to draw these more efficiently. Maybe we might restore these sometime as an optimisation step, but for now, they're not needing and were confusing.
2018-04-20UI: New Global Top-Bar (WIP)Julian Eisel
== Main Features/Changes for Users * Add horizontal bar at top of all non-temp windows, consisting out of two horizontal sub-bars. * Upper sub-bar contains global menus (File, Render, etc.), tabs for workspaces and scene selector. * Lower sub-bar contains object mode selector, screen-layout and render-layer selector. Later operator and/or tool settings will be placed here. * Individual sections of the topbar are individually scrollable. * Workspace tabs can be double- or ctrl-clicked for renaming and contain 'x' icon for deleting. * Top-bar should scale nicely with DPI. * The lower half of the top-bar can be hided by dragging the lower top-bar edge up. Better hiding options are planned (e.g. hide in fullscreen modes). * Info editors at the top of the window and using the full window width with be replaced by the top-bar. * In fullscreen modes, no more info editor is added on top, the top-bar replaces it. == Technical Features/Changes * Adds initial support for global areas A global area is part of the window, not part of the regular screen-layout. I've added a macro iterator to iterate over both, global and screen-layout level areas. When iterating over areas, from now on developers should always consider if they have to include global areas. * Adds a TOPBAR editor type The editor type is hidden in the UI editor type menu. * Adds a variation of the ID template to display IDs as tab buttons (template_ID_tabs in BPY) * Does various changes to RNA button creation code to improve their appearance in the horizontal top-bar. * Adds support for dynamically sized regions. That is, regions that scale automatically to the layout bounds. The code for this is currently a big hack (it's based on drawing the UI multiple times). This should definitely be improved. * Adds a template for displaying operator properties optimized for the top-bar. This will probably change a lot still and is in fact disabled in code. Since the final top-bar design depends a lot on other 2.8 designs (mainly tool-system and workspaces), we decided to not show the operator or tool settings in the top-bar for now. That means most of the lower sub-bar is empty for the time being. NOTE: Top-bar or global area data is not written to files or SDNA. They are simply added to the window when opening Blender or reading a file. This allows us doing changes to the top-bar without having to care for compatibility. == ToDo's It's a bit hard to predict all the ToDo's here are the known main ones: * Add options for the new active-tool system and for operator redo to the topbar. * Automatically hide the top-bar in fullscreen modes. * General visual polish. * Top-bar drag & drop support (WIP in temp-tab_drag_drop). * Improve dynamic regions (should also fix some layout glitches). * Make internal terminology consistent. * Enable topbar file writing once design is more advanced. * Address TODO's and XXX's in code :) Thanks @brecht for the review! And @sergey for the complaining ;) Differential Revision: D2758
2018-04-20UI: move manipulator to tool-systemCampbell Barton
Current manipulator now follows active tool.
2018-04-20Merge branch 'master' into blender2.8Bastien Montagne