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
path: root/source
AgeCommit message (Collapse)Author
2017-06-01Main Workspace IntegrationJulian Eisel
This commit does the main integration of workspaces, which is a design we agreed on during the 2.8 UI workshop (see https://wiki.blender.org/index.php/Dev:2.8/UI/Workshop_Writeup) Workspaces should generally be stable, I'm not aware of any remaining bugs (or I've forgotten them :) ). If you find any, let me know! (Exception: mode switching button might get out of sync with actual mode in some cases, would consider that a limitation/ToDo. Needs to be resolved at some point.) == Main Changes/Features * Introduces the new Workspaces as data-blocks. * Allow storing a number of custom workspaces as part of the user configuration. Needs further work to allow adding and deleting individual workspaces. * Bundle a default workspace configuration with Blender (current screen-layouts converted to workspaces). * Pressing button to add a workspace spawns a menu to select between "Duplicate Current" and the workspaces from the user configuration. If no workspaces are stored in the user configuration, the default workspaces are listed instead. * Store screen-layouts (`bScreen`) per workspace. * Store an active screen-layout per workspace. Changing the workspace will enable this layout. * Store active mode in workspace. Changing the workspace will also enter the mode of the new workspace. (Note that we still store the active mode in the object, moving this completely to workspaces is a separate project.) * Store an active render layer per workspace. * Moved mode switch from 3D View header to Info Editor header. * Store active scene in window (not directly workspace related, but overlaps quite a bit). * Removed 'Use Global Scene' User Preference option. * Compatibility with old files - a new workspace is created for every screen-layout of old files. Old Blender versions should be able to read files saved with workspace support as well. * Default .blend only contains one workspace ("General"). * Support appending workspaces. Opening files without UI and commandline rendering should work fine. Note that the UI is temporary! We plan to introduce a new global topbar that contains the workspace options and tabs for switching workspaces. == Technical Notes * Workspaces are data-blocks. * Adding and removing `bScreen`s should be done through `ED_workspace_layout` API now. * A workspace can be active in multiple windows at the same time. * The mode menu (which is now in the Info Editor header) doesn't display "Grease Pencil Edit" mode anymore since its availability depends on the active editor. Will be fixed by making Grease Pencil an own object type (as planned). * The button to change the active workspace object mode may get out of sync with the mode of the active object. Will either be resolved by moving mode out of object data, or we'll disable workspace modes again (there's a `#define USE_WORKSPACE_MODE` for that). * Screen-layouts (`bScreen`) are IDs and thus stored in a main list-base. Had to add a wrapper `WorkSpaceLayout` so we can store them in a list-base within workspaces, too. On the long run we could completely replace `bScreen` by workspace structs. * `WorkSpace` types use some special compiler trickery to allow marking structs and struct members as private. BKE_workspace API should be used for accessing those. * Added scene operators `SCENE_OT_`. Was previously done through screen operators. == BPY API Changes * Removed `Screen.scene`, added `Window.scene` * Removed `UserPreferencesView.use_global_scene` * Added `Context.workspace`, `Window.workspace` and `BlendData.workspaces` * Added `bpy.types.WorkSpace` containing `screens`, `object_mode` and `render_layer` * Added Screen.layout_name for the layout name that'll be displayed in the UI (may differ from internal name) == What's left? * There are a few open design questions (T50521). We should find the needed answers and implement them. * Allow adding and removing individual workspaces from workspace configuration (needs UI design). * Get the override system ready and support overrides per workspace. * Support custom UI setups as part of workspaces (hidden panels, hidden buttons, customizable toolbars, etc). * Allow enabling add-ons per workspace. * Support custom workspace keymaps. * Remove special exception for workspaces in linking code (so they're always appended, never linked). Depends on a few things, so best to solve later. * Get the topbar done. * Workspaces need a proper icon, current one is just a placeholder :) Reviewed By: campbellbarton, mont29 Tags: #user_interface, #bf_blender_2.8 Maniphest Tasks: T50521 Differential Revision: https://developer.blender.org/D2451
2017-06-01Merge branch 'master' into blender2.8Julian Eisel
2017-06-01Remove comment (missed last commit)Campbell Barton
2017-06-01Fix T51651: translate w/ individual origins failsCampbell Barton
Regression in fix for T46892
2017-06-01Merge branch 'master' into blender2.8Sergey Sharybin
2017-06-01Depsgraph: Cleanup, line wraps after shortening APISergey Sharybin
2017-06-01Depsgraph: Remove operation types enumSergey Sharybin
Was only used to indicate entry/exit operation of component, which is now done explicitly. No reason to keep something which is unused and confusing.
2017-06-01Depsgraph: use explicit marking of component entry/exit operationsSergey Sharybin
This isn't used too often, and haivng such API will let us to skip specifying operation type for all oeprations.
2017-06-01Depsgraph: Cleanup, use DEG_NODE_CLASS prefix for node classesSergey Sharybin
2017-06-01Depsgraph: Cleanup, use DEG_NODE_TYPE prefix for depsgraph node typesSergey Sharybin
2017-06-01Depsgraph: Remove unused argument from time source querySergey Sharybin
2017-06-01Depsgraph: Remove subgraph nodesSergey Sharybin
Those were never finished nor used. Again, starting from clean state before we go into more complicated details.
2017-06-01Depsgraph: Remove dead codeSergey Sharybin
Was never used or worked on in ages, if any of this code is needed in the future it'll need to be redone anyway.
2017-06-01Depsgraph: Remove dead code from add_time_source()Sergey Sharybin
This was never finished or done or used, no reason to keep it. Better to simplify things before adding complexity of overrides and copy-on-write.
2017-06-01Depsgraph: Cleanup, get rid of relation typeSergey Sharybin
It was never actually used apart from being stored at a construciton time. This caused some redundancy and ncertanty about which relation type to use during construciton (often existing types were not close enough to particular use case).
2017-06-01GPUCodegen: fix missing ViewMatrix in new shading.Clément Foucault
2017-06-01Fix T51687: GPUmat evaluation of shader tree would crash uppon ↵Bastien Montagne
unknown/unsupported socket types. Made this resilient to unknown types, for now. Supporting specific INT sockets (through implicit conversion to GPU_FLOAT ones) is considered nice TODO.
2017-06-01Correct select-similar end valueCampbell Barton
2017-06-01Add Face-Map to select similarCampbell Barton
Handy for setting up face-maps, also allows selecting all faces with no assigned map.
2017-06-01Fix bad index use drawing deformed face centersCampbell Barton
2017-06-01Clear pose draw data in BGE pose copyCampbell Barton
2017-06-01Fix custom-bone display-at optionCampbell Barton
2017-06-01Resolve assert in weight paint mode w/ no weightsCampbell Barton
2017-05-31Fix bad handling of 'extra' user for groups at their creation.Bastien Montagne
Was just keeping the default '1' user from `BKE_libblock_alloc()`, instead of using correct way to handle extra virtual user needed when we want to keep unused datablocks around...
2017-05-31Fix T51680: 'Delete Group' from Group view of Outliner does not work.Bastien Montagne
Do not call invoke ops from outliner's operations menus. Invoke op would search again for item under mouse coordinates... when it is invoked! Means often entry menu you would have clicked would not be over target item, leading to either nothing or operation being applied to wrong item. Note: about groups, there is another minor annoyance leading to some assert - groups have an annoying virtual fake user which breaks usercount, will see whether this is easily fixable. :|
2017-05-31DwM: Show wire only mesh objectsCampbell Barton
2017-05-31Fix manipulator immediate mode useCampbell Barton
Needs 3D coords
2017-05-31Merge branch 'master' into blender2.8Sergey Sharybin
2017-05-31Task scheduler: Optimize subsequent pushing bunch of tasksSergey Sharybin
The idea is to accumulate all new tasks in a thread local queue first without doing any thread synchronization (aka, locks and conditional variables) and move those tasks to a scheduler queue once they are all ready. This way we avoid per-task-pool lock and only have one lock per bunch of tasks. This is particularly handy when scheduling new dependency graph node children. Brings FPS of cached simulation from the linked below file from ~30 to ~50. See documentation for BLI_task_pool_delayed_push_{begin, end} and for TaskThreadLocalStorage::do_delayed_push. Fixes T50027: Rigidbody playback and simulation performance regression with new depsgraph Thanks Bastien for the review!
2017-05-31Fix bone selection (index can't skip hidden bones)Campbell Barton
2017-05-31Cleanup: Easier to read constant nameSergey Sharybin
2017-05-31Fix T51661: Swaping strips does not refresh sequencerSergey Sharybin
2017-05-31Cleanup: Use more clear parenthesisSergey Sharybin
2017-05-31Fix outliner crash clicking on pose bonesCampbell Barton
From 15317775c, we can't assume directdata is a Base. This matches logic from master.
2017-05-30Eevee: Put shadows and probes inside SceneLayerEngineDataClément Foucault
This remove the duplication of data for each viewport improving memory usage.
2017-05-30Draw Manager: Add SceneLayerEngineData and use callbacks to clear runtime ↵Clément Foucault
engine data
2017-05-30Fix T51667: blenderplayer building (tm)Dalai Felinto
Broken since 272ec8a7cfe671431b7a196fd2b34643512270f8
2017-05-30Fix T49570: Cycles baking can't handle materials with no imagesDalai Felinto
If users wanted to bake only a few of the mesh materials, they would still need to create dummy textures for the other parts. This commit report (as RPT_INFO) the materials with no texture, but move on to bake the others materials.
2017-05-30Baking: Add logic to get material from API regardless of Mesh/Object ownershipDalai Felinto
2017-05-30Depsgraph: Fix missing relations for objects which are indirectly linkedSergey Sharybin
This is a corresponding part of 7dda3cf.
2017-05-30Depsgraph: Remove extra modifiers callback loopSergey Sharybin
Seems to be a copy-paste error from code above.
2017-05-30Move ED_object_facemap functions into ED_object.hCampbell Barton
2017-05-30Somehow missed this in recent Face Maps commitCampbell Barton
Since the previous layer type was for ints too, it worked in tests.
2017-05-30Eevee: Fix ggx sun light.Clément Foucault
2017-05-30Displace modifier: Pre-fetch all possible images to image pool prior executionSergey Sharybin
This way we reduce amount of time wasted in spin-lock later on when all threads are starting to sample texture.
2017-05-30Image pool: Use memory pool for allocating elementsSergey Sharybin
Reduces amount of system-wide allocation calls. Will be mainly visible when using lots of images in texture nodes or regular BI rendering.
2017-05-30Depsgraph: Fix object being tagged for data update when it shouldn'tSergey Sharybin
2017-05-30Depsgraph: Add missing update tag clear for proxy objectsSergey Sharybin
This was causing proxies updates on every frame, even if they do not really change. Additionally, it was causing second round of armature update when used from inside dupligroup (viewport ensures all objects from dupligroup are up to date before draw).
2017-05-30Alembic import: fixed bug interpolating between frames.Sybren A. Stüvel
2017-05-30Alembic: simplified sub-frame samplingSybren A. Stüvel
It's now less confusing (for example, using nr_of_samples directly, instead of using 1 / 1 / nr_of_samples). Might also have fixed a bug. Also added unittests.