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-04-03Cleanup: Rename ExtensionRNA variables from ext to rna_extJulian Eisel
Makes it more clear that code using this is related to the RNA integration of a type. Part of T74432. 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-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
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-06GHOST/Keymap: support for detecting repeat eventsCampbell Barton
- Keymap items now have 'repeat' boolean which can be set to make keymap items respond to key repeat events or not. - Support for X11 & WIN32 (not macOS currently). This allows for the possibility to perform actions while a key is held and finish the action upon release. Thanks to @Severin for review and WIN32 support.
2020-02-20Cleanup: declatatuons for functions that don't existCampbell Barton
2020-02-15Cleanup: remove various unused definesCampbell Barton
2020-01-21GHOST: bundle tablet data with GHOST eventBrecht Van Lommel
Previously the window manager would receive the GHOST event and then query the latest tablet data from the window to go along with it. If multiple events were queued, it would then use too new tablet data for handling older events. Fixes T62565: tablet pressure not working on macOS with some devices
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-13Cleanup: remove hack that set operator id in the wmEventCampbell Barton
This can be replaced by passing an argument.
2019-11-29Fix T72000: Key shortcuts unavailable in popoversCampbell Barton
2019-09-30Revert "Fix T58683: Reload Scripts breaks toolbar button formatting."Campbell Barton
This reverts commit ba90d2efa58fe23a87f98e014bcc02ea951a6a49. This can be resolved without adding a boolean to all operator types to check if it's "WM_OT_tool_set_by_id".
2019-09-29Fix T58683: Reload Scripts breaks toolbar button formatting.Alexander Gavrilov
Assuming it's actually necessary to do this check very efficiently, replace the hack based on caching a pointer, with a different one that caches the string comparison result in the operator object.
2019-09-19Cleanup: spellingCampbell Barton
2019-09-09UI: Refactor and improve buttton extra iconsJulian Eisel
Without this patch there could only be one superimposed icon and the operators were hard coded for the button types. This keeps the previous, sort of predefined extra icons working in a rather generic way, but allows adding specific ones for specific case through `UI_but_extra_operator_icon_set()`. Reviewed by: Campbell Barton Differential Revision: https://developer.blender.org/D5730
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-08-25Cleanup: redundant struct declarationsCampbell Barton
2019-07-31Refactor access to dependency graphSergey Sharybin
This change ensures that operators which needs access to evaluated data first makes sure there is a dependency graph. Other accesses to the dependency graph made it more explicit about whether they just need a valid dependency graph pointer or whether they expect the graph to be already evaluated. This replaces OPTYPE_USE_EVAL_DATA which is now removed. Some general rules about usage of accessors: - Drawing is expected to happen from a fully evaluated dependency graph. There is now a function to access it, which will in the future control that dependency graph is actually evaluated. This check is not yet done because there are some things to be taken care about first: for example, post-update hooks might leave scene in a state where something is still tagged for update. - All operators which needs to access evaluated state must use CTX_data_ensure_evaluated_depsgraph(). This function replaces OPTYPE_USE_EVAL_DATA. The call is generally to be done in the very beginning of the operator, prior other logic (unless this is some comprehensive operator which might or might not need access to an evaluated state). This call is never to be used from a loop. If some utility function requires evaluated state of dependency graph the graph is to be passed as an explicit argument. This way it is clear that no evaluation happens in a loop or something like this. - All cases which needs to know dependency graph pointer, but which doesn't want to actually evaluate it can use old-style function CTX_data_depsgraph_pointer(), assuming that underlying code will ensure dependency graph is evaluated prior to accessing it. - The new functions are replacing OPTYPE_USE_EVAL_DATA, so now it is explicit and local about where dependency graph is being ensured. This commit also contains some fixes of wrong usage of evaluation functions on original objects. Ideally should be split out, but in reality with all the APIs being renamed is quite tricky. Fixes T67454: Blender crash on rapid undo and select Speculation here is that sometimes undo and selection operators are sometimes handled in the same event loop iteration, which leaves non-evaluated dependency graph. Fixes T67973: Crash on Fix Deforms operator Fixes T67902: Crash when undo a loop cut Reviewers: brecht Reviewed By: brecht Subscribers: lichtwerk Maniphest Tasks: T67454 Differential Revision: https://developer.blender.org/D5343
2019-07-07Docs: update window/screen introductionCampbell Barton
Include global region/areas.
2019-07-05Cleanup: use doxy comments for WM_types.hCampbell Barton
2019-06-26Cleanup: un-wrap lines in headers, use doxy commentsCampbell Barton
2019-06-12Cleanup: spelling in commentsCampbell Barton
2019-06-11Fix T62875: Tooltips behave erratically with view gizmosCampbell Barton
Improvements to behavior for gizmo tool-tips. - 2D gizmos no longer cancel tool-tips on cursor motion (matching the behavior of UI widgets). - 3D gizmos still close on motion since 3D gizmos may have a large on-screen area which would cause them to stay visible even after the cursor has been moved a large distance. The motion threshold is used so they don't close on unintended cursor motion. - Changing highlighted gizmo now cancels the tool-tip & resets the timer.
2019-06-04Fix status bar and keymap editor showing Call Menu instead of menu nameBrecht Van Lommel
2019-05-30Cleanup: move click/drag events to functionsCampbell Barton
Simplifies future changes to dragging checks and avoids each check for drag using slightly different logic.
2019-05-28Cleanup: use doxy comments for wmOperatoType.flagCampbell Barton
2019-05-28Cleanup: use WM_ prefix for cursor enumCampbell Barton
2019-05-28WM: support X/Y axis cursor wrappingCampbell Barton
Operator flags to wrap on a single axis. D4865 by @Gvgeo with updates. Resolves T64585
2019-05-20Cleanup: add wm_utils.c for generic functionsCampbell Barton
2019-05-20WM: add wmGenericUserData utility structCampbell Barton
Useful to have a generic user data with an optional custom free function, use for wmGesture.
2019-05-13cleanup: typo in commentPhilipp Oeser
2019-04-20Cleanup: comment line length (windowmanager)Campbell Barton
2019-04-18Cleanup: comment blocksCampbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-16Cleanup: trailing commasCampbell Barton
2019-03-21WM: enable activate on init for wmOperatorType.propCampbell Barton
This enables popups to edit text when displayed, use for new collection popup.
2019-03-20Preferences: add threshold for cursor motionCampbell Barton
A hard coded threshold was used to ignore cursor motion, make this a preference since tablet users may want to increase it since a pen hovering isn't as easy to keep still as a mouse. Resolves T56278
2019-03-19UI: scale cursor motion threshold by DPICampbell Barton
This was using hard coded values of 2-3px. Move both drag and motion thresholds to defines.
2019-03-04Outliner: better support for paintcurves ('Blender File' view)Philipp Oeser
- paintcurves were hitting an assert in outliner_add_element() - missing outliner update when adding a paintcurve - paintcurves were not showing an icon [they dont have a dedicated icon, took the one used elsewhere] Reviewers: brecht Differential Revision: https://developer.blender.org/D4445
2019-03-01WM: add gesture variable to detect first executionCampbell Barton
Needed for circle select to replace the current selection.
2019-02-27DNA: rename Lamp -> LightCampbell Barton
- BKE_lamp -> BKE_light - Main.lamp -> light
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-03Cleanup: trailing commasCampbell Barton
Needed for clan-format not to wrap onto one line.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-28Cleanup: sort forward declarations of enum & structCampbell Barton
Done using: source/tools/utils_maintenance/c_sort_blocks.py
2019-01-26Cleanup: redundant definesCampbell Barton
Comment or remove unused defines.
2018-09-06UI: delay tool label tip displayCampbell Barton
Displaying the labels tip immediately feels too intrusive, make this work more like regular tooltips, displaying more quickly. Tooltips can now uses multiple passes, each pass with it's own delay for the next pass to show.