Top Description Fields Constructors Methods
org.lwjgl.openxr

public Class KHRVisibilityMask

extends Object
Class Inheritance
Imports
org.lwjgl.system.*

The XR_KHR_visibility_mask extension.

This extension support the providing of a per-view drawing mask for applications. The primary purpose of this is to enable performance improvements that result from avoiding drawing on areas that aren’t visible to the user. A common occurrence in head-mounted VR hardware is that the optical system’s frustum doesn’t intersect precisely with the rectangular display it is viewing. As a result, it may be that there are parts of the display that aren’t visible to the user, such as the corners of the display. In such cases it would be unnecessary for the application to draw into those parts.

Field Summary

Modifier and TypeField and Description
public static final String
public static final int
XR_KHR_visibility_mask_SPEC_VERSION

The extension specification version.

public static final int
public static final int
XR_TYPE_VISIBILITY_MASK_KHR

Extends XrStructureType.

public static final int
XR_VISIBILITY_MASK_TYPE_HIDDEN_TRIANGLE_MESH_KHR

XrVisibilityMaskTypeKHR - Visibility Mask Type Enumerant Descriptions

  • VISIBILITY_MASK_TYPE_HIDDEN_TRIANGLE_MESH_KHR refers to a two dimensional triangle mesh on the view surface which should not be drawn to by the application. XrVisibilityMaskKHR refers to a set of triangles identified by vertices and vertex indices. The index count will thus be a multiple of three. The triangle vertices will be returned in counter-clockwise order as viewed from the user perspective.
  • VISIBILITY_MASK_TYPE_VISIBLE_TRIANGLE_MESH_KHR refers to a two dimensional triangle mesh on the view surface which should be drawn to by the application. XrVisibilityMaskKHR refers to a set of triangles identified by vertices and vertex indices. The index count will thus be a multiple of three. The triangle vertices will be returned in counter-clockwise order as viewed from the user perspective.
  • VISIBILITY_MASK_TYPE_LINE_LOOP_KHR refers to a single multi-segmented line loop on the view surface which encompasses the view area which should be drawn by the application. It is the border that exists between the visible and hidden meshes identified by VISIBILITY_MASK_TYPE_HIDDEN_TRIANGLE_MESH_KHR and VISIBILITY_MASK_TYPE_VISIBLE_TRIANGLE_MESH_KHR. The line is counter-clockwise, contiguous, and non-self crossing, with the last point implicitly connecting to the first point. There is one vertex per point, the index count will equal the vertex count, and the indices will refer to the vertices.
public static final int
XR_VISIBILITY_MASK_TYPE_LINE_LOOP_KHR

XrVisibilityMaskTypeKHR - Visibility Mask Type Enumerant Descriptions

  • VISIBILITY_MASK_TYPE_HIDDEN_TRIANGLE_MESH_KHR refers to a two dimensional triangle mesh on the view surface which should not be drawn to by the application. XrVisibilityMaskKHR refers to a set of triangles identified by vertices and vertex indices. The index count will thus be a multiple of three. The triangle vertices will be returned in counter-clockwise order as viewed from the user perspective.
  • VISIBILITY_MASK_TYPE_VISIBLE_TRIANGLE_MESH_KHR refers to a two dimensional triangle mesh on the view surface which should be drawn to by the application. XrVisibilityMaskKHR refers to a set of triangles identified by vertices and vertex indices. The index count will thus be a multiple of three. The triangle vertices will be returned in counter-clockwise order as viewed from the user perspective.
  • VISIBILITY_MASK_TYPE_LINE_LOOP_KHR refers to a single multi-segmented line loop on the view surface which encompasses the view area which should be drawn by the application. It is the border that exists between the visible and hidden meshes identified by VISIBILITY_MASK_TYPE_HIDDEN_TRIANGLE_MESH_KHR and VISIBILITY_MASK_TYPE_VISIBLE_TRIANGLE_MESH_KHR. The line is counter-clockwise, contiguous, and non-self crossing, with the last point implicitly connecting to the first point. There is one vertex per point, the index count will equal the vertex count, and the indices will refer to the vertices.
public static final int
XR_VISIBILITY_MASK_TYPE_VISIBLE_TRIANGLE_MESH_KHR

