Top Description Fields Constructors Methods
org.lwjgl.openxr

public Class MSFTCompositionLayerReprojection

extends Object
Class Inheritance
Imports
javax.annotation.*, java.nio.*, org.lwjgl.system.*

The XR_MSFT_composition_layer_reprojection extension.

This extension enables an application to provide additional reprojection information for a projection composition layer to help the runtime produce better hologram stability and visual quality.

Field Summary

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

The extension specification version.

public static final int
XR_REPROJECTION_MODE_DEPTH_MSFT

XrReprojectionModeMSFT - Describes the reprojection mode of a composition layer Description

  • REPROJECTION_MODE_DEPTH_MSFT indicates the corresponding layer may benefit from per-pixel depth reprojection provided by XrCompositionLayerDepthInfoKHR to the projection layer. This mode is typically used for world-locked content that should remain physically stationary as the user walks around.
  • REPROJECTION_MODE_PLANAR_FROM_DEPTH_MSFT indicates the corresponding layer may benefit from planar reprojection and the plane can be calculated from the corresponding depth information provided by XrCompositionLayerDepthInfoKHR to the projection layer. This mode works better when the application knows the content is mostly placed on a plane.
  • REPROJECTION_MODE_PLANAR_MANUAL_MSFT indicates that the corresponding layer may benefit from planar reprojection. The application can customize the plane by chaining an XrCompositionLayerReprojectionPlaneOverrideMSFT structure to the same layer. The app can also omit the plane override, indicating the runtime should use the default reprojection plane settings. This mode works better when the application knows the content is mostly placed on a plane, or when it cannot afford to submit depth information.
  • REPROJECTION_MODE_ORIENTATION_ONLY_MSFT indicates the layer should be stabilized only for changes to orientation, ignoring positional changes. This mode works better for body-locked content that should follow the user as they walk around, such as 360-degree video.
public static final int
XR_REPROJECTION_MODE_ORIENTATION_ONLY_MSFT

XrReprojectionModeMSFT - Describes the reprojection mode of a composition layer Description

  • REPROJECTION_MODE_DEPTH_MSFT indicates the corresponding layer may benefit from per-pixel depth reprojection provided by XrCompositionLayerDepthInfoKHR to the projection layer. This mode is typically used for world-locked content that should remain physically stationary as the user walks around.
  • REPROJECTION_MODE_PLANAR_FROM_DEPTH_MSFT indicates the corresponding layer may benefit from planar reprojection and the plane can be calculated from the corresponding depth information provided by XrCompositionLayerDepthInfoKHR to the projection layer. This mode works better when the application knows the content is mostly placed on a plane.
  • REPROJECTION_MODE_PLANAR_MANUAL_MSFT indicates that the corresponding layer may benefit from planar reprojection. The application can customize the plane by chaining an XrCompositionLayerReprojectionPlaneOverrideMSFT structure to the same layer. The app can also omit the plane override, indicating the runtime should use the default reprojection plane settings. This mode works better when the application knows the content is mostly placed on a plane, or when it cannot afford to submit depth information.
  • REPROJECTION_MODE_ORIENTATION_ONLY_MSFT indicates the layer should be stabilized only for changes to orientation, ignoring positional changes. This mode works better for body-locked content that should follow the user as they walk around, such as 360-degree video.
public static final int
XR_REPROJECTION_MODE_PLANAR_FROM_DEPTH_MSFT

XrReprojectionModeMSFT - Describes the reprojection mode of a composition layer Description

  • REPROJECTION_MODE_DEPTH_MSFT indicates the corresponding layer may benefit from per-pixel depth reprojection provided by XrCompositionLayerDepthInfoKHR to the projection layer. This mode is typically used for world-locked content that should remain physically stationary as the user walks around.
  • REPROJECTION_MODE_PLANAR_FROM_DEPTH_MSFT indicates the corresponding layer may benefit from planar reprojection and the plane can be calculated from the corresponding depth information provided by XrCompositionLayerDepthInfoKHR to the projection layer. This mode works better when the application knows the content is mostly placed on a plane.
  • REPROJECTION_MODE_PLANAR_MANUAL_MSFT indicates that the corresponding layer may benefit from planar reprojection. The application can customize the plane by chaining an XrCompositionLayerReprojectionPlaneOverrideMSFT structure to the same layer. The app can also omit the plane override, indicating the runtime should use the default reprojection plane settings. This mode works better when the application knows the content is mostly placed on a plane, or when it cannot afford to submit depth information.
  • REPROJECTION_MODE_ORIENTATION_ONLY_MSFT indicates the layer should be stabilized only for changes to orientation, ignoring positional changes. This mode works better for body-locked content that should follow the user as they walk around, such as 360-degree video.
