org.lwjgl.openxr.MNDHeadless Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of lwjgl-openxr Show documentation
Show all versions of lwjgl-openxr Show documentation
A royalty-free, open standard that provides high-performance access to Augmented Reality (AR) and Virtual Reality (VR)—collectively known as XR—platforms and devices.
The newest version!
/*
* Copyright LWJGL. All rights reserved.
* License terms: https://www.lwjgl.org/license
* MACHINE GENERATED FILE, DO NOT EDIT
*/
package org.lwjgl.openxr;
/**
* The XR_MND_headless extension.
*
* Some applications may wish to access XR interaction devices without presenting any image content on the display(s). This extension provides a mechanism for writing such an application using the OpenXR API. It modifies the specification in the following ways, without adding any new named entities.
*
*
* - When this extension is enabled, an application may call {@link XR10#xrCreateSession CreateSession} without an stext:XrGraphicsBinding* structure in its {@code next} chain. In this case, the runtime must create a "headless" session that does not interact with the display.
* - In a headless session, the session state should proceed to {@link XR10#XR_SESSION_STATE_READY SESSION_STATE_READY} directly from {@link XR10#XR_SESSION_STATE_IDLE SESSION_STATE_IDLE}.
* - In a headless session, the {@link XrSessionBeginInfo}{@code ::primaryViewConfigurationType} must be ignored and may be 0.
* - In a headless session, the session state proceeds to {@link XR10#XR_SESSION_STATE_SYNCHRONIZED SESSION_STATE_SYNCHRONIZED}, then {@link XR10#XR_SESSION_STATE_VISIBLE SESSION_STATE_VISIBLE} and {@link XR10#XR_SESSION_STATE_FOCUSED SESSION_STATE_FOCUSED}, after the call to {@link XR10#xrBeginSession BeginSession}. The application does not need to call {@link XR10#xrWaitFrame WaitFrame}, {@link XR10#xrBeginFrame BeginFrame}, or {@link XR10#xrEndFrame EndFrame}, unlike with non-headless sessions.
* - In a headless session, {@link XR10#xrEnumerateSwapchainFormats EnumerateSwapchainFormats} must return {@link XR10#XR_SUCCESS SUCCESS} but enumerate 0 formats.
* - {@link XR10#xrWaitFrame WaitFrame} must set {@link XrFrameState}{@code ::shouldRender} to {@link XR10#XR_FALSE FALSE} in a headless session. The VISIBLE and FOCUSED states are only used for their input-related semantics, not their rendering-related semantics, and these functions are permitted to allow minimal change between headless and non-headless code if desired.
*
*
* Because {@link XR10#xrWaitFrame WaitFrame} is not required, an application using a headless session should sleep periodically to avoid consuming all available system resources in a busy-wait loop.
*/
public final class MNDHeadless {
/** The extension specification version. */
public static final int XR_MND_headless_SPEC_VERSION = 2;
/** The extension name. */
public static final String XR_MND_HEADLESS_EXTENSION_NAME = "XR_MND_headless";
private MNDHeadless() {}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy