KhronosGroup / OpenXR-SDK-Source

Sources for OpenXR loader, basic API layers, and example code.
https://khronos.org/openxr
Apache License 2.0
679 stars 249 forks source link

Obscure is the way of adding instance extensions through .ini files #505

Closed rmaroy closed 1 month ago

rmaroy commented 1 month ago

Hi,

His issue is related to my last one about all acceleration retrieved by GetRawSensorData being equal to zero.

I looked into OpenXR code. As a matter of fact, if AngularAcceleration is not in the code at all, we can find

at line 716 : "void* DeviceAccelerationPtr = bSpaceAccelerationSupported ? &DeviceAcceleration : nullptr;"

and line 1549 : "bSpaceAccelerationSupported = IsExtensionEnabled(XR_EPIC_SPACE_ACCELERATION_NAME);"

This means not only that acceleration can be enabled in OpenXR, but that it can be through a .ini file.

Would you mind sharing the syntax in a .ini file in order to enable acceleration ?

I personaly would find nice to have a documentation on available extensions and on the .ini syntax to add them.

Best Regards,

Renaud

rpavlik commented 1 month ago

This is not an OpenXR thing, OpenXR does not use ini files. That extension looks like an internal Epic (Unreal Engine) thing. Unfortunately I cannot transfer this issue outside of the org so I can't move it to unreal engine, but that would be the place to ask.

rmaroy commented 1 month ago

Hi, I understand, but as concerned for this, Unreal Engine answered that OpenXR was concerned, not them.

Does this mean that I have to enable this extension in C++ code ? Unfortunately, the instance is not exposed in Unreal Engine 5 (sort of) C++ code, so I can't find a location to place the line:"openxr.enableExtension(name)"

Best Regards, Renaud Maroy Le mardi 1 octobre 2024 à 20:13:29 UTC+2, Rylie Pavlik @.***> a écrit :

This is not an OpenXR thing, OpenXR does not use ini files. That extension looks like an internal Epic (Unreal Engine) thing. Unfortunately I cannot transfer this issue outside of the org so I can't move it to unreal engine, but that would be the place to ask.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

Rectus commented 1 month ago

To enable additional extensions in Unreal, you would have to write a plugin with a class that extends IOpenXRExtensionPlugin, and implement GetRequiredExtensions() or GetOptionalExtensions(). See the OpenXREyeTrackerplugin for an example.

Note that XR_EPIC_space_acceleration is not a published OpenXR extension. It is unlikely that any runtime is currently supporting it, and even if someone does, there is no guarantee it will continue working. I wouldn't rely on it in any capacity.

VictorBrodin commented 6 days ago

The extension is for one of our internal OpenXR wrappers, and is not a real registered extension supported by any public runtimes.