public static final int
XR_REPROJECTION_MODE_PLANAR_MANUAL_MSFT

XrReprojectionModeMSFT - Describes the reprojection mode of a composition layer Description

  • REPROJECTION_MODE_DEPTH_MSFT indicates the corresponding layer may benefit from per-pixel depth reprojection provided by XrCompositionLayerDepthInfoKHR to the projection layer. This mode is typically used for world-locked content that should remain physically stationary as the user walks around.
  • REPROJECTION_MODE_PLANAR_FROM_DEPTH_MSFT indicates the corresponding layer may benefit from planar reprojection and the plane can be calculated from the corresponding depth information provided by XrCompositionLayerDepthInfoKHR to the projection layer. This mode works better when the application knows the content is mostly placed on a plane.
  • REPROJECTION_MODE_PLANAR_MANUAL_MSFT indicates that the corresponding layer may benefit from planar reprojection. The application can customize the plane by chaining an XrCompositionLayerReprojectionPlaneOverrideMSFT structure to the same layer. The app can also omit the plane override, indicating the runtime should use the default reprojection plane settings. This mode works better when the application knows the content is mostly placed on a plane, or when it cannot afford to submit depth information.
  • REPROJECTION_MODE_ORIENTATION_ONLY_MSFT indicates the layer should be stabilized only for changes to orientation, ignoring positional changes. This mode works better for body-locked content that should follow the user as they walk around, such as 360-degree video.
public static final int
public static final int

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static int
nxrEnumerateReprojectionModesMSFT(XrInstance instance, long systemId, int viewConfigurationType, int
the capacity of the array, or 0 to indicate a request to retrieve the required capacity.
modeCapacityInput
,
long modeCountOutput, long modes)

Unsafe version of: EnumerateReprojectionModesMSFT

public static int
xrEnumerateReprojectionModesMSFT(XrInstance
the instance from which systemId was retrieved.
instance
,
long
the XrSystemId whose reprojection modes will be enumerated.
systemId
,
int
the XrViewConfigurationType to enumerate.
viewConfigurationType
,
IntBuffer
a pointer to the count of the array, or a pointer to the required capacity in the case that modeCapacityInput is insufficient.
modeCountOutput
,
IntBuffer
a pointer to an application-allocated array that will be filled with the XrReprojectionModeMSFT values that are supported by the runtime. It can be NULL if modeCapacityInput is 0.
modes
)

Queries the supported reprojection modes.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

XR_ERROR_REPROJECTION_MODE_UNSUPPORTED_MSFTback to summary
public static final int XR_ERROR_REPROJECTION_MODE_UNSUPPORTED_MSFT

Extends XrResult.

XR_MSFT_COMPOSITION_LAYER_REPROJECTION_EXTENSION_NAMEback to summary
public static final String XR_MSFT_COMPOSITION_LAYER_REPROJECTION_EXTENSION_NAME

The extension name.

XR_MSFT_composition_layer_reprojection_SPEC_VERSIONback to summary
public static final int XR_MSFT_composition_layer_reprojection_SPEC_VERSION

The extension specification version.

XR_REPROJECTION_MODE_DEPTH_MSFTback to summary
public static final int XR_REPROJECTION_MODE_DEPTH_MSFT

XrReprojectionModeMSFT - Describes the reprojection mode of a composition layer