XrVisibilityMaskTypeKHR - Visibility Mask Type Enumerant Descriptions

  • VISIBILITY_MASK_TYPE_HIDDEN_TRIANGLE_MESH_KHR refers to a two dimensional triangle mesh on the view surface which should not be drawn to by the application. XrVisibilityMaskKHR refers to a set of triangles identified by vertices and vertex indices. The index count will thus be a multiple of three. The triangle vertices will be returned in counter-clockwise order as viewed from the user perspective.
  • VISIBILITY_MASK_TYPE_VISIBLE_TRIANGLE_MESH_KHR refers to a two dimensional triangle mesh on the view surface which should be drawn to by the application. XrVisibilityMaskKHR refers to a set of triangles identified by vertices and vertex indices. The index count will thus be a multiple of three. The triangle vertices will be returned in counter-clockwise order as viewed from the user perspective.
  • VISIBILITY_MASK_TYPE_LINE_LOOP_KHR refers to a single multi-segmented line loop on the view surface which encompasses the view area which should be drawn by the application. It is the border that exists between the visible and hidden meshes identified by VISIBILITY_MASK_TYPE_HIDDEN_TRIANGLE_MESH_KHR and VISIBILITY_MASK_TYPE_VISIBLE_TRIANGLE_MESH_KHR. The line is counter-clockwise, contiguous, and non-self crossing, with the last point implicitly connecting to the first point. There is one vertex per point, the index count will equal the vertex count, and the indices will refer to the vertices.

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static int
nxrGetVisibilityMaskKHR(XrSession session, int viewConfigurationType, int viewIndex, int visibilityMaskType, long visibilityMask)

Unsafe version of: GetVisibilityMaskKHR

public static int
xrGetVisibilityMaskKHR(XrSession
an XrSession handle previously created with CreateSession.
session
,
int
the view configuration from which to retrieve mask information.
viewConfigurationType
,
int
the individual view within the view configuration from which to retrieve mask information.
viewIndex
,
int
the type of visibility mask requested.
visibilityMaskType
,
XrVisibilityMaskKHR
an input/output struct which specifies the view mask.
visibilityMask
)

Gets visibility mask.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

XR_KHR_VISIBILITY_MASK_EXTENSION_NAMEback to summary
public static final String XR_KHR_VISIBILITY_MASK_EXTENSION_NAME

The extension name.

XR_KHR_visibility_mask_SPEC_VERSIONback to summary
public static final int XR_KHR_visibility_mask_SPEC_VERSION

The extension specification version.

XR_TYPE_EVENT_DATA_VISIBILITY_MASK_CHANGED_KHRback to summary
public static final int XR_TYPE_EVENT_DATA_VISIBILITY_MASK_CHANGED_KHR

Extends XrStructureType.

Enum values:
XR_TYPE_VISIBILITY_MASK_KHRback to summary
public static final int XR_TYPE_VISIBILITY_MASK_KHR

Extends XrStructureType.

Enum values:
XR_VISIBILITY_MASK_TYPE_HIDDEN_TRIANGLE_MESH_KHRback to summary
public static final int XR_VISIBILITY_MASK_TYPE_HIDDEN_TRIANGLE_MESH_KHR

XrVisibilityMaskTypeKHR - Visibility Mask Type

Enumerant Descriptions
  • VISIBILITY_MASK_TYPE_HIDDEN_TRIANGLE_MESH_KHR refers to a two dimensional triangle mesh on the view surface which should not be drawn to by the application. XrVisibilityMaskKHR refers to a set of triangles identified by vertices and vertex indices. The index count will thus be a multiple of three. The triangle vertices will be returned in counter-clockwise order as viewed from the user perspective.
  • VISIBILITY_MASK_TYPE_VISIBLE_TRIANGLE_MESH_KHR refers to a two dimensional triangle mesh on the view surface which should be drawn to by the application. XrVisibilityMaskKHR refers to a set of triangles identified by vertices and vertex indices. The index count will thus be a multiple of three. The triangle vertices will be returned in counter-clockwise order as viewed from the user perspective.
  • VISIBILITY_MASK_TYPE_LINE_LOOP_KHR refers to a single multi-segmented line loop on the view surface which encompasses the view area which should be drawn by the application. It is the border that exists between the visible and hidden meshes identified by VISIBILITY_MASK_TYPE_HIDDEN_TRIANGLE_MESH_KHR and VISIBILITY_MASK_TYPE_VISIBLE_TRIANGLE_MESH_KHR. The line is counter-clockwise, contiguous, and non-self crossing, with the last point implicitly connecting to the first point. There is one vertex per point, the index count will equal the vertex count, and the indices will refer to the vertices.
See Also

GetVisibilityMaskKHR

XR_VISIBILITY_MASK_TYPE_LINE_LOOP_KHRback to summary
public static final int XR_VISIBILITY_MASK_TYPE_LINE_LOOP_KHR

XrVisibilityMaskTypeKHR - Visibility Mask Type

