summaryrefslogtreecommitdiff
path: root/modules/openxr
AgeCommit message (Collapse)Author
2022-11-21Code simplifications found by cppcheckMarkus Sauermann
They are based on: - Boolean arithmetic simplifications - setting variables that are not accessed - constant variables
2022-11-12Fix -Wtype-limits warning in openxr_interface.cppdzil123
2022-11-11Add index check to OpenXRInterface::get_projection_for_view and ↵avemort
OpenXRInterface::get_transform_for_view
2022-11-09[openxr] Remove unnecessary fallbacks for native handles on X11David Snopek
2022-11-08Add support for OpenGL to OpenXRDavid Snopek
2022-11-03Merge pull request #68102 from BastiaanOlij/fix_render_issues_xrRémi Verschelde
Fix several render issues found while debugging XR
2022-11-02Style: Misc docs and comment style and language fixesRémi Verschelde
- Removed empty paragraphs in XML. - Consistently use bold style for "Example:", on a new line. - Fix usage of `[code]` when hyperlinks could be used (`[member]`, `[constant]`). - Fix invalid usage of backticks for inline code in BBCode. - Fix some American/British English spelling inconsistencies. - Other minor fixes spotted along the way, including typo fixes with codespell. - Don't specify `@GlobalScope` for `enum` and `constant`.
2022-11-01Fix several render issues found while debugging XRBastiaan Olij
2022-10-31Merge pull request #67578 from KoBeWi/GEDITORRémi Verschelde
Unify usage of GLOBAL/EDITOR_GET
2022-10-31Merge pull request #67445 from Zylann/rename_queue_deleteRémi Verschelde
Rename queue_delete => queue_free
2022-10-28Change default OpenXR pose to aim poseBastiaan Olij
2022-10-24Rename queue_delete => queue_freeMarc Gilleron
# Conflicts: # editor/plugins/tiles/tiles_editor_plugin.cpp
2022-10-19Merge pull request #67527 from BastiaanOlij/fix_tracker_namesMax Hilbrunner
Fix two typos in tracker names and a bug in OpenXR haptic feedback
2022-10-18Unify usage of GLOBAL/EDITOR_GETkobewi
2022-10-19Merge pull request #67529 from BastiaanOlij/filter_out_htc_pathsBastiaan Olij
Filter out HTC OpenXR paths based on extension
2022-10-19Filter out HTC OpenXR paths based on extensionBastiaan Olij
2022-10-18Fix missing itos for OpenXR loggingBastiaan Olij
2022-10-17Merge pull request #67179 from BastiaanOlij/openxr_add_refresh_rate_extensionRémi Verschelde
Adding support for the OpenXR Display Refresh Rate extension
2022-10-17Fix two typos in tracker names and a bug in OpenXR haptic feedbackBastiaan Olij
2022-10-10Adding support for the OpenXR Display Refresh Rate extensionBastiaan Olij
2022-10-10Cleanup a bunch of debug messages in OpenXR and change the ones we want to ↵Bastiaan Olij
keep to print_verbose
2022-10-07Fix MSVC warnings, rename shadowed variables, fix uninitialized values, ↵bruvzg
change warnings=all to use /W4.
2022-10-06Fixing an incorrect error message in OpenXR reporting missing OpenGL supportBastiaan Olij
2022-10-05Merge pull request #66898 from aaronfranke/proj-mat-columnsRémi Verschelde
Rename Projection `matrix` to `columns`
2022-10-05Adding getters to RenderTarget and implementing override functionality for XRBastiaan Olij
2022-10-04Rename Projection `matrix` to `columns`Aaron Franke
2022-09-30Merge pull request #66242 from akien-mga/scons-unify-tools-targetRémi Verschelde
2022-09-27Add Passthrough extension wrapperGabor Koncz
2022-09-27Merge pull request #66282 from BastiaanOlij/openxr_palm_poseRémi Verschelde
Add OpenXR palm pose extension support
2022-09-26SCons: Unify tools/target build type configurationRémi Verschelde
Implements https://github.com/godotengine/godot-proposals/issues/3371. New `target` presets ==================== The `tools` option is removed and `target` changes to use three new presets, which match the builds users are familiar with. These targets control the default optimization level and enable editor-specific and debugging code: - `editor`: Replaces `tools=yes target=release_debug`. * Defines: `TOOLS_ENABLED`, `DEBUG_ENABLED`, `-O2`/`/O2` - `template_debug`: Replaces `tools=no target=release_debug`. * Defines: `DEBUG_ENABLED`, `-O2`/`/O2` - `template_release`: Replaces `tools=no target=release`. * Defines: `-O3`/`/O2` New `dev_build` option ====================== The previous `target=debug` is now replaced by a separate `dev_build=yes` option, which can be used in combination with either of the three targets, and changes the following: - `dev_build`: Defines `DEV_ENABLED`, disables optimization (`-O0`/`/0d`), enables generating debug symbols, does not define `NDEBUG` so `assert()` works in thirdparty libraries, adds a `.dev` suffix to the binary name. Note: Unlike previously, `dev_build` defaults to off so that users who compile Godot from source get an optimized and small build by default. Engine contributors should now set `dev_build=yes` in their build scripts or IDE configuration manually. Changed binary names ==================== The name of generated binaries and object files are changed too, to follow this format: `godot.<platform>.<target>[.dev][.double].<arch>[.<extra_suffix>][.<ext>]` For example: - `godot.linuxbsd.editor.dev.arm64` - `godot.windows.template_release.double.x86_64.mono.exe` Be sure to update your links/scripts/IDE config accordingly. More flexible `optimize` and `debug_symbols` options ==================================================== The optimization level and whether to generate debug symbols can be further specified with the `optimize` and `debug_symbols` options. So the default values listed above for the various `target` and `dev_build` combinations are indicative and can be replaced when compiling, e.g.: `scons p=linuxbsd target=template_debug dev_build=yes optimize=debug` will make a "debug" export template with dev-only code enabled, `-Og` optimization level for GCC/Clang, and debug symbols. Perfect for debugging complex crashes at runtime in an exported project.
2022-09-26Adding OpenXR hand tracking supportBastiaan Olij
2022-09-26Merge pull request #65798 from kisg/dynamic_openxr_loaderRémi Verschelde
Dynamic loading of OpenXR Loader on Android
2022-09-24Dynamic loading of OpenXR Loader on AndroidGergely Kis
This change implements dynamic loading of the OpenXR Loader library on Android. If an OpenXR Loader library is not found, Godot will still function with OpenXR disabled. Also, on every platform, the OpenXR symbols are resolved at runtime using xrGetInstanceProcAddr. On Windows and Linux the OpenXR loader is included in the main engine binary. On Android, the OpenXR Loader is not built with the engine. Separately distributed Android plugins will be provided with the correct loader library for each device. Co-authored-by: Gábor Pál Korom <gabor.p.korom@migeran.com> Co-authored-by: Gábor Koncz <gabor.koncz@migeran.com>
2022-09-23Add OpenXR palm pose extension supportBastiaan Olij
2022-09-16Fix OpenXR layer composition blendingGabor Koncz
2022-09-06Improve naming of theme properties throughout GUI codeYuri Sizov
Rename ItemList's bg -> panel Rename ItemList's bg_focus -> focus Rename ProgressBar's bg -> background Rename ProgressBar's fg -> fill Rename Tree's bg -> panel Rename Tree's bg_focus -> focus Rename ScrollContainer's bg -> panel Rename FileDialog's *_icon_modulate -> *_icon_color Rename FileDialog's files_disabled -> file_disabled_color Rename CheckButton's on/off -> checked/unchecked Rename check_v_adjust -> check_v_offset
2022-08-29Revert "Remove NOTIFICATION_ENTER_TREE when paired with ↵Rémi Verschelde
NOTIFICATION_THEME_CHANGED" This reverts commit 4b817a565cab8af648c88cfc7ab6481e86ee3625. Fixes #64988. Fixes #64997. This caused several regressions (#64988, #64997, https://github.com/godotengine/godot/issues/64997#issuecomment-1229970605) which point at a flaw in the current logic: - `Control::NOTIFICATION_ENTER_TREE` triggers a *deferred* notification with `NOTIFCATION_THEME_CHANGED` as introduced in #62845. - Some classes use their `THEME_CHANGED` to cache theme items in member variables (e.g. `style_normal`, etc.), and use those member variables in `ENTER_TREE`, `READY`, `DRAW`, etc. Since the `THEME_CHANGE` notification is now deferred, they end up accessing invalid state and this can lead to not applying theme properly (e.g. for EditorHelp) or crashing (e.g. for EditorLog or CodeEdit). So we need to go back to the drawing board and see if `THEME_CHANGED` can be called earlier so that the previous logic still works? Or can we refactor all engine code to make sure that: - `ENTER_TREE` and similar do not depend on theme properties cached in member variables. - Or `THEME_CHANGE` does trigger a general UI update to make sure that any bad theme handling in `ENTER_TREE` and co. gets fixed when `THEME_CHANGE` does arrive for the first time. But that means having a temporary invalid (and possibly still crashing) state, and doing some computations twice which might be heavy (e.g. `EditorHelp::_update_doc()`).
2022-08-28Merge pull request #64885 from Mickeon/rename-tooltip-hintRémi Verschelde
Rename `hint_tooltip` to `tooltip_text` & setter getter
2022-08-27Remove NOTIFICATION_ENTER_TREE when paired with NOTIFICATION_THEME_CHANGEDAaron Record
2022-08-27Rename `hint_tooltip` to `tooltip_text` & setgetMicky
`hint_tooltip` -> `tooltip_text` `set_tooltip` -> `set_tooltip_text` `_get_tooltip` -> `get_tooltip_text` Updates documentation, too.
2022-08-15Improve the `make_rst.py` parser for BBCode tagsYuri Sizov
2022-08-08Rename the argument tag to param in XML documentationYuri Sizov
2022-07-29Swap arguments of ResourceSaver.save()kobewi
2022-07-29Remove Signal connect bindsJuan Linietsky
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind(). Changed all uses of it to Callable.bind()
2022-07-28Add startup flag to override XR mode settingsBastiaan Olij
2022-07-26Fix unnamed arguments in XML docsRedMser
2022-07-25Code quality: Fix header guards consistencyRémi Verschelde
Adds `header_guards.sh` bash script, used in CI to validate future changes. Can be run locally to fix invalid header guards.
2022-07-23Implement Vector4, Vector4i, Projectionreduz
Implement built-in classes Vector4, Vector4i and Projection. * Two versions of Vector4 (float and integer). * A Projection class, which is a 4x4 matrix specialized in projection types. These types have been requested for a long time, but given they were very corner case they were not added before. Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity. **Q**: Why Projection and not Matrix4? **A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
2022-07-22Fix tutorial links in XR classes docspython273
2022-07-20Improve `linuxbsd` headless building, cleanup build scriptsRiteo
Now the `linuxbsd` platform can be built headlessly (e.g. without X11 development libraries). I also cleaned up some weird (old?) usages of the `env` variable which seem to make no difference and are used nowhere else.