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-11-16Fix T51210: Draw Manager: Support for Metaball DrawingGermano
Differential Revision: D2914
2017-11-10Manipulator: ruler toolCampbell Barton
Add the 3D view ruler as a tool, the modal operator remains for now however it may be removed if we use the tool-system for 2.8. Note that this does copy code from the operator, its different enough not to attempt to de-duplicate.
2017-11-09Farewell BaseLegacyDalai Felinto
Finally, bases are all using the latest, newest SceneLayer bases.
2017-11-08Farewell Scene->baseDalai Felinto
While getting rid of Scene->base we got the following fixes: * Fix "Convert To" operator * Fix "NLA allowing to selected objects that are not selectable * Fix scene.objects (readonly, no option to link/unlink) Note: Collada needs to use the context SceneLayer for adding objects however I added a placeholder, so Collada maintainers can fix this properly.
2017-10-26Move background images into the cameraCampbell Barton
This moves background images out of the 3D viewport, to be used only as camera reference images. For 3D viewport references, background images can be used, see: D2827 Some work is still needed (background option isn't working at the moment).
2017-10-24Fix T53141: Assert when using transformation in new 3D View editorJulian Eisel
Was actually possible to invoke this assert failure in two ways: * Transforming in newly created 3D View (like described in the report). * Transforming in newly appended workspace from default workspaces.blend. Issue was that default workspaces.blend was saved in 2.8.1, but in a branch state that didn't include the transform-orientation changes. So versioning code wouldn't run when needed. Note that files saved with this bug will still cause the assert to fail. Can be ignored then. This is not related to manipulators (as suggested in the report).
2017-10-21Manipulator: move 'Scale Cage' to its own toolCampbell Barton
Was activated with the regular scale manipulator, move to own tool since they are different ways to access scale.
2017-10-16Workspace: Move engines to workspace and Properties Editor cleanupDalai Felinto
Engine is not stored in WorkSpaces. That defines the "context" engine, which is used for the entire UI. The engine used for the poll of nodes (add node menu, new nodes when "Use Nodes") is obtained from context. Introduce a ViewRender struct for viewport settings that are defined for workspaces and scene. This struct will be populated with the hand-picked settings that can be defined per workspace as per the 2.8 design. * use_scene_settings * properties editor: workshop + organize context path Use Scene Settings ================== For viewport drawing, Workspaces have an option to use the Scene render settings (F12) instead of the viewport settings. This way users can quickly preview the final render settings, engine and View Layer. This will affect all the editors in that workspace, and it will be clearly indicated in the top-bar. Properties Editor: Add Workspace and organize context path ========================================================== We now have the properties of: Scene, Scene > Layer, Scene > World, Workspace [Scene | Workspace] > Render Layer > Object [Scene | Workspace] > Render Layer > Object > Data (...) Reviewers: Campbell Barton, Julian Eisel Differential Revision: https://developer.blender.org/D2842
2017-09-06Merge branch 'master' into blender2.8Brecht Van Lommel
2017-09-06View3D Remap: skip defmaterialCampbell Barton
This isn't library data.
2017-09-06Fix T52663: Remap used invalid local-view dataCampbell Barton
Only the camera from View3D.localvd is used, other pointers may be invalid. Longer term we should probably clear these to ensure no accidents. For now just follow the rest of Blender's code and don't access.
2017-08-16Fix zombie manipulators when deleting collection from outlinerDalai Felinto
ND_LAYER and ND_LAYER_CONTENT both need to trigger manipulators updates.
2017-08-15Manipulator: Add b-bone spline editingCampbell Barton
This needs some improvements since matching handles *exactly* is a bit involved.
2017-08-10Manipulator: add image-empty manipulatorCampbell Barton
2017-08-06Manipulator: experimental lamp positioning toolCampbell Barton
- New manipulator tracks lamps to position under cursor. - Works with multiple lamps, keeping relative offsets. - Holding Ctrl moves the lamp. - Access via manipulator or Shift-T. Code could be improved, but like to get feedback from users.
2017-08-03Manipulator: render border widgetCampbell Barton
Note there are issues clamping & updating, will resolve as part of changes to cage2d widget.
2017-08-02Manipulator: add area lamp manipulatorCampbell Barton
2017-07-30Revert "Fix manipulator handles getting added each refresh"Campbell Barton
This reverts commit 122706db9cd23c88775474750e99b57e74a3b9e5. Would loose manipulators, will check for duplicates instead.
2017-07-21Fix manipulator handles getting added each refreshCampbell Barton
The same manipulator map handler would accumulate, slowing down interactions.
2017-06-29Fix world not updating when changing node linksLuca Rood
When changing node links for the world material, a redraw of the viewport was not being triggered.
2017-06-19Depsgraph: Synchronize selection from original scene to copied-on-write oneSergey Sharybin
This makes it possible to select objects in the viewport. Selection in edit mode is still tricky, mainly because currently such update would require tagging batch as updated, which is not possible with using just and original object because it will never have batch. Possible solution here would be to introduce some "batch" or "render" component to depsgraph ID node for objects, so we can tag batch for update via depsgraph tagging API.
2017-06-19Manipulator: de-duplicate flags and scale optionCampbell Barton
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-08Replace all old DAG calls with direct calls to new DEG and remove ↵Luca Rood
BKE_depsgraph.h This removes BKE_depsgraph.h and depsgraph.c
2017-06-07Manipulators: lamp, camera & force-fieldCampbell Barton
From custom-manipulators branch. These may be improved they work on a basic level.
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-21Cleanup: warningsCampbell Barton
2017-05-02Add scene argument for notifiersCampbell Barton
From workspaces branch
2017-04-21Cleanup: move draw-cache creation from BKE to DRWCampbell Barton
Creating draw-cache should only ever be used by the draw-manager.
2017-04-21Draw Manager: edit-mode 3d text drawingCampbell Barton
Draw cursor and selection, also support for fast-display.
2017-04-19Draw Manager: curve supportCampbell Barton
Draws the curve centerline and editmode verts/handles. Handle theme colors, and normal display still need adding.
2017-04-15Fix missing manipulator update after undoJulian Eisel
Steps to recreate the error were: * Enter edit mode * Change Vertex positions * Undo -> Manipulator position isn't updated
2017-04-15GPU Matrix API: clean up after 2D-3D unificationMike Erwin
See GPU_matrix.h & gpu_matrix.c for the important changes. Other files are mostly just updated to use the latest API. - remove unused functions, defines, enums, comments - remove "3D" from function names - init to Identity transform (otherwise empty stack) - gpuMatrixReset lets outside code return to initial state Part of T49450 Follow up to D2626 and 49fc9cff3b90
2017-04-13Draw Manager: lattice editmode drawingCampbell Barton
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-03-22OpenGL: convert one more matrix callMike Erwin
Missed this earlier. Part of T49450
2017-03-09Merge branch 'master' into blender2.8Campbell Barton
2017-03-06Rigid body: fix viewport not updating on properties change.Clément Foucault
2017-03-06Edit Mode overlay: Update cache on selectionClément Foucault
2017-02-23Merge branch 'master' into blender2.8Bastien Montagne
2017-02-23Fix possible crash in various 3D View operatorsJulian Eisel
Was actually harmeless and not crashing, but I'd say more or less only by luck: the NULL-check for region data would only evaluate to true for the correct 3D View region. However, if we were to add region data to a different region type in future, this would lead to undefined behavior if executed in the wrong region.
2017-02-17Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/editors/animation/anim_draw.c
2017-02-09Cleanup: Remove commented codeAaron Carlisle
Code has been commented from before 2010 and relates to old Background image code.
2017-02-07Clay-Engine (merge clay-engine)Clément Foucault
Initial work by Clément Foucault with contributions from Dalai Felinto (mainly per-collection engine settings logic, and depsgraph iterator placeholder). This makes Blender require OpenGL 3.3. Which means Intel graphic card and OSX will break. Disable CLAY_ENGINE in CMake in those cases. This is a prototype render engine intended to help the design of real render engines. This is mainly an engine with enphasis in matcap and ambient occlusion. Implemented Features -------------------- * Clay Render Engine, following the new API, to be used as reference for future engines * A more complete Matcap customization with more options * Per-Collection render engine settings * New Ground Truth AO - not enabled Missing Features ---------------- * Finish object edit mode - Fix shaders to use new matrix - Fix artifacts when edge does off screen - Fix depth issue - Selection sillhouette - Mesh wires - Use mesh normals (for higher quality matcap) - Non-Mesh objects drawing - Widget drawing - Performance issues * Finish mesh edit mode - Derived-Mesh-less edit mode API (mesh_rende.c) * General edit mode - Per-collection edit mode settings * General engines - Per-collection engine settings (they are their, but they still need to be flushed by depsgraph, and used by the drawing code)
2017-02-07Render Layers and Collections (merge from render-layers)Dalai Felinto
Design Documents ---------------- * https://wiki.blender.org/index.php/Dev:2.8/Source/Layers * https://wiki.blender.org/index.php/Dev:2.8/Source/DataDesignRevised User Commit Log --------------- * New Layer and Collection system to replace render layers and viewport layers. * A layer is a set of collections of objects (and their drawing options) required for specific tasks. * A collection is a set of objects, equivalent of the old layers in Blender. A collection can be shared across multiple layers. * All Scenes have a master collection that all other collections are children of. * New collection "context" tab (in Properties Editor) * New temporary viewport "collections" panel to control per-collection visibility Missing User Features --------------------- * Collection "Filter" Option to add objects based on their names * Collection Manager operators The existing buttons are placeholders * Collection Manager drawing The editor main region is empty * Collection Override * Per-Collection engine settings This will come as a separate commit, as part of the clay-engine branch Dev Commit Log -------------- * New DNA file (DNA_layer_types.h) with the new structs We are replacing Base by a new extended Base while keeping it backward compatible with some legacy settings (i.e., lay, flag_legacy). Renamed all Base to BaseLegacy to make it clear the areas of code that still need to be converted Note: manual changes were required on - deg_builder_nodes.h, rna_object.c, KX_Light.cpp * Unittesting for main syncronization requirements - read, write, add/copy/remove objects, copy scene, collection link/unlinking, context) * New Editor: Collection Manager Based on patch by Julian Eisel This is extracted from the layer-manager branch. With the following changes: - Renamed references of layer manager to collections manager - I doesn't include the editors/space_collections/ draw and util files - The drawing code itself will be implemented separately by Julian * Base / Object: A little note about them. Original Blender code would try to keep them in sync through the code, juggling flags back and forth. This will now be handled by Depsgraph, keeping Object and Bases more separated throughout the non-rendering code. Scene.base is being cleared in doversion, and the old viewport drawing code was poorly converted to use the new bases while the new viewport code doesn't get merged and replace the old one. Python API Changes ------------------ ``` - scene.layers + # no longer exists - scene.objects + scene.scene_layers.active.objects - scene.objects.active + scene.render_layers.active.objects.active - bpy.context.scene.objects.link() + bpy.context.scene_collection.objects.link() - bpy_extras.object_utils.object_data_add(context, obdata, operator=None, use_active_layer=True, name=None) + bpy_extras.object_utils.object_data_add(context, obdata, operator=None, name=None) - bpy.context.object.select + bpy.context.object.select = True + bpy.context.object.select = False + bpy.context.object.select_get() + bpy.context.object.select_set(action='SELECT') + bpy.context.object.select_set(action='DESELECT') -AddObjectHelper.layers + # no longer exists ```
2017-01-24Depsgraph: Remove more legacy code from viewportSergey Sharybin
2017-01-24Depsgraph: Remove legacy depsgraph code from viewportSergey Sharybin
2016-12-28Revert particle system and point cache removal in blender2.8 branch.Lukas Tönne
This reverts commit 5aa19be91263a249ffae75573e3b32f24269d890 and b4a721af694817fa921b119df83d33ede7d7fed0. Due to postponement of particle system rewrite it was decided to put particle code back into the 2.8 branch for the time being.
2016-10-13viewport: barebones to handle viewport compositing in gpu_viewport.cDalai Felinto
2016-07-28Merge branch 'master' into blender2.8Campbell Barton