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-01-08Fix inconsistent naming and behavior for base visible/selected/editable.Brecht Van Lommel
Fixes T60251.
2019-01-03Fix T57177: redo select random operator selects hidden objects.Brecht Van Lommel
2018-12-28Cycles: restore old sample and material override settings for view layers.Brecht Van Lommel
Since there will be no view layer overrides in 2.80, this is needed still.
2018-12-12Merge branch 'master' into blender2.8Campbell Barton
2018-12-07Depsgraph: Remove duplicated sets of recalc/update flagsSergey Sharybin
There were at least three copies of those: - OB_RECALC* family of flags, which are rudiment of an old dependency graph system. - PSYS_RECALC* which were used by old dependency graph system as a separate set since the graph itself did not handle particle systems. - DEG_TAG_* which was used to tag IDs. Now there is a single set, which defines what can be tagged and queried for an update. It also has some aggregate flags to make queries simpler. Lets once and for all solve the madness of those flags, stick to a single set, which will not overlap with anything or require any extra conversion. Technically, shouldn't be measurable user difference, but some of the agregate flags for few dependency graph components did change. Fixes T58632: Particle don't update rotation settings
2018-12-02Optimize ghash usageCampbell Barton
Avoid double hash calculation.
2018-12-01Fix T58412: in weight paint + pose mode certain armature operations crash.Alexander Gavrilov
The cause is that FOREACH_OBJECT_IN_MODE_BEGIN assumed that the active object is in the correct mode, which is wrong in this case. It also only considered objects of the same type as active, which had to be replaced with an explicit type parameter.
2018-11-29Debug: Assert to ensure layer iterator uses a 3D viewCampbell Barton
2018-11-28Outliner/visibility: revert changes for now until we find better solutions.Brecht Van Lommel
See T57857 for discussion. This reverts: "Outliner: Do not gray out empty collections" 4521d3e7074d2e08ca813e1f4a2297f5000f335b. "Remove eye column from the outliner" fd16b359977c8932ada8db4ff0e43d0402fdc280. Fix/workaround issues in pose and edit mode" 6d2e2e30d50c40f302b62d3601b5742d7c7056c6. "Per view-layer collection visibility" 4de6a210c69fe254518ca8d6c860782c54f03749.
2018-11-28Fix/workaround issues in pose and edit modeSergey Sharybin
Edit mode was unable to select, pose mode was unable to move bones.
2018-11-28Per view-layer collection visibilityDalai Felinto
We still control this in the viewport collections visibility menu. But now we are actually changing the visibility of the collections, not of the objects. If a collection is indirectly invisible (because one of its parents are invisible) we gray it out. Also if you click directly in the collection names, it "isolates" the collection by hiding all collections, and showing the direct parents and all the children of the selected collection. Development Note: Right now I'm excluding the hidden collections from the depsgraph. Thus the need for tagging relations to update. If this proves to be too slow, we can change.
2018-11-27Fix crash iterating over empty view layerCampbell Barton
2018-11-25Local ViewDalai Felinto
Bring back per-viewport localview. This is based on Blender 2.79. We have a limit of 16 different local view viewports. We are using both the numpad /, as well as the regular /. Missing features: * Hack to make sure lights are always visible. * Make rendered mode with external engines to support this as well (probably just need to support this in the RNA iterators). * Support over 16 viewports by taking existing viewports out of local view. The code can use a cleanup pass in the future to unify the test to see if an object is visible (or we can use TESTBASE in more places).
2018-11-16RNA: LayerCollection.has_hidden_objectsDalai Felinto
With this we have a way to tell that a collection has visible objects but not all of its objects are visible.
2018-11-15Depsgraph: Save memory by ignoring invisible objectsSergey Sharybin
This finished old standing TODO which was attempting to ignore objects of all invisible collections. The difference here is that we remove invisible bases from view layers. This guarantees that the evaluated state is consistent and does not reference original objects.
2018-11-09Cleanup: fix layer_collection_sync() using int's for short values.Bastien Montagne
Collection flag and runtime_flag are shorts, not ints...
2018-11-08Cleanup: use explicit 'select_and_set_active' API nameCampbell Barton
Selection should be separated from active state and handled by higher level code (operators/editors) instead of happening automatically.
2018-11-05Fix (unreported) potential race condition in view_layer_bases_hash_create().Bastien Montagne
When you check for undone work before acquiring a lock that ensures you are the only one actually doing the work, you have to redo the check *after* acquiring said lock. Otherwise, there is room for nasty random race condition issues...
2018-11-05Fix various Freestyle rendering bugs.Brecht Van Lommel
2018-09-24Fix T56895: crash loading template with Load UI unchecked.Brecht Van Lommel
2018-09-03Fix T56622: crash and other bugs deleting scenes.Brecht Van Lommel
Simplify library remapping code to handle special collection/object links in postprocess. Previously base contained the actual object link which needed special handling in preprocess, now objects are linked through collection and the base cache can be updated in postprocess.
2018-08-29Cleanup: rename files from group to collection to match contents.Brecht Van Lommel
2018-07-25Cycles: add per layer collection indirectly on setting.Brecht Van Lommel
In the outliner, right click > view layer > set indirect only. This is like clearing camera ray visibility on objects in the collection, and is temporary until we have more general dynamic overrides.
2018-07-25Cycles: add per layer collection mask/holdout support.Brecht Van Lommel
In the outliner, right click > view layer > set holdout. This is temporary until we have more general dynamic overrides, but helps Spring production for now.
2018-07-10Fix T55826, fix T55804: crash after copying scene with linked objects.Brecht Van Lommel
2018-07-04Workspaces: store view layer per main window, instead of per workspace.Brecht Van Lommel
It was a bit odd that the scene was stored per window but not the view layer. The reasoning was that you would use different view layers for different tasks. This is still possible, but it's more predictable to switch them both explicitly, and with child window support manually syncing the view layers between multiple windows is no longer needed as often.
2018-06-25Cleanup: rename object base flags to be more clear.Brecht Van Lommel
2018-06-25Cleanup: code styleCampbell Barton
2018-06-21Revert "Objects: when active object gets hidden, make it inactive."Brecht Van Lommel
This reverts commit fec97ec949, it's useful to be able to edit object properties for hidden objects. The issue with mode locking that this was meant to solve will be handled in another way.
2018-06-20Objects: support for hiding all objects in a collection.Brecht Van Lommel
In the outliner there are now icons for it, Ctrl+Click isolates a single collections. In the 3D view, Ctrl+H key opens a menu that is more or less the equivalent of the old layer buttons in the header. Regular Click isolates the collection, Shift+Click toggle the collection visibility. Pressing number keys and letters works in this menu, which can help for quickly selecting a specific collection. Shortcuts for quick switching by just pressing 1/2/3/.. keys are available again. The order can be confusing with nested collections, but that seems unavoidable. The first numbers control the top level collections, and then sub collections if numbers are left. Remaining design issues: * The 3D view menu needs to be improved: support for sub collections, staying open on shift+click, access from the 3D view header somewhere, shortcut key display. * Currently collection hiding just controls per-object hiding, we plan to separate this state still so alt+H doesn't affect collection hiding.
2018-06-20Objects: restore per object restrict view/render/select.Brecht Van Lommel
Note this is now separate from H key hiding, and meant for more persistent ways to define which objects are relevant to the viewport or render. This avoids some cases where you'd have to create collection specifically to hide objects for viewport/render.
2018-06-20Objects: restore H key per object hiding.Brecht Van Lommel
H hides selected objects, Shift+H hides unselected objects, and Alt+H reveals hidden objects. This hiding state is distinct from restrict viewport and render, and meant for temporarily hiding objects without affecting more persistent collection hiding. Object hiding is per view-layer, same as selection. It affects the viewport and any preview renders in there, but not final renders. In the outliner, different icons are now used for temporary hiding, and restrict viewport and render. Hidden objects are greyed out. Remaining design issues: * For lamps we probably still want to keep their effect on the scene, currently they are fully disabled by hiding. Arguably mesh lights or even objects being reflected or casting shadows are not that different but perhaps the special lamp exception from local view should remain. * We need a feature still to disabled this hiding for specific viewports, for render or animation preview where you want to see the entire scene while working in another view. * We need a new icon for restrict viewport, for now it uses a grid similar to the 2.4 icon. * Hiding objects does not preserve selection state as it did in 2.7, it's probably convenient to support this again?
2018-06-18Fix crash when making static override of an object from a collection.Bastien Montagne
Since we free collection caches when we remap one of their objects, we also need to tell depsgraph to flush this into the COWs of that collection, otherwise things like draw code can access freed memory...
2018-06-18Objects: when active object gets hidden, make it inactive.Brecht Van Lommel
2018-06-18Cleanup: simplify some view layer code.Brecht Van Lommel
2018-06-07Fix T55126: COW problem: there is an active object even if unselectableSergey Sharybin
2018-05-29Object Modes: only use selection for mode switchCampbell Barton
Selection is no longer needed for an object to be considered in a mode. Part of T55246 design task, fixes T55187
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-24Correct last commitCampbell Barton
2018-05-24Correct fix for view centerCampbell Barton
The view layers active object was not being copied.
2018-05-23Fix T55160: crash renaming view layer.Brecht Van Lommel
2018-05-22COw operators: Fix VIEW3D_OT_snap_selected_to_gridInes Almeida
2018-05-20Cleanup: line lengthCampbell Barton
2018-05-20Cleanup: whitespace, duplicate includesCampbell Barton
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-17Remove ViewLayer settings - cleanup 2/2Dalai Felinto
2018-05-17Remove ViewLayer settings - cleanup 1/2Dalai Felinto
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-053D Viewport: move overlay settings from collections to 3D viewport.Brecht Van Lommel
For some we may add per object overrides, but for most we plan to keep them strictly per viewport settings. Display settings from the mesh still need to be moved here, only collections were done to remove that code.
2018-05-02Depsgraph: Add per-depsgraph debug name which is shown in the logsSergey Sharybin
This way we can see for which depsgraph datablock is being evaluated for.