Description
  • REPROJECTION_MODE_DEPTH_MSFT indicates the corresponding layer may benefit from per-pixel depth reprojection provided by XrCompositionLayerDepthInfoKHR to the projection layer. This mode is typically used for world-locked content that should remain physically stationary as the user walks around.
  • REPROJECTION_MODE_PLANAR_FROM_DEPTH_MSFT indicates the corresponding layer may benefit from planar reprojection and the plane can be calculated from the corresponding depth information provided by XrCompositionLayerDepthInfoKHR to the projection layer. This mode works better when the application knows the content is mostly placed on a plane.
  • REPROJECTION_MODE_PLANAR_MANUAL_MSFT indicates that the corresponding layer may benefit from planar reprojection. The application can customize the plane by chaining an XrCompositionLayerReprojectionPlaneOverrideMSFT structure to the same layer. The app can also omit the plane override, indicating the runtime should use the default reprojection plane settings. This mode works better when the application knows the content is mostly placed on a plane, or when it cannot afford to submit depth information.
  • REPROJECTION_MODE_ORIENTATION_ONLY_MSFT indicates the layer should be stabilized only for changes to orientation, ignoring positional changes. This mode works better for body-locked content that should follow the user as they walk around, such as 360-degree video.

When the application passes REPROJECTION_MODE_DEPTH_MSFT or REPROJECTION_MODE_PLANAR_FROM_DEPTH_MSFT mode, it should also provide the depth buffer for the corresponding layer using XrCompositionLayerDepthInfoKHR in XR_KHR_composition_layer_depth extension. However, if the application does not submit this depth buffer, the runtime must apply a runtime defined fallback reprojection mode, and must not fail the EndFrame function because of this missing depth.

When the application passes REPROJECTION_MODE_PLANAR_MANUAL_MSFT or REPROJECTION_MODE_ORIENTATION_ONLY_MSFT mode, it should avoid providing a depth buffer for the corresponding layer using XrCompositionLayerDepthInfoKHR in XR_KHR_composition_layer_depth extension. However, if the application does submit this depth buffer, the runtime must not fail the EndFrame function because of this unused depth data.

See Also

XrCompositionLayerReprojectionInfoMSFT, EnumerateReprojectionModesMSFT

XR_REPROJECTION_MODE_ORIENTATION_ONLY_MSFTback to summary
public static final int XR_REPROJECTION_MODE_ORIENTATION_ONLY_MSFT

XrReprojectionModeMSFT - Describes the reprojection mode of a composition layer

Description
  • REPROJECTION_MODE_DEPTH_MSFT indicates the corresponding layer may benefit from per-pixel depth reprojection provided by XrCompositionLayerDepthInfoKHR to the projection layer. This mode is typically used for world-locked content that should remain physically stationary as the user walks around.
  • REPROJECTION_MODE_PLANAR_FROM_DEPTH_MSFT indicates the corresponding layer may benefit from planar reprojection and the plane can be calculated from the corresponding depth information provided by XrCompositionLayerDepthInfoKHR to the projection layer. This mode works better when the application knows the content is mostly placed on a plane.
  • REPROJECTION_MODE_PLANAR_MANUAL_MSFT indicates that the corresponding layer may benefit from planar reprojection. The application can customize the plane by chaining an XrCompositionLayerReprojectionPlaneOverrideMSFT structure to the same layer. The app can also omit the plane override, indicating the runtime should use the default reprojection plane settings. This mode works better when the application knows the content is mostly placed on a plane, or when it cannot afford to submit depth information.
  • REPROJECTION_MODE_ORIENTATION_ONLY_MSFT indicates the layer should be stabilized only for changes to orientation, ignoring positional changes. This mode works better for body-locked content that should follow the user as they walk around, such as 360-degree video.

When the application passes REPROJECTION_MODE_DEPTH_MSFT or REPROJECTION_MODE_PLANAR_FROM_DEPTH_MSFT mode, it should also provide the depth buffer for the corresponding layer using XrCompositionLayerDepthInfoKHR in XR_KHR_composition_layer_depth extension. However, if the application does not submit this depth buffer, the runtime must apply a runtime defined fallback reprojection mode, and must not fail the EndFrame function because of this missing depth.

When the application passes REPROJECTION_MODE_PLANAR_MANUAL_MSFT or REPROJECTION_MODE_ORIENTATION_ONLY_MSFT mode, it should avoid providing a depth buffer for the corresponding layer using XrCompositionLayerDepthInfoKHR in XR_KHR_composition_layer_depth extension. However, if the application does submit this depth buffer, the runtime must not fail the EndFrame function because of this unused depth data.

