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-05-07VR: Fix OpenXR state freeze on Oculus after taking off HMDNicolas Fauvet
With the Oculus runtime, the VR session would freeze when taking off the HMD and putting it back on. This was caused by the deletion of graphics resources too early in the OpenXR state machine, at least for Oculus. The resources will now only be freed once the session is actually destroyed. Also fixes an issue where it wasn't possible to stop the session via the UI when the HMD was taken off. Reviewed By: Julian Eisel Differential Revision: https://developer.blender.org/D7635
2020-05-07macOS: Remove workaround for old quit dialogJulian Eisel
Got added in 1a30e52142c5 (and tweaked in follow-ups) but shouldn't be needed anymore with the newer popup based quit dialog. It prevents Blender from quitting properly in case macOS closed all Blender windows. This may happen in some corner-cases unfortunately (e.g. T74101) which would be nice to have addressed at some point. Until then, users shouldn't have to force-kill Blender to shut it down if they run into this.
2020-05-06Fix num-pad access on waylandCampbell Barton
Always interpret keypad keys as if numpad is enabled, this matches other platforms. Also add missing quote key.
2020-05-06Fix T76429: GHOST/Wayland event's don't correspond to physical keysChristian Rauch
2020-05-03GHOST: cleanup platform checks, fix Wayland + X11Campbell Barton
- Building with Wayland + X11 missed an exception include. - Move HEADLESS check first, since it's the same on all platforms.
2020-05-02Merge branch 'blender-v2.83-release'Brecht Van Lommel
2020-05-01Fx build error with MSBuild on WindowsNikhil Shringarpurey
Differential Revision: https://developer.blender.org/D7587
2020-05-01CMake: add WITH_GHOST_X11 optionCampbell Barton
- Support building only with Wayland. - In this case, show useful error messages when Wayland fails to load.
2020-05-01Cleanup: duplicate include, define from Wayland patchCampbell Barton
2020-05-01Cleanup: rename WITH_X11 to WITH_GHOST_X11Campbell Barton
Matches WITH_GHOST_{SDL|WAYLAND}
2020-05-01GHOST: set the window state on wayland startupChristian Rauch
2020-04-30Cleanup: replace unordered_map with switch statementCampbell Barton
Was performing 2x look-ups, checking keys doesn't benefit noticeably from hash look-ups.
2020-04-30GHOST: fix WITH_GHOST_DEBUG optionCampbell Barton
Changing the order of include changes broke GHOST_DEBUG, however it was using defines in a fragile way. Fix by removing 'GHOST_DEBUG' and use 'WITH_GHOST_DEBUG' which was already defined by CMake.
2020-04-30Cleanup: printf warningCampbell Barton
2020-04-30CMake: use system include for generated headersCampbell Barton
2020-04-30GHOST: initial Wayland supportChristian Rauch
Usable with the CMake option 'WITH_GHOST_WAYLAND' The following functionality is working: - Building with X11 and Wayland at the same time, wayland is used when available. - Keyboard, pointer handling. - Cursor handling. - Dedicated off-screen windows. - Drag & drop. - Copy & paste. - Pointer grabbing. See D6567 for further details.
2020-04-28Cleanup: Missing include directories after recent cleanupSergey Sharybin
2020-04-28Cleanup: remove STR_String usage from GHOSTBrecht Van Lommel
2020-04-27Merge remote-tracking branch 'origin/blender-v2.83-release'Ray Molenkamp
2020-04-27Cleanup: Fix warning about initialization order with MSVCRay Molenkamp
2020-04-27Cleanup: add newline to ghost warning printChristian Rauch
2020-04-14Fix Windows build error introduced in Wintab commit revertBrecht Van Lommel
2020-04-14Revert "Windows: support high resolution tablet pen events for Wintab"Brecht Van Lommel
This reverts commit 1a3928f33c and 1a3928f3. This is not working stable with some Wintab implementations, so reverting for now. This leaves only the Windows Ink changes for 2.83.
2020-04-10Fix T75546: Solve possible endless loop in wintab initialisationNicholas Rishel
Some Wintab drivers report a zero length queue, this causes an unplanned never ending loop. Differential Revision: https://developer.blender.org/D7392 Reviewed by: Ray Molenkamp
2020-04-05Cleanup: spellingCampbell Barton
2020-04-08Cleanup: clang-formatBrecht Van Lommel
2020-04-08Fix build error with WITH_X11_XINPUT=OFF after recent changesBrecht Van Lommel
2020-04-08Windows: support high resolution tablet pen events for WintabNicholas Rishel
Together with Windows Ink support, this should fully resolve T70765. Differential Revision: https://developer.blender.org/D6675
2020-04-08Windows: support high resolution tablet pen events for Windows InkNicholas Rishel
Rather than using the last state of the tablet, we now query the history of pointer events so strokes can follow the pen even if Blender does not handle events at the same rate. Differential Revision: https://developer.blender.org/D6675
2020-04-08Cleanup: minor refactoring of pointer event handlingNicholas Rishel
Ref D6675
2020-04-08Cleanup: add utility functions for milliseconds conversionNicholas Rishel
Ref D6675
2020-04-08Cleanup: remove GHOST API to query tablet state from WindowBrecht Van Lommel
It's not used by Blender anymore and it's unreliable since this state really only makes sense associated with events in a particular order. Ref D6675
2020-04-03Cleanup: quiet shadow warnings with ghost & mantaflowCampbell Barton
2020-04-03Cleanup: spellingCampbell Barton
2020-04-02Fix warnings caused by own earlier commitJulian Eisel
Caused by 34465a7fb091.
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-04-02Cleanup: Avoid complex template type for XR-SwapchainJulian Eisel
I rather avoid types like `std::vector<std::unique_ptr<GHOST_XrSwapchain>>`, which is easy to do in this case.
2020-03-31Fix missing XR space destructionJulian Eisel
I think destructing the XrSession would destruct this anyway, but rather have this done explicitly, consistently and in a controlled manner.
2020-03-28Fix key detection issues introduced by D7229Asher
Removing the GHOST_kKeyUnknown check from processKeyEvent() produces epeated unknown key events whenever a modifier key is held down, due to the way ghost uses GHOST_kKeyUnknown as a filter value for modifier key events. Differential Revision: https://developer.blender.org/D7257
2020-03-26Fix missing text input on Windows with certain keyboard layoutsGermano Cavalcante
Events for keys specific to certain keyboard layouts unknown to Blender were ignored. Now pass them along as unknown key events for which we can still handle text input, like we already do for Linux and macOS. Differential Revision: https://developer.blender.org/D7229
2020-03-25UI: remove non-unicode font and simplify default font loading codeBrecht Van Lommel
There is no need to have another font embedded in the Blender executable, we can assume the bundled font exists. In the future we may provide a fallback if the font specified by the user in the preferences is missing a character, but that can use our bundled international font. Differential Revision: https://developer.blender.org/D6854
2020-03-20Cleanup: sort file, struct listsCampbell Barton
2020-03-20Cleanup: remove old header conventions recently re-introducedCampbell Barton
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-18Cleanup: Prepare XR code for sorted headersJulian Eisel
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-17Ghost: Ghost-XR API to abstract away and access OpenXR functionalityJulian Eisel
Extends Ghost to include an abstraction for OpenXR, which I refer to as Ghost-XR. Such an API is the base for the following commit, which introduces VR support to Blender. Main features: * Simple and high-level interface for Blender specific code to call. * Extensible for muliple graphics backends, currently OpenGL and a DirectX compatibility layer are supported. * Carefully designed error handling strategy allowing Blender to handle errors gracefully and with useful error messages. * OpenXR extension and API-layer management. * OpenXR session management. * Basic OpenXR event management. * Debug utilities for Ghost-XR and OpenXR For more information on this API, check https://wiki.blender.org/wiki/Source/Interface/XR. Reviewed by: Brecht Van Lommel Differential Revision: https://developer.blender.org/D6188
2020-03-15UI: Fix capitalization in the macOS app menuWilliam Reynish
2020-03-14Cleanup: sort file lists & struct declatationsCampbell Barton
2020-03-11Cleanup: clang-formatCampbell Barton