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
2020-06-04Cleanup: remove window manager argument for paint cursor APICampbell Barton
This caused an additional argument when exiting object modes and many other low level functions which don't need to access context. This simplifies fixing T77073.
2020-06-03Eyedropper: Support get samples from other windowsGermano Cavalcante
This fix T77226 Differential Revision: https://developer.blender.org/D7910
2020-05-14Merge branch 'blender-v2.83-release'Clément Foucault
2020-05-14UI: Fix Unreported missing background for azone arrowClément Foucault
This was caused by the sRGB viewport changes. The fix is to modify the alpha values manually. The shader was also missing a srgb fix.
2020-05-13Merge branch 'blender-v2.83-release'Campbell Barton
2020-05-13Fix zero tablet pressure for simulated eventsCampbell Barton
Impacted sculpt/paint tests.
2020-05-04Cleanup: rename mcords to mcoordsCampbell Barton
- 'coords' is an abbreviation for coordinates, not 'cords'. - Rename 'moves' to 'coords_len'.
2020-04-29VR: Reset pose offsets when changing base poseJulian Eisel
The offsets are applied after toggling positional tracking off, so that the view does not jump at that moment. But when changing the base pose, keeping that offset doesn't make sense. Especially with landmarks, which are supposed to give precise positions/rotations to jump to. For that part the VR Scene Inspection Add-on will need a little adjustment though. Also exposes an explicit function to the Python API to reset the offsets, to be used by the Add-on. This is mostly untested since I don't have access to an HMD currently.
2020-04-27Fix T75736 Viewport update problem when switching between view layersClément Foucault
The problem comes from the fact by no data being modified when switching viewlayers. To follow what the external render engines do, we completely reset the viewport by freeing the GPUViewport to avoid any cached data from being kept.
2020-04-03Cleanup: Rename bScreen variables from sc/scr to screenJulian Eisel
Part of T74432. Mostly a careful batch rename but had to do few smaller fixes. Also ran clang-format on affected files.
2020-04-03Cleanup: Rename ScrArea variables from sa to areaJulian Eisel
Follow up of b2ee1770d4c3 and 10c2254d412d, part of T74432. Now the area and region naming conventions should be less confusing. Mostly a careful batch rename but had to do few smaller fixes. Also ran clang-format on affected files.
2020-04-02VR: Refactor DirectX context managementJulian Eisel
All DirectX management happens on Ghost level now, higher level code can just assume everything is OpenGL (except of the upside-down drawing that still needs to be done for DirectX). This is similar to how the metal-layer is hidden outside of Ghost. The Ghost-XR graphics binding for DirectX is responsible for managing the DirectX compatibility now.
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-19Fix T73931: Stereo Viewport Color ManagementJeroen Bakker
Stereoscopic viewport didn't support Color Manangement due recent changes in the color management pipeline. In order to solve the issue we will migrate the strereo rendering into the GPUViewport. This will share some textures and reduce required GPU memory. Reviewed By: fclem, dfelinto Differential Revision: https://developer.blender.org/D6922
2020-03-17VR: Initial Virtual Reality support - Milestone 1, Scene InspectionJulian Eisel
NOTE: While most of the milestone 1 goals are there, a few smaller features and improvements are still to be done. Big picture of this milestone: Initial, OpenXR-based virtual reality support for users and foundation for advanced use cases. Maniphest Task: https://developer.blender.org/T71347 The tasks contains more information about this milestone. To be clear: This is not a feature rich VR implementation, it's focused on the initial scene inspection use case. We intentionally focused on that, further features like controller support are part of the next milestone. - How to use? Instructions on how to use this are here: https://wiki.blender.org/wiki/User:Severin/GSoC-2019/How_to_Test These will be updated and moved to a more official place (likely the manual) soon. Currently Windows Mixed Reality and Oculus devices are usable. Valve/HTC headsets don't support the OpenXR standard yet and hence, do not work with this implementation. --------------- This is the C-side implementation of the features added for initial VR support as per milestone 1. A "VR Scene Inspection" Add-on will be committed separately, to expose the VR functionality in the UI. It also adds some further features for milestone 1, namely a landmarking system (stored view locations in the VR space) Main additions/features: * Support for rendering viewports to an HMD, with good performance. * Option to sync the VR view perspective with a fully interactive, regular 3D View (VR-Mirror). * Option to disable positional tracking. Keeps the current position (calculated based on the VR eye center pose) when enabled while a VR session is running. * Some regular viewport settings for the VR view * RNA/Python-API to query and set VR session state information. * WM-XR: Layer tying Ghost-XR to the Blender specific APIs/data * wmSurface API: drawable, non-window container (manages Ghost-OpenGL and GPU context) * DNA/RNA for management of VR session settings * `--debug-xr` and `--debug-xr-time` commandline options * Utility batch & config file for using the Oculus runtime on Windows. * Most VR data is runtime only. The exception is user settings which are saved to files (`XrSessionSettings`). * VR support can be disabled through the `WITH_XR_OPENXR` compiler flag. For architecture and code documentation, see https://wiki.blender.org/wiki/Source/Interface/XR. --------------- A few thank you's: * A huge shoutout to Ray Molenkamp for his help during the project - it would have not been that successful without him! * Sebastian Koenig and Simeon Conzendorf for testing and feedback! * The reviewers, especially Brecht Van Lommel! * Dalai Felinto for pushing and managing me to get this done ;) * The OpenXR working group for providing an open standard. I think we're the first bigger application to adopt OpenXR. Congratulations to them and ourselves :) This project started as a Google Summer of Code 2019 project - "Core Support of Virtual Reality Headsets through OpenXR" (see https://wiki.blender.org/wiki/User:Severin/GSoC-2019/). Some further information, including ideas for further improvements can be found in the final GSoC report: https://wiki.blender.org/wiki/User:Severin/GSoC-2019/Final_Report Differential Revisions: D6193, D7098 Reviewed by: Brecht Van Lommel, Jeroen Bakker
2020-03-06Cleanup: Rename ARegion variables from ar to regionJulian Eisel
The old convention was easy to confuse with ScrArea. Part of https://developer.blender.org/T74432. This is mostly a batch rename with some manual fixing. Only single word variable names are changed, no prefixed/suffixed names. Brecht van Lommel and Campbell Barton both gave me a green light for this convention change. Also ran clan clang format on affected files.
2020-03-06Cleanup: Reduce context usage in UI functionsJulian Eisel
Part of https://developer.blender.org/T74429. There's a chance that this causes some issues becaue in some cases we change from getting the window from context to getting it from somewhere else.
2020-03-02Cleanup: Use generics properties for arrow keys navigation (walk-select)Valentin
This patch refactors arrow keys navigation to move properties and enum to generic ED_select_utils.h and property to WM_operator_properties_select_walk_direction() No functional change Reviewed By: Julian Eisel Differential Revision: https://developer.blender.org/D4771
2020-02-17Fix T68749: BPY: Deprecate height of popupJeroen Bakker
`invoke_props_dialog` and `invoke_popup` had a width and a height field. The height field was ignored as the height is determined based on the content. This change removes the field from the BPY + WM_api Reviewed By: Campbell Barton, Jacques Lucke Differential Revision: https://developer.blender.org/D6694
2020-02-04Merge branch 'blender-v2.82-release'Julian Eisel
2020-02-04Reports: Add utility to cancel displayed reportsJulian Eisel
Sebastián Barschkis needs something like this to fix an issue, so he asked me to add this to the release branch. It's unused for now.
2020-01-21Cleanup: simplify wmEvent tablet data storage and namingBrecht Van Lommel
Removing meaningless distinction between NULL pointer and EVT_TABLET_NONE, and initialize pressure and tilt to 1.0 and 0.0 respectively when no tablet is used.
2020-01-10Cleanup: group event_query functions in headerCampbell Barton
2020-01-10Cleanup: move public event queries into their own fileCampbell Barton
event_system.c has been collecting a lot of different functionality, move generic query/access functions into their own file, since these are used by operators and other parts of the windowing code and aren't part of low level event handling. Also move public last-property API to wm_operators.c.
2019-12-20Fix IC-keymap doesn't allow MMB to run the active toolCampbell Barton
Now the keymap can be configured so both the fallback and active tool can be activated at once - when configured not to conflict.
2019-11-29Fix T72000: Key shortcuts unavailable in popoversCampbell Barton
2019-11-26Fix memory leak, closing a window didn't free gesturesCampbell Barton
Exposed by test file in T71718
2019-11-24Cleanup: doxygen commentsCampbell Barton
Also correct some outdated symbol references, add missing 'name' commands.
2019-11-21Tool System: make smooth & randomize modal operatorsCampbell Barton
Previously these used a gizmo to redo the operator however this complicated having on-screen gizmos to access tools (see T66304). Replace this with a generic way to make an operator that only has an execute function into a modal operator. This is used for smooth and randomize tools. Unlike operator gestures, this handles storing and resetting the data. Currently this only handles edit-mode data, however it's can be extended to other kinds of data.
2019-11-15Merge branch 'blender-v2.81-release'Campbell Barton
2019-11-15Cleanup: quiet warningsCampbell Barton
2019-11-15Merge remote-tracking branch 'origin/blender-v2.81-release'Dalai Felinto
2019-11-15Fix: Filebrowser saving dialog size when maximizedDalai Felinto
Reviewed By: Severin Differential Revision: https://developer.blender.org/D6260
2019-10-27WM: add utility to lookup a keymap item from an eventCampbell Barton
Useful for modal operators to be able to match events against regular keymaps.
2019-10-04WM: Utilities for select operators to work with click-dragging itemsJulian Eisel
Based on work by Bastien and Brecht in the Node Editor, this adds more generalized support for selecting items so that click+drag actions on items (nodes, makers, dopesheet keys, etc.) works as wanted. Note that this only adds the barebones to support this in other editors, it's not used yet (will be done in followup commits). The behavior is supposed to work as follows: * Clicking an unselected item immediately selects it, and deselects other items (doesn't wait for release events). * Click+drag on an unselected item immediately selects it, deselects others and drags it in one go (don't require selecting it first!). * Click+drag on a selected item won't change the selection state (and won't send an undo push) and start dragging all selected items as soon as the drag event is recognized. * Clicking on a selected item will still deselect others, but that will only happen on mouse release, when we know the intention is not to drag the item. Included in: https://developer.blender.org/D5979 Reviewed by: Brecht van Lommel, William Reynish
2019-10-03UI: Register File Browser as Child/Dialog-Window for the OSJulian Eisel
For many users, this will make the File Browser window behave more like what they would expect. It addresses the issue of the File Browser becoming hidden behind the main window by clicking anywhere in the latter. It communicates the interruptive, but temporary nature of the operation a bit better. Further, on tiling window managers the File Browser now opens as floating by default, like in other applications. Note that this also makes sure the File Browser is always opened as separate window, so it doesn't re-use the Preferences, or any other temporary window anymore. This seems to have been a common annoyance. More concretely, this makes the File Browser window behave as follows: * Stays on top of its parent Blender window, but not on top of non-Blender windows. * Minimizes with its parent window * Can be moved independently * Doesn't add an own item in task bars * Doesn't block other Blender windows (we may want to have this though) * Opens as floating window for tiling window managers (e.g. i3wm/Sway) Further notes: * When opening a file browser from the Preference window (or any temporary window), the main window, as the file browsers parent is moved on top of the Preferences, which makes it seem like the Preferences were closed. This is the general issue of bad secondary window handling as window activation changes. I made it so that the window is moved back once the file browser is closed. This behavior is confusing and would be nice to avoid. It's a separate issue though. * On most window managers on Linux the temporary window can not be minimized and maximized, they disable that for dialog windows. * On Windows and macOS, only minimizing is disabled, as there is no decent way yet to restore a window if it's not shown in the taskbar. Reviewed By: Brecht van Lommel, Campbell Barton, William Reynish Edits and macOS implementation by Brecht. Differential Revision: https://developer.blender.org/D5810 Part of T69652.
2019-09-30Fix T58683: Reload Scripts breaks toolbar button formattingCampbell Barton
Add a function which clears internal cached operator pointers, run before reloading scripts.
2019-09-18Refactor temp-space opening for optional fullscreen modeJulian Eisel
Will be put to use in followup commits.
2019-09-13Add QuadriFlow remesherSebastian Parborg
2019-09-06Python API: implement an Operator callback for dynamic description.Alexander Gavrilov
Blender UI Layout API allows supplying parameters to operators via button definitions. If an operator behavior strongly depends on its parameters, it may be difficult to write a tooltip that covers all of its operation modes. Thus it is useful to provide a way for the operator to produce different descriptions based on the input info. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D5709
2019-09-03UI: File Browser Design OverhaulJulian Eisel
This is a general redesign of the File Browser GUI and interaction methods. For screenshots, check patch D5601. Main changes in short: * File Browser as floating window * New layout of regions * Popovers for view and filter options * Vertical list view with interactive column header * New and updated icons * Keymap consistency fixes * Many tweaks and fixes to the drawing of views ---- General: * The file browser now opens as temporary floating window. It closes on Esc. The header is hidden then. * When the file browser is opened as regular editor, the header remains visible. * All file browser regions are now defined in Python (the button layout). * Adjusted related operator UI names. Keymap: Keymap is now consistent with other list-based views in Blender, such as the Outliner. * Left click to select, double-click to open * Right-click context menus * Shift-click to fill selection * Ctrl-click to extend selection Operator options: These previously overlapped with the source list, which caused numerous issues with resizing and presenting many settings in a small panel area. It was also generally inconsistent with Blender. * Moved to new sidebar, which can easily be shown or hidden using a prominent Options toggle. * IO operators have new layouts to match this new sidebar, using sub-panels. This will have to be committed separately (Add-on repository). * If operators want to show the options by default, they have the option to do so (see `WM_FILESEL_SHOW_PROPS`, `hide_props_region`), otherwise they are hidden by default. General Layout: The layout has been changed to be simpler, more standard, and fits better in with Blender 2.8. * More conventional layout (file path at top, file name at the bottom, execute/cancel buttons in bottom right). * Use of popovers to group controls, and allow for more descriptive naming. * Search box is always live now, just like Outliner. Views: * Date Modified column combines both date and time, also uses user friendly strings for recent dates (i.e. "Yesterday", "Today"). * Details columns (file size, modification date/time) are now toggleable for all display types, they are not hardcoded per display type. * File sizes now show as B, KB, MB, ... rather than B, KiB, MiB, … They are now also calculated using base 10 of course. * Option to sort in inverse order. Vertical List View: * This view now used a much simpler single vertical list with columns for information. * Users can click on the headers of these columns to order by that category, and click again to reverse the ordering. Icons: * Updated icons by Jendrzych, with better centering. * Files and folders have new icons in Icon view. * Both files and folders have reworked superimposed icons that show users the file/folder type. * 3D file documents correctly use the 3d file icon, which was unused previously. * Workspaces now show their icon on Link/Append - also when listed in the Outliner. Minor Python-API breakage: * `bpy.types.FileSelectParams.display_type`: `LIST_SHORT` and `LIST_LONG` are replaced by `LIST_VERTICAL` and `LIST_HORIZONTAL`. Removes the feature where directories would automatically be created if they are entered into the file path text button, but don't exist. We were not sure if users use it enough to keep it. We can definitely bring it back. ---- //Combined effort by @billreynish, @harley, @jendrzych, my university colleague Brian Meisenheimer and myself.// Differential Revision: https://developer.blender.org/D5601 Reviewers: Brecht, Bastien
2019-08-25Cleanup: redundant struct declarationsCampbell Barton
2019-08-16UI: click on status bar report message now opens window with Info editorBrecht Van Lommel
Patch by Valentin (Poulpator) Differential Revision: https://developer.blender.org/D5468
2019-08-14Cleanup: move trailing comments to avoid wrapping codeCampbell Barton
Some statements were split across multiple lines because of their trailing comments. In most cases it's clearer to put the comments above.
2019-08-01Cleanup: use _ex suffix instead of _extCampbell Barton
Convention is to use ex, not ext for extended versions of a functions.
2019-07-31Cleanup: typo in parameter name in function declarations.Bastien Montagne
2019-07-30Fix crash clicking in the 3D view on startupCampbell Barton
Setting the 3D view cursor on startup could crash because the viewport hasn't been assigned to the region.
2019-07-03Fix T65899, T66314, T61808: various issues appending workspacesBrecht Van Lommel
This fixes crashes, wrong names and inability to append workspaces in edit mode. We now bypass the append operator so we can easily return a datablock pointer and work in any mode.
2019-07-01Fix T66262: slow preview icon loadingBrecht Van Lommel
2019-06-29WM: support window context overrideCampbell Barton
This makes it possible to take a screenshot from any window in Python.