Enumerant Descriptions
  • VISIBILITY_MASK_TYPE_HIDDEN_TRIANGLE_MESH_KHR refers to a two dimensional triangle mesh on the view surface which should not be drawn to by the application. XrVisibilityMaskKHR refers to a set of triangles identified by vertices and vertex indices. The index count will thus be a multiple of three. The triangle vertices will be returned in counter-clockwise order as viewed from the user perspective.
  • VISIBILITY_MASK_TYPE_VISIBLE_TRIANGLE_MESH_KHR refers to a two dimensional triangle mesh on the view surface which should be drawn to by the application. XrVisibilityMaskKHR refers to a set of triangles identified by vertices and vertex indices. The index count will thus be a multiple of three. The triangle vertices will be returned in counter-clockwise order as viewed from the user perspective.
  • VISIBILITY_MASK_TYPE_LINE_LOOP_KHR refers to a single multi-segmented line loop on the view surface which encompasses the view area which should be drawn by the application. It is the border that exists between the visible and hidden meshes identified by VISIBILITY_MASK_TYPE_HIDDEN_TRIANGLE_MESH_KHR and VISIBILITY_MASK_TYPE_VISIBLE_TRIANGLE_MESH_KHR. The line is counter-clockwise, contiguous, and non-self crossing, with the last point implicitly connecting to the first point. There is one vertex per point, the index count will equal the vertex count, and the indices will refer to the vertices.
See Also

GetVisibilityMaskKHR

XR_VISIBILITY_MASK_TYPE_VISIBLE_TRIANGLE_MESH_KHRback to summary
public static final int XR_VISIBILITY_MASK_TYPE_VISIBLE_TRIANGLE_MESH_KHR

XrVisibilityMaskTypeKHR - Visibility Mask Type

Enumerant Descriptions
  • VISIBILITY_MASK_TYPE_HIDDEN_TRIANGLE_MESH_KHR refers to a two dimensional triangle mesh on the view surface which should not be drawn to by the application. XrVisibilityMaskKHR refers to a set of triangles identified by vertices and vertex indices. The index count will thus be a multiple of three. The triangle vertices will be returned in counter-clockwise order as viewed from the user perspective.
  • VISIBILITY_MASK_TYPE_VISIBLE_TRIANGLE_MESH_KHR refers to a two dimensional triangle mesh on the view surface which should be drawn to by the application. XrVisibilityMaskKHR refers to a set of triangles identified by vertices and vertex indices. The index count will thus be a multiple of three. The triangle vertices will be returned in counter-clockwise order as viewed from the user perspective.
  • VISIBILITY_MASK_TYPE_LINE_LOOP_KHR refers to a single multi-segmented line loop on the view surface which encompasses the view area which should be drawn by the application. It is the border that exists between the visible and hidden meshes identified by VISIBILITY_MASK_TYPE_HIDDEN_TRIANGLE_MESH_KHR and VISIBILITY_MASK_TYPE_VISIBLE_TRIANGLE_MESH_KHR. The line is counter-clockwise, contiguous, and non-self crossing, with the last point implicitly connecting to the first point. There is one vertex per point, the index count will equal the vertex count, and the indices will refer to the vertices.
See Also

GetVisibilityMaskKHR

Constructor Detail

KHRVisibilityMaskback to summary
protected KHRVisibilityMask()

Method Detail

nxrGetVisibilityMaskKHRback to summary
public static int nxrGetVisibilityMaskKHR(XrSession session, int viewConfigurationType, int viewIndex, int visibilityMaskType, long visibilityMask)

Unsafe version of: GetVisibilityMaskKHR

xrGetVisibilityMaskKHRback to summary
public static int xrGetVisibilityMaskKHR(XrSession session, int viewConfigurationType, int viewIndex, int visibilityMaskType, XrVisibilityMaskKHR visibilityMask)

Gets visibility mask.

C Specification

The GetVisibilityMaskKHR function is defined as:


XrResult xrGetVisibilityMaskKHR(
    XrSession                                   session,
    XrViewConfigurationType                     viewConfigurationType,
    uint32_t                                    viewIndex,
    XrVisibilityMaskTypeKHR                     visibilityMaskType,
    XrVisibilityMaskKHR*                        visibilityMask);
Description

GetVisibilityMaskKHR retrieves the view mask for a given view. This function follows the two-call idiom for filling multiple buffers in a struct. Specifically, if either vertexCapacityInput or indexCapacityInput is 0, the runtime must respond as if both fields were set to 0, returning the vertex count and index count through vertexCountOutput or indexCountOutput respectively. If a view mask for the specified view isn’t available, the returned vertex and index counts must be 0.

Valid Usage (Implicit)
  • The XR_KHR_visibility_mask extension must be enabled prior to calling GetVisibilityMaskKHR
  • session must be a valid XrSession handle
  • viewConfigurationType must be a valid XrViewConfigurationType value
  • visibilityMaskType must be a valid XrVisibilityMaskTypeKHR value
  • visibilityMask must be a pointer to an XrVisibilityMaskKHR structure
Return Codes
On success, this command returns
On failure, this command returns
See Also

XrVisibilityMaskKHR

Parameters
session:XrSession

an XrSession handle previously created with CreateSession.

viewConfigurationType:int

the view configuration from which to retrieve mask information.

viewIndex:int

the individual view within the view configuration from which to retrieve mask information.

visibilityMaskType:int

the type of visibility mask requested.

visibilityMask:XrVisibilityMaskKHR

an input/output struct which specifies the view mask.

Annotations
@NativeType:XrResult