
org.lwjgl.openxr.FBHandTrackingMesh 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.
/*
* Copyright LWJGL. All rights reserved.
* License terms: https://www.lwjgl.org/license
* MACHINE GENERATED FILE, DO NOT EDIT
*/
package org.lwjgl.openxr;
import org.lwjgl.system.*;
import static org.lwjgl.system.Checks.*;
import static org.lwjgl.system.JNI.*;
/**
* The XR_FB_hand_tracking_mesh extension.
*
* The {@link EXTHandTracking XR_EXT_hand_tracking} extension provides a list of hand joint poses but no mechanism to render a skinned hand mesh.
*
* This extension allows:
*
*
* - An application to get a skinned hand mesh and a bind pose skeleton that can be used to render a hand object driven by the joints from the {@link EXTHandTracking XR_EXT_hand_tracking} extension.
* - Control the scale of the hand joints returned by {@link EXTHandTracking XR_EXT_hand_tracking}.
*
*/
public class FBHandTrackingMesh {
/** The extension specification version. */
public static final int XR_FB_hand_tracking_mesh_SPEC_VERSION = 3;
/** The extension name. */
public static final String XR_FB_HAND_TRACKING_MESH_EXTENSION_NAME = "XR_FB_hand_tracking_mesh";
/**
* Extends {@code XrStructureType}.
*
* Enum values:
*
*
* - {@link #XR_TYPE_HAND_TRACKING_MESH_FB TYPE_HAND_TRACKING_MESH_FB}
* - {@link #XR_TYPE_HAND_TRACKING_SCALE_FB TYPE_HAND_TRACKING_SCALE_FB}
*
*/
public static final int
XR_TYPE_HAND_TRACKING_MESH_FB = 1000110001,
XR_TYPE_HAND_TRACKING_SCALE_FB = 1000110003;
protected FBHandTrackingMesh() {
throw new UnsupportedOperationException();
}
// --- [ xrGetHandMeshFB ] ---
/** Unsafe version of: {@link #xrGetHandMeshFB GetHandMeshFB} */
public static int nxrGetHandMeshFB(XrHandTrackerEXT handTracker, long mesh) {
long __functionAddress = handTracker.getCapabilities().xrGetHandMeshFB;
if (CHECKS) {
check(__functionAddress);
}
return callPPI(handTracker.address(), mesh, __functionAddress);
}
/**
* Create a foveation profile.
*
* C Specification
*
* The {@link #xrGetHandMeshFB GetHandMeshFB} function is defined as:
*
*
* XrResult xrGetHandMeshFB(
* XrHandTrackerEXT handTracker,
* XrHandTrackingMeshFB* mesh);
*
* Description
*
* The {@link #xrGetHandMeshFB GetHandMeshFB} function populates an {@link XrHandTrackingMeshFB} structure with enough information to render a skinned mesh driven by the hand joints. As discussed in the specification for that structure, the data enumerated by this call is constant during the lifetime of an {@code XrInstance}.
*
* Valid Usage (Implicit)
*
*
* - The {@link FBHandTrackingMesh XR_FB_hand_tracking_mesh} extension must be enabled prior to calling {@link #xrGetHandMeshFB GetHandMeshFB}
* - {@code handTracker} must be a valid {@code XrHandTrackerEXT} handle
* - {@code mesh} must be a pointer to an {@link XrHandTrackingMeshFB} structure
*
*
* Return Codes
*
*
* - On success, this command returns
*
* - {@link XR10#XR_SUCCESS SUCCESS}
* - {@link XR10#XR_SESSION_LOSS_PENDING SESSION_LOSS_PENDING}
*
* - On failure, this command returns
*
* - {@link XR10#XR_ERROR_FUNCTION_UNSUPPORTED ERROR_FUNCTION_UNSUPPORTED}
* - {@link XR10#XR_ERROR_VALIDATION_FAILURE ERROR_VALIDATION_FAILURE}
* - {@link XR10#XR_ERROR_RUNTIME_FAILURE ERROR_RUNTIME_FAILURE}
* - {@link XR10#XR_ERROR_HANDLE_INVALID ERROR_HANDLE_INVALID}
* - {@link XR10#XR_ERROR_INSTANCE_LOST ERROR_INSTANCE_LOST}
* - {@link XR10#XR_ERROR_SESSION_LOST ERROR_SESSION_LOST}
* - {@link XR10#XR_ERROR_SIZE_INSUFFICIENT ERROR_SIZE_INSUFFICIENT}
* - {@link XR10#XR_ERROR_FEATURE_UNSUPPORTED ERROR_FEATURE_UNSUPPORTED}
*
*
*
* See Also
*
* {@link XrHandTrackingMeshFB}
*
* @param handTracker the {@code XrHandTrackerEXT} that is associated with a particular hand.
* @param mesh the {@link XrHandTrackingMeshFB} output structure.
*/
@NativeType("XrResult")
public static int xrGetHandMeshFB(XrHandTrackerEXT handTracker, @NativeType("XrHandTrackingMeshFB *") XrHandTrackingMeshFB mesh) {
return nxrGetHandMeshFB(handTracker, mesh.address());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy