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
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-05-26Rename: FILE_ACTIVELAY > FILE_ACTIVE_COLLECTIONDalai Felinto
2017-05-26Implement support for Append objects in Blender 2.8Dalai Felinto
Note for users ============== The active_layer option used for the filebrowser operators is now called active_collection. If there is no collections in the scenelayer or if this option is not selected we automatically create a new collection for the new objects. This is the same behaviour of trying to add a new object when there is no collection. Note for developers =================== For those cases I moved the object user count handling from readfile to the scene collection system. It's working fine for those, but we still need to re-visit this for Add objects, and Duplicate - In those cases the usercount is 2 when it should be 1. Reviewers: mont29, sergey Differential Revision: https://developer.blender.org/D2686
2017-05-26Merge branch 'master' into blender2.8Campbell Barton
2017-05-26Depsgraph: Rename DAG > DEG functions from depsgraph_query.ccDalai Felinto
2017-05-26Fix GPencil depth checksCampbell Barton
Regression in 195d0fba
2017-05-26Fix T51629: Select w/ object lock failsCampbell Barton
Regression in 195d0fba
2017-05-25TexFace removal part 3Campbell Barton
- MTexPoly structure & layer type. - The 'Mesh.uv_textures' layers. - DerivedMesh TexFace drawing. - Scripts & UI.
2017-05-24TexFace removal part 2Campbell Barton
- Derived-mesh drawing. - All non UV members of TexFace structs. MTexPoly is now redundant but keeping with a dummy member, will check on complete removal later.
2017-05-21Cleanup: warningsCampbell Barton
2017-05-20Merge branch 'master' into blender2.8Campbell Barton
2017-05-20CMake: Use GCC7's -Wimplicit-fallthrough=5Campbell Barton
Use to avoid accidental missing break statements, use ATTR_FALLTHROUGH to suppress.
2017-05-19Remove unused functions after WITH_LEGACY_OPENGL cleanupDalai Felinto
2017-05-19Remove reference to WITH_LEGACY_OPENGLDalai Felinto
We only keep this as a way to get GPU_stubs to run, in case we want to do a throughout cleanup in the codebase and want code using legacy calls to fail to build.
2017-05-19Remove reference to SUPPORT_LEGACY_MATRIXDalai Felinto
Since the change to core profile this is no longer supported.
2017-05-19Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/blenloader/intern/versioning_270.c source/blender/depsgraph/intern/depsgraph_tag.cc source/blender/editors/mask/mask_draw.c
2017-05-19Fix empty-image draw sizeCampbell Barton
Was out of sync with 2.7x.
2017-05-19Remove use_display_lists optionCampbell Barton
2017-05-18Remove "Modern Viewport"Dalai Felinto
The "Modern Viewport" was an option in the Viewport panel that would use the new fancy wire frame code and some depth debugging functionality. This was introduced as a quick and dirty way to get the new drawing system showing in the viewport. Overtime we built a complete Draw Manager system, leaving this original approach deprecated which adds clutter to Blender code since it would be removed sooner or later. Note: The new fancy wireframes and related shaders (white out other objects) are still in Blender code, though you can't use them anymore. If we are to have any of those drawing options they should be integrated in the new draw manager, instead of integrated in the old drawing pipeline as it was originally coded.
2017-05-18Correct own error using u32 for back-buffer selectCampbell Barton
2017-05-18Fix T51538: Weight-paint circle select w/ clippingCampbell Barton
2017-05-17Use byte color for selection drawingCampbell Barton
Some small advantage to using 1/4 sized data-type.
2017-05-17Correct flag when drawing editmode face selectCampbell Barton
Own error in updating select code.
2017-05-10Merge remote-tracking branch 'origin/master' into blender2.8Dalai Felinto
2017-05-10Fix T51354: Final take on multi-view (single view) issuesDalai Felinto
We now handle selection and transform manipulators (kudos to Julian Eisel to help hunting down the latter).
2017-05-10Fix multi-view (single camera) selectionDalai Felinto
2017-05-10Fix multi-view (single camera) manipulators selectionDalai Felinto
2017-05-10Merge remote-tracking branch 'origin/master' into blender2.8Dalai Felinto
Note: Depth placement was working already for BI, and althugh this commit breaks it for it, it makes it work for the draw manager engines.
2017-05-10Fixup for multi-view single eye viewport issuesDalai Felinto
In d2f1f80a6fa I was always calling view3d_main_regio_setup_view with NULL matrices, which is not always correct.
2017-05-10Partial fix to Multi-View single eye issues in viewportDalai Felinto
Handling depth loop for now (3d cursor positioning). Selection is a bit more tricky. Reported on 51354
2017-05-05Use immediate mode for back-buffer selectionCampbell Barton
Needed so selection works with core profile.
2017-05-05Merge branch 'master' into blender2.8Campbell Barton
2017-05-05Remove redundant backbuffer/transform checkCampbell Barton
Transform no longer uses backbuffer for snap.
2017-05-04Cleanup: include the type of data in function nameCampbell Barton
Was confusing, some functions return vert or triangle data but naming wasn't very clear.
2017-05-04Use mesh draw cache for back-buffer selectionCampbell Barton
Vertex/weight paint now work with core profile, resolves T51380.
2017-05-04Draw Manager: Implement render info for external enginesDalai Felinto
This can be used by any engine actually. For example to give feedback regarding probe caching in Eevee, .... Unline master, we try to conciliate both the original viewport info (FPS, view name) and the render info. Note: I had to split the function in two because the camera alpha passepartout is handled inside the view3d_draw_region_info function. Review: Campbell Barton and Clement Foucault. Thanks to Sergey Sharybin and Pablo Vazquez for some of the design discussions.
2017-05-04Remove cpackCampbell Barton
Places where it's removed are already replaced by newer logic.
2017-05-04Fix relationship lines visibility test for legacy viewportDalai Felinto
2017-05-03Move GPU compositing out of draw-manager off-screen drawingCampbell Barton
Also no need to use VP_legacy_ prefix here.
2017-05-03Cleanup: move off-screen drawing to view3d_draw.cCampbell Barton
Since offscreen drawing now uses draw engine, this doesn't need to be considered legacy. Note that there are some calls into view3d_draw_legacy.c from view3d_draw.c this is generally not accepted, so its only dont where there are checks for new/old engine. Functions exposed to do this use a VP_deprecated prefix.
2017-05-02Cleanup: consistent arg orderCampbell Barton
2017-05-02Draw Manager: OpenGL render supportCampbell Barton
Works for clay-engine but doesn't draw objects with eevee.
2017-05-02Cleanup: use depsgraph for scene/layer accessCampbell Barton
2017-05-02Cycles integration with Draw ManagerDalai Felinto
We can now use object and other modes on top of Cycles. Since we are now always on "render_to_view" (old Rendered mode), the pause button is always visible.
2017-05-02Add scene argument for notifiersCampbell Barton
From workspaces branch
2017-05-01Reworked version of dashed line shader.Bastien Montagne
Using geometry shader allows us to get rid of the 'line origin' extra vertex attribute, which means dashed shader no longer requires fiddling with those vertex attributes definition, and, most importantly, does not require anymore special drawing code! As you can see, this makes code much simpler, and much less verbose, especially in complex cases. In addition, changed how dashes are handled, to have two 'modes', a simple one with single color (using default "color" uniform name), and a more advanced one allowing more complex and multi-color patterns. Note that since GLSL 1.2 does not support geometry shaders, a hack was added for now (which gives solid lines, but at least does not make Blender crash).
2017-04-29Cleanup: comment blocksCampbell Barton
2017-04-29Merge branch 'master' into blender2.8Campbell Barton
2017-04-29View3D: support both orbit select & depthCampbell Barton
When using both preferences, use cursor depth when nothings selected.
2017-04-28Merge branch 'master' into blender2.8Campbell Barton