See Also

XrCompositionLayerReprojectionInfoMSFT, EnumerateReprojectionModesMSFT

XR_REPROJECTION_MODE_PLANAR_FROM_DEPTH_MSFTback to summary
public static final int XR_REPROJECTION_MODE_PLANAR_FROM_DEPTH_MSFT

XrReprojectionModeMSFT - Describes the reprojection mode of a composition layer

Description
  • REPROJECTION_MODE_DEPTH_MSFT indicates the corresponding layer may benefit from per-pixel depth reprojection provided by XrCompositionLayerDepthInfoKHR to the projection layer. This mode is typically used for world-locked content that should remain physically stationary as the user walks around.
  • REPROJECTION_MODE_PLANAR_FROM_DEPTH_MSFT indicates the corresponding layer may benefit from planar reprojection and the plane can be calculated from the corresponding depth information provided by XrCompositionLayerDepthInfoKHR to the projection layer. This mode works better when the application knows the content is mostly placed on a plane.
  • REPROJECTION_MODE_PLANAR_MANUAL_MSFT indicates that the corresponding layer may benefit from planar reprojection. The application can customize the plane by chaining an XrCompositionLayerReprojectionPlaneOverrideMSFT structure to the same layer. The app can also omit the plane override, indicating the runtime should use the default reprojection plane settings. This mode works better when the application knows the content is mostly placed on a plane, or when it cannot afford to submit depth information.
  • REPROJECTION_MODE_ORIENTATION_ONLY_MSFT indicates the layer should be stabilized only for changes to orientation, ignoring positional changes. This mode works better for body-locked content that should follow the user as they walk around, such as 360-degree video.

When the application passes REPROJECTION_MODE_DEPTH_MSFT or REPROJECTION_MODE_PLANAR_FROM_DEPTH_MSFT mode, it should also provide the depth buffer for the corresponding layer using XrCompositionLayerDepthInfoKHR in XR_KHR_composition_layer_depth extension. However, if the application does not submit this depth buffer, the runtime must apply a runtime defined fallback reprojection mode, and must not fail the EndFrame function because of this missing depth.

When the application passes REPROJECTION_MODE_PLANAR_MANUAL_MSFT or REPROJECTION_MODE_ORIENTATION_ONLY_MSFT mode, it should avoid providing a depth buffer for the corresponding layer using XrCompositionLayerDepthInfoKHR in XR_KHR_composition_layer_depth extension. However, if the application does submit this depth buffer, the runtime must not fail the EndFrame function because of this unused depth data.

See Also

XrCompositionLayerReprojectionInfoMSFT, EnumerateReprojectionModesMSFT

XR_REPROJECTION_MODE_PLANAR_MANUAL_MSFTback to summary
public static final int XR_REPROJECTION_MODE_PLANAR_MANUAL_MSFT

XrReprojectionModeMSFT - Describes the reprojection mode of a composition layer

Description
  • REPROJECTION_MODE_DEPTH_MSFT indicates the corresponding layer may benefit from per-pixel depth reprojection provided by XrCompositionLayerDepthInfoKHR to the projection layer. This mode is typically used for world-locked content that should remain physically stationary as the user walks around.
  • REPROJECTION_MODE_PLANAR_FROM_DEPTH_MSFT indicates the corresponding layer may benefit from planar reprojection and the plane can be calculated from the corresponding depth information provided by XrCompositionLayerDepthInfoKHR to the projection layer. This mode works better when the application knows the content is mostly placed on a plane.
  • REPROJECTION_MODE_PLANAR_MANUAL_MSFT indicates that the corresponding layer may benefit from planar reprojection. The application can customize the plane by chaining an XrCompositionLayerReprojectionPlaneOverrideMSFT structure to the same layer. The app can also omit the plane override, indicating the runtime should use the default reprojection plane settings. This mode works better when the application knows the content is mostly placed on a plane, or when it cannot afford to submit depth information.
  • REPROJECTION_MODE_ORIENTATION_ONLY_MSFT indicates the layer should be stabilized only for changes to orientation, ignoring positional changes. This mode works better for body-locked content that should follow the user as they walk around, such as 360-degree video.

