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
2021-07-06Fix incompatible type passed to XR hapticSergey Sharybin
Likely caused by recent fixed-size types changes. Seems to be no-functional-changes since the function is unused.
2021-05-15XR Controller Support Step 1: Internal Abstractions for OpenXR ActionsPeter Kim
Adds internal API for creating and managing OpenXR actions at the GHOST and WM layers. Does not bring about any changes for users since XR action functionality is not yet exposed in the Python API (will be added in a subsequent patch). OpenXR actions are a means to communicate with XR input devices and can be used to retrieve button/pose states or apply haptic feedback. Actions are bound to device inputs via a semantic path binding (https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#semantic-path-interaction-profiles), which serves as an XR version of keymaps. Main features: - Abstraction of OpenXR action management functions to GHOST-XR, WM-XR APIs. - New "xr_session_start_pre" callback for creating actions at appropriate point in the XR session. - Creation of name-identifiable action sets/actions. - Binding of actions to controller inputs. - Acquisition of controller button states. - Acquisition of controller poses. - Application of controller haptic feedback. - Carefully designed error handling and useful error reporting (e.g. action set/action name included in error message). Reviewed By: Julian Eisel Differential Revision: http://developer.blender.org/D10942
2021-02-20Cleanup: doxygen sectionsCampbell Barton
2021-02-05Cleanup: correct spelling in commentsCampbell Barton
2021-01-26Viewport Rendering: Don't clamp when overlays are disabled.Jeroen Bakker
During viewport rendering the color values were clamped in order to apply the overlay on top of it. This clamping would show the scene colors washed out. This patch adds a work around to skip the clamping when the overlays are turned off. Parial fix for {T77909}
2020-11-20Cleanup: remove unused perspective argument to off-screen drawingCampbell Barton
Some callers were passing in dummy values, this can be accessed from `RegionView3D.is_persp` can be used to check this.
2020-08-23Cleanup: GPU: Use explicit clear value in GPU_clear* commandsClément Foucault
This replace `GPU_clear()` by `GPU_clear_color()` and `GPU_clear_depth()`. Since we always set the clear value before clearing, it is unecessary to track the clear color state. Moreover, it makes it clearer what we clear the framebuffer to.
2020-08-21Cleanup: split `BKE_scene_get_depsgraph()` into two functionsSybren A. Stüvel
Split the depsgraph allocation into a separate function `BKE_scene_ensure_depsgraph()`. Parameters are only passed to those functions that actually need them. This removes the the "if that boolean is `false` this pointer is allowed to be `NULL`" logic and more cleanly decouples code. No functional changes.
2020-08-14Merge branch 'blender-v2.90-release'Julian Eisel
2020-08-14Fix offset applied on top of VR landmark with no positional trackingJulian Eisel
On VR session start with positional tracking disabled, the pose would have an offset applied but it was supposed to start exactly at the landmark position. Issue is that we applied the offset to cancel out the position offset reported by the OpenXR runtime incorrectly. We only want to do that if positional tracking is enabled, because if not we don't even apply the runtime's position offset. So we'd cancel something out that wasn't there.
2020-08-11Cleanup: spellingCampbell Barton
2020-08-10Merge branch 'blender-v2.90-release'Julian Eisel
2020-08-10Fix T79324: Crash when changing View Layer while VR session runsJulian Eisel
Proper handling of View Layers for the VR session was never implemented. Now the View Layer of the VR session follows the window the session was started in. Note that if this window is closed, we fallback to another window. This is done to avoid the overhead it would take to maintain a separate depsgraph for the VR view. Instead we always share some already visible View Layer (and hence the depsgraph).
2020-08-10Fix pose offset on VR session start for some OpenXR runtimesJulian Eisel
We want the session to start exactly at the landmark position, with no additional offset. Some runtimes (e.g. Windows Mixed Reality) may give an initial non-[0,0,0] position at session start though. Also add a comment explaining the purpose of the eye offset variable.
2020-08-10Fix broken behavior on active VR Landmark changeJulian Eisel
There would always be an unintended offset applied. Per design there should not be any offset when changing VR Landmarks, the view should just jump exactly to the Landmark. Due to the recent changes, we don't have to add, but substract the eye offset we apply to get the wanted behavior. Mistake in 607d745a79e0.
2020-08-10Fix pose offset on VR session start for some OpenXR runtimesJulian Eisel
We want the session to start exactly at the landmark position, with no additional offset. Some runtimes (e.g. Windows Mixed Reality) may give an initial non-[0,0,0] position at session start though. Also add a comment explaining the purpose of the eye offset variable.
2020-08-10Fix broken behavior on active VR Landmark changeJulian Eisel
There would always be an unintended offset applied. Per design there should not be any offset when changing VR Landmarks, the view should just jump exactly to the Landmark. Due to the recent changes, we don't have to add, but substract the eye offset we apply to get the wanted behavior. Mistake in 607d745a79e0.
2020-08-07Cleanup: Blenlib, Clang-Tidy else-after-return fixes (incomplete)Sybren A. Stüvel
This addresses warnings from Clang-Tidy's `readability-else-after-return` rule in the `source/blender/blenlib` module. Not all warnings are addressed in this commit. No functional changes.
2020-08-07Code Style: use "#pragma once" in source directoryJacques Lucke
This replaces header include guards with `#pragma once`. A couple of include guards are not removed yet (e.g. `__RNA_TYPES_H__`), because they are used in other places. This patch has been generated by P1561 followed by `make format`. Differential Revision: https://developer.blender.org/D8466
2020-08-06Cleanup: undeclared warningsCampbell Barton
2020-07-27Cleanup: Fix compiler warning about function without prototypeSybren A. Stüvel
No functional changes.
2020-07-23Fix: Incorrect VR pose after changing landmarkJulian Eisel
Once the base pose was changed (e.g. by changing the active landmark), we'd always run the logic to reset to the base pose. That would mess up the final viewer pose. Think this only got exposed through 607d745a79e0.
2020-07-22VR: Change how landmarks affect viewer poseJulian Eisel
* Changing to a landmark moves the view exactly to it, rather than keeping the current position offset. * Disabling positional tracking moves the viewer back to the landmark position. This is a more predictable and practical way to use landmarks. See feedback in T71347. On the code side, I did some cleanup so the logic flow is more clear. Note: This is entirely untested. I currently don't have access to a device. There might be issues, tomorrow I'll hopefully get feedback.
2020-07-02GPUOffScreen: Remove the sample parameterClément Foucault
This is because the DRW module is no longer compatible with drawing using MSAA. This also change the Python API.
2020-06-23Fix T77830: Crash in VR session when opening material previewJulian Eisel
Draw-manager mutex has to be set before activating OpenGL/GPU context. Otherwise, parallel jobs (like preview rendering) may try to activate the context from another thread. Also: Use WM wrappers for activating/releasing OpenGL context, which have an additional assert check. Suggest to backport this for 2.83.1.
2020-05-24VR: Fix big performance bottleneck for simple scenesJulian Eisel
Blender's main loop puts the main thread to sleep for 5ms if no user input was received from the OS. We never want that to happen while the VR session is running, which runs on the main thread too. For simpler scenes, where the viewport already draws fast, this may have quite some impact. E.g. in my tests, the classroom scene went from ~55 to quite stable 90 FPS in solid mode (total render time as measured and averaged by Windows Mixed Reality utilities). With Eevee, it only went from 41 to 47 FPS. In complex files, there's barely a difference. E.g. less than 1 FPS increase in a Spring file (both Solid mode and Eevee).
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-04Cleanup: Split up Window-Manager VR file (and related changes)Julian Eisel
Splits up wm_xr.c into multiple files in their own folder: source/blender/windowmanager/xr. So this matches how the message bus and gizmo code have their own folder and files. This allows better structuring and should make the code scale better. I rather do this early on than to wait until we end up with a single, huge file. Also improves a bit how data is prepared and updated for drawing.