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-18Fix T74101: File Browser in macOS fullscreen crashes or makes windows unusableJulian Eisel
When closing the File Browser window after making it fullscreen, Blender would either crash or all windows would disappear, with no obvious way to bring them back. The "fix" is to not allow fullscreen for File Browsers (or any future "dialog" windows), but only maximizing. From what I can tell that's how secondary windows are supposed to work on macOS. What we previously did seemed like something macOS doesn't handle cleanly, and I didn't find a simple way to do so on our side.
2020-05-12Fix T76507: Reading clipboard blocks keyboard input on X11Campbell Barton
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-06Cleanup: warningsCampbell Barton
2020-05-01Fx build error with MSBuild on WindowsNikhil Shringarpurey
Differential Revision: https://developer.blender.org/D7587
2020-04-27Cleanup: Fix warning about initialization order with MSVCRay Molenkamp
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
2020-03-11GHOST: tests now build againCampbell Barton
GLX gears work as expected, multitest_c only creates windows but misses font drawing still.
2020-03-11Cleanup: remove bitmap font drawing ifdef from MultiTest.cCampbell Barton
2020-03-06Cleanup: Fix forward declaration of headersDalai Felinto
2020-03-06Cleanup: spellingCampbell Barton
2020-03-06Attempt to fix build errors on macOSJulian Eisel
Mistake in 5be0e3430d13
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-03-05Ghost: Support drawing OpenGL framebuffers into a DirectX 11 bufferJulian Eisel
Adds a minimal DirectX 11 Ghost context, plus some shared DirectX-OpenGL resource interface using the NV_DX_interop2 WGL extension. From what I know, this should be available on modern GPUs. If not, it should fail gracefully. There should be no user visible changes at this point. Needed for DirectX-only OpenXR platforms (e.g. Windows Mixed Reality). I heard there are other use-cases as well though. It's known that this currently fails on some AMD systems, but that seems to be fixable. Most of this comes from the 2019 GSoC project, "Core Support of Virtual Reality Headsets through OpenXR" (https://wiki.blender.org/wiki/User:Severin/GSoC-2019/). Reviewed by: Jeroen Bakker, Ray Molenkam, Brecht van Lommel Differential Revision: https://developer.blender.org/D6190
2020-02-26Cleanup: spellingCampbell Barton
2020-02-17Fix many typos and other issues in UI messages.Bastien Montagne
2020-02-15GHOST: Init New Windows with a closer theme colorAaron Carlisle
The user theme is loaded after window creation so we should create the window with a color that at least matches the default theme. Differential Revision: https://developer.blender.org/D6858
2020-02-15Cleanup: work around clang-format differences between versionsBrecht Van Lommel
Ref T73747
2020-02-15Fix incorrect enum in GHOST testCampbell Barton
2020-02-14Cleanup/MSVC: Enable C++ conformance mode on compiler versions that support it.Ray Molenkamp
MSVC has a conformance mode (/permissive-) where the C++ standard is more strictly enforced. This mode is available on MSVC 15.5+ [1] This patch enables this mode on compilers that support it and cleans up the few violations it threw up in the process. - Mantaflow was using M_PI without requesting them using the _USE_MATH_DEFINES define to opt in to non default behaviour. - Collada did not include the right header for std::cerr, this seemingly was fixed for other platforms already but put inside a platform guard. - Ghost had some scoping issues regarding uninitialized variables and goto behaviour Second landing of this patch, earlier commit was reverted due to some compiler configurations having slipped though testing [1] https://docs.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance Differential Revision: https://developer.blender.org/D6824 Reviewed By: brecht
2020-02-13Revert "Cleanup/MSVC: Enable C++ conformance mode on compiler versions that ↵Ray Molenkamp
support it." It is breaking compilation on some configurations, revert for now while i see what is wrong. This reverts commit 9fe469c110940af5d2525158305d5d365bd15276.
2020-02-12Cleanup/MSVC: Enable C++ conformance mode on compiler versions that support it.Ray Molenkamp
MSVC has a conformance mode (/permissive-) where the C++ standard is more strictly enforced. This mode is available on MSVC 15.5+ [1] This patch enables this mode on compilers that support it and cleans up the few violations it threw up in the process. - Mantaflow was using M_PI without requesting them using the _USE_MATH_DEFINES define to opt in to non default behaviour. - Collada did not include the right header for std::cerr, this seemingly was fixed for other platforms already but put inside a platform guard. - Ghost had some scoping issues regarding uninitialized variables and goto behaviour [1] https://docs.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance Differential Revision: https://developer.blender.org/D6824 Reviewed By: brecht