When the application passes REPROJECTION_MODE_DEPTH_MSFT or REPROJECTION_MODE_PLANAR_FROM_DEPTH_MSFT mode, it should also provide the depth buffer for the corresponding layer using XrCompositionLayerDepthInfoKHR in XR_KHR_composition_layer_depth extension. However, if the application does not submit this depth buffer, the runtime must apply a runtime defined fallback reprojection mode, and must not fail the EndFrame function because of this missing depth.

When the application passes REPROJECTION_MODE_PLANAR_MANUAL_MSFT or REPROJECTION_MODE_ORIENTATION_ONLY_MSFT mode, it should avoid providing a depth buffer for the corresponding layer using XrCompositionLayerDepthInfoKHR in XR_KHR_composition_layer_depth extension. However, if the application does submit this depth buffer, the runtime must not fail the EndFrame function because of this unused depth data.

See Also

XrCompositionLayerReprojectionInfoMSFT, EnumerateReprojectionModesMSFT

XR_TYPE_COMPOSITION_LAYER_REPROJECTION_INFO_MSFTback to summary
public static final int XR_TYPE_COMPOSITION_LAYER_REPROJECTION_INFO_MSFT

Extends XrStructureType.

Enum values:
XR_TYPE_COMPOSITION_LAYER_REPROJECTION_PLANE_OVERRIDE_MSFTback to summary
public static final int XR_TYPE_COMPOSITION_LAYER_REPROJECTION_PLANE_OVERRIDE_MSFT

Extends XrStructureType.

Enum values:

Constructor Detail

MSFTCompositionLayerReprojectionback to summary
protected MSFTCompositionLayerReprojection()

Method Detail

nxrEnumerateReprojectionModesMSFTback to summary
public static int nxrEnumerateReprojectionModesMSFT(XrInstance instance, long systemId, int viewConfigurationType, int modeCapacityInput, long modeCountOutput, long modes)

Unsafe version of: EnumerateReprojectionModesMSFT

Parameters
modeCapacityInput:int

the capacity of the array, or 0 to indicate a request to retrieve the required capacity.

xrEnumerateReprojectionModesMSFTback to summary
public static int xrEnumerateReprojectionModesMSFT(XrInstance instance, long systemId, int viewConfigurationType, IntBuffer modeCountOutput, IntBuffer modes)

Queries the supported reprojection modes.

C Specification

First, the application uses EnumerateReprojectionModesMSFT to inspect what reprojection mode the view configuration supports.

The EnumerateReprojectionModesMSFT function returns the supported reprojection modes of the view configuration.


XrResult xrEnumerateReprojectionModesMSFT(
    XrInstance                                  instance,
    XrSystemId                                  systemId,
    XrViewConfigurationType                     viewConfigurationType,
    uint32_t                                    modeCapacityInput,
    uint32_t*                                   modeCountOutput,
    XrReprojectionModeMSFT*                     modes);
Valid Usage (Implicit)
  • The XR_MSFT_composition_layer_reprojection extension must be enabled prior to calling EnumerateReprojectionModesMSFT
  • instance must be a valid XrInstance handle
  • viewConfigurationType must be a valid XrViewConfigurationType value
  • modeCountOutput must be a pointer to a uint32_t value
  • If modeCapacityInput is not 0, modes must be a pointer to an array of modeCapacityInput XrReprojectionModeMSFT values
Return Codes
On success, this command returns
On failure, this command returns

A system may support different sets of reprojection modes for different view configuration types.

Parameters
instance:XrInstance

the instance from which systemId was retrieved.

systemId:long

the XrSystemId whose reprojection modes will be enumerated.

viewConfigurationType:int

the XrViewConfigurationType to enumerate.

modeCountOutput:IntBuffer

a pointer to the count of the array, or a pointer to the required capacity in the case that modeCapacityInput is insufficient.

modes:IntBuffer

a pointer to an application-allocated array that will be filled with the XrReprojectionModeMSFT values that are supported by the runtime. It can be NULL if modeCapacityInput is 0.

Annotations
@NativeType:XrResult