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-16UV manipulator from custom widgets branchCampbell Barton
This isn't advanced, just adding to get custom manipulator branch from being too much out of sync with 2.8.
2017-06-15Updates to manipulator APICampbell Barton
While this is work-in-progress from custom-manipulators branch its stable so adding into 2.8 so we don't get too much out of sync. - ManipulatorGroupType's are moved out of the manipulator-map and are now global (like operators, panels etc) and added into spaces as needed. Without this all operators that might ever use a manipulator in the 3D view would be polling the viewport. - Add optional get/set callbacks for non-RNA properties Needed so re-usable manipulators can control values that don't correspond to a single properly or need conversion. - Fix divide by zero bug in arrow manipulator (when moving zero pixels).
2017-06-12Merge branch 'master' into blender2.8Sergey Sharybin
2017-06-10UI: Replace placeholder icons in object-add menuJulian Eisel
Replaces the placeholder 'emtpy' icons of "Force Field" and "Group Instance" entries in object-add menu with proper new ones. Icons by @zlsa, thanks a lot! Maniphest task T51291.
2017-06-10Manipulator Update/RefactorCampbell Barton
Sync with custom-manipulators branch - Use identifiers for properties. - Property array index access. - Remove operator from manipulators (wasn't used and will likely add in a different way).
2017-06-09Fix crash when deleting active workspace render-layerJulian Eisel
Also fixes some failing unit-tests for render-layers.
2017-06-08WM: move manipulator library into editorsCampbell Barton
As with operators, the window-manager has the API for defining, the editor can implement and register its own manipulators. This exposes wmManipulator, keeping it opaque isn't practical if editors and Python are to implement their own.
2017-06-01Move custom transform orientations to workspaceJulian Eisel
This commit moves the list of transform orientations from scenes to workspaces. Main reasons for this are: * Transform orientations are UI data and should not be stored in the scene. * Introducion of workspaces caused some (expected) glitches with transform orientations. Mainly when removing one. * Improves code. More technically speaking, this commit does: * Move list of custom transform orientations from Scene to WorkSpace struct. * Store active transform orientation index separate from View3D.twmode (twmode can only be set to preprocessor defined values now). * Display custom transform orientation name in header when transforming in it (used to show "global" which isn't really correct).
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-30Move ED_object_facemap functions into ED_object.hCampbell Barton
2017-05-30Face Maps: custom-data, UI and RNA APICampbell Barton
Add face maps, needed for face-map widgets, only data structure, widgets will be separate commit. This comes from 'custom-manipulator' branch with only minor changes.
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-24Remove TexFace, per-face imagesCampbell Barton
TexFace complicates the now more popular shading pipeline by having per-face images, see: T51382 for details. To keep the ability to select a per-material edit-image (used with UV-mapping workflow), the material now stores an image which will be set when changing images in edit-mode. This is used as a bake-target when not using Cycles too.
2017-05-16Fix info header stats to iterator over layer instead of sceneDalai Felinto
Although this is working fine, there are two changes expected in the new future once depsgraph copy on write is implemented: 1) To call ED_info_stats_clear a callback from depsgraph, instead of the notifier system. (that would also allow us to clear only one SceneLayer). 2) To store/get stats from the evaluated SceneLayer, as well as iterate over the evaluated objects as well.
2017-05-12UI: Add template_search (version of template_ID for non-IDs)Julian Eisel
Adds a version of template_ID that can be used for non-ID properties. The property to search for and the collection to search in has to be passed to it. Like template_ID it also takes arguments to define a 'new' and 'unlink' operator. They will be displayed as icon-only buttons then. Also added a version that can display preview thumbnails. Had to do some additional changes to make text-buttons support displaying/modifying empty RNA properties. This will be needed for workspaces, see D2451. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D2666
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) 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-08Fix OCIO shader being attmepted to be unbound twiceSergey Sharybin
2017-05-05Merge branch 'master' into blender2.8Julian Eisel
2017-05-05Revert "Add red alert in UI controls for datablock pointer properties"Julian Eisel
This reverts commit f5bc8ad4ce87165fc0648f1cd8c0ae1fb5f07281. We agreed there needs to be a better solution for this, see comments in rBf5bc8ad4ce87165.
2017-05-04Multiline support for ED_region_info_drawDalai Felinto
Many thanks for Campbell Barton for the help here and the idea to implement the multi-line as a new function with array as arguments.
2017-05-04Remove cpackCampbell Barton
Places where it's removed are already replaced by newer logic.
2017-05-02Cleanup: use depsgraph for scene/layer accessCampbell Barton
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-27Pose-mode drawing used alpha where it shouldn'tCampbell Barton
2017-04-26Pass graph to depth functionsCampbell Barton
2017-04-26Getting rid of setlinestyle: 3DView camera view.Bastien Montagne
Use new 2D dashed line shader in 3DView camera view. Note that this also involved converting UI_draw_safe_areas() to this dashed shader, which means it cannot be used anymore with other shaders. Part of D2647.
2017-04-26UI utils: add helper to get float3 blended color from theme.Bastien Montagne
2017-04-26Pass depsgraph via Context to selection codeDalai Felinto
2017-04-21Merge branch 'master' into 28Campbell Barton
2017-04-20D2607: Switch eye dropper to use linear color space internallyStefan Werner
This switches the internal color representation of the eye dropper from display space to linear. Any time a linear color is requested and the color is picked from a linear object, the result is now precise to the bit as the color gets patched through directly. Color space conversion now only happens when a color is picked from non-linear display space objects or when the color is requested to be returned in non-linear space. In addition, this patch changes the DifferenceMatte node to interpret a tolerance of 0.0 to accept colors that are identical bit by bit, as apposed to simply refusing all colors.
2017-04-20Merge branch 'master' into 28Campbell Barton
2017-04-20Fix T51248: user preferences window size not adapted to DPI.Brecht Van Lommel
2017-04-13Merge branch 'master' into blender2.8Alexander Romanov
2017-04-13Add red alert in UI controls for datablock pointer propertiesAlexander Romanov
2017-04-11Make image drawing code working with core profileSergey Sharybin
The issue was caused here by usage of deprecated GL_CURRENT_PROGRAM which was returning rubbish value. Now we use imm API and create vertex format prior to immBindProgram. This made us required to have some sort of state passed from setup function to actual drawing.
2017-04-11Renaming: sl > scene_layerDalai Felinto
2017-04-11Bring snapping back (Base / BaseLegacy)Dalai Felinto
2017-04-07OpenGL: remove UI_reinit_gl_state functionMike Erwin
All line & point drawing is responsible for setting its own state (as of January 2016) making this redundant.
2017-04-073D View: manipulator from custom-manipulators branchCampbell Barton
Original code from @Severin with changes from @dfelinto & @hypersomniac. This doesn't cause many functional changes besides using new transform manipulators. Submitted as D2604
2017-04-07OpenGL: refactor UI_draw_roundbox functionsMike Erwin
Each function takes a bool (filled vs outline) and a color. We already had multiple ways of passing color in; these are still here. Special variant for anti-aliasing. - took GLenum out of interface - removed UI_RB_ALPHA flag (only one place really used it) - use exact vertex count - removed redundant state changes (BLEND, LINE_SMOOTH)
2017-04-05Cleanup: Move imm_draw utils into own fileCampbell Barton
These were in BIF_glutil which is documented to be removed, so best not define new API's there.
2017-04-05Naming constancy for 'imm' utility functionsCampbell Barton
- use 'imm_draw_' prefix for functions that draw. - use '_3d' suffix for 3d functions, no suffix for 2d functions. - use terms fill/wire (shorter than filled / lined). Also add `imm_draw_circle_fill_3d` (only had wire version)
2017-04-04UV editor using new depsgraph for shadow uvDalai Felinto
2017-04-03Rename circle_partial -> disk_partialCampbell Barton
We may have a 'disk' function (not the partial version).