Varjo Markers are physical markers tracked by the video cameras of the HMD. Different types of markers can be used for different purposes. As an example, Varjo Markers can be used as cheap replacements for electronic trackers. The cost per printed tracker is significantly lower and the markers require no power to function.
This extension provides the tracking interface to a set of marker types and sizes. Markers can be printed out from the PDF documents and instructions freely available at https://developer.varjo.com/docs/get-started/varjo-markers#printing-varjo-markers. Note that the printed marker must have the exact physical size for its ID.
Object markers are used to track static or dynamic objects in the user environment. You may use object markers in both XR and VR applications. Each marker has a unique ID, and you must not use the same physical marker more than once in any given environment. For added precision, an application may use multiple markers to track a single object. For example, you could track a monitor by placing a marker in each corner.
There is a set of marker IDs recognized by runtime and if the application uses ID which is not in the set then runtime must return ERROR_MARKER_ID_INVALID_VARJO.
| Modifier and Type | Field and Description |
|---|---|
| public static final int | XR_ERROR_MARKER_ID_INVALID_VARJO
Extends |
| public static final int | XR_ERROR_MARKER_NOT_TRACKED_VARJO
Extends |
| public static final int | XR_TYPE_EVENT_DATA_MARKER_TRACKING_UPDATE_VARJO
Extends |
| public static final int | XR_TYPE_MARKER_SPACE_CREATE_INFO_VARJO
Extends |
| public static final int | XR_TYPE_SYSTEM_MARKER_TRACKING_PROPERTIES_VARJO
Extends |
| public static final String | XR_VARJO_MARKER_TRACKING_EXTENSION_NAME
The extension name. |
| public static final int | XR_VARJO_marker_tracking_SPEC_VERSION
The extension specification version. |
| Access | Constructor and Description |
|---|---|
| protected |
| Modifier and Type | Method and Description |
|---|---|
| public static int | nxrCreateMarkerSpaceVARJO(XrSession session, long createInfo, long space)
Unsafe version of: |
| public static int | nxrGetMarkerSizeVARJO(XrSession session, long markerId, long size)
Unsafe version of: |
| public static int | xrCreateMarkerSpaceVARJO(XrSession
an session, XrMarkerSpaceCreateInfoVARJO XrSession handle previously created with CreateSession.the structure containing information about how to create the space based on marker. createInfo, PointerBuffer a pointer to a handle in which the created space)XrSpace is returned.Creates marker space. |
| public static int | xrGetMarkerSizeVARJO(XrSession
an session, long XrSession handle previously created with CreateSession.the unique identifier of the marker for which size is requested. markerId, XrExtent2Df pointer to the size to populate by the runtime with the physical size of plane marker in meters. size)Gets physical size of marker. |
| public static int | xrSetMarkerTrackingPredictionVARJO(XrSession
an session, long XrSession handle previously created with CreateSession.the unique identifier of the marker which should be tracked with prediction. markerId, boolean enabled)Sets marker tracking with prediction. |
| public static int | xrSetMarkerTrackingTimeoutVARJO(XrSession
an session, long XrSession handle previously created with CreateSession.the unique identifier of the marker for which the timeout will be updated. markerId, long the desired lifetime duration for a specified marker. timeout)Sets marker lifetime duration. |
| public static int | xrSetMarkerTrackingVARJO(XrSession
an session, boolean XrSession handle previously created with CreateSession.the flag to enable or disable marker tracking. enabled)Enables marker tracking. |
| XR_ERROR_MARKER_ID_INVALID_VARJO | back to summary |
|---|---|
| public static final int XR_ERROR_MARKER_ID_INVALID_VARJO Extends Enum values: | |
| XR_ERROR_MARKER_NOT_TRACKED_VARJO | back to summary |
|---|---|
| public static final int XR_ERROR_MARKER_NOT_TRACKED_VARJO Extends Enum values: | |
| XR_TYPE_EVENT_DATA_MARKER_TRACKING_UPDATE_VARJO | back to summary |
|---|---|
| public static final int XR_TYPE_EVENT_DATA_MARKER_TRACKING_UPDATE_VARJO Extends Enum values: | |
| XR_TYPE_MARKER_SPACE_CREATE_INFO_VARJO | back to summary |
|---|---|
| public static final int XR_TYPE_MARKER_SPACE_CREATE_INFO_VARJO Extends Enum values: | |
| XR_TYPE_SYSTEM_MARKER_TRACKING_PROPERTIES_VARJO | back to summary |
|---|---|
| public static final int XR_TYPE_SYSTEM_MARKER_TRACKING_PROPERTIES_VARJO Extends Enum values: | |
| XR_VARJO_MARKER_TRACKING_EXTENSION_NAME | back to summary |
|---|---|
| public static final String XR_VARJO_MARKER_TRACKING_EXTENSION_NAME The extension name. | |
| XR_VARJO_marker_tracking_SPEC_VERSION | back to summary |
|---|---|
| public static final int XR_VARJO_marker_tracking_SPEC_VERSION The extension specification version. | |
| VARJOMarkerTracking | back to summary |
|---|---|
| protected VARJOMarkerTracking() | |
| nxrCreateMarkerSpaceVARJO | back to summary |
|---|---|
| public static int nxrCreateMarkerSpaceVARJO(XrSession session, long createInfo, long space) Unsafe version of: | |
| nxrGetMarkerSizeVARJO | back to summary |
|---|---|
| public static int nxrGetMarkerSizeVARJO(XrSession session, long markerId, long size) Unsafe version of: | |
| xrCreateMarkerSpaceVARJO | back to summary |
|---|---|
| public static int xrCreateMarkerSpaceVARJO(XrSession session, XrMarkerSpaceCreateInfoVARJO createInfo, PointerBuffer space) Creates marker space. C SpecificationThe
DescriptionThe Valid Usage (Implicit)
Return Codes
See Also
| |
| xrGetMarkerSizeVARJO | back to summary |
|---|---|
| public static int xrGetMarkerSizeVARJO(XrSession session, long markerId, XrExtent2Df size) Gets physical size of marker. C SpecificationThe
DescriptionThe Valid Usage (Implicit)
Return Codes
See Also
| |
| xrSetMarkerTrackingPredictionVARJO | back to summary |
|---|---|
| public static int xrSetMarkerTrackingPredictionVARJO(XrSession session, long markerId, boolean enabled) Sets marker tracking with prediction. C SpecificationThe
DescriptionThe Valid Usage (Implicit)
Return Codes
| |
| xrSetMarkerTrackingTimeoutVARJO | back to summary |
|---|---|
| public static int xrSetMarkerTrackingTimeoutVARJO(XrSession session, long markerId, long timeout) Sets marker lifetime duration. C SpecificationThe
DescriptionThe Valid Usage (Implicit)
Return Codes
| |
| xrSetMarkerTrackingVARJO | back to summary |
|---|---|
| public static int xrSetMarkerTrackingVARJO(XrSession session, boolean enabled) Enables marker tracking. C SpecificationThe
DescriptionThe Valid Usage (Implicit)
Return Codes
| |