Top Description Fields Constructors Methods
org.lwjgl.openxr

public Class FBFoveation

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

The XR_FB_foveation extension.

Foveation in the context of XR is a rendering technique that allows the area of an image near the focal point or fovea of the eye to be displayed at higher resolution than areas in the periphery. This trades some visual fidelity in the periphery, where it is less noticeable for the user, for improved rendering performance, most notably regarding the fragment shader, as fewer pixels or subpixels in the periphery need to be shaded and processed. On platforms which support foveation patterns and features tailored towards the optical properties, performance profiles, and hardware support of specific HMDs, application developers may request and use available foveation profiles from the runtime. Foveation profiles refer to a set of properties describing how, when, and where foveation will be applied.

This extension allows:

In order to enable the functionality of this extension, you must pass the name of the extension into CreateInstance via the XrInstanceCreateInfo enabledExtensionNames parameter as indicated in the extensions section.

Field Summary

Modifier and TypeField and Description
public static final String
XR_FB_FOVEATION_EXTENSION_NAME

The extension name.

public static final int
XR_FB_foveation_SPEC_VERSION

The extension specification version.

public static final int
public static final int
XR_SWAPCHAIN_CREATE_FOVEATION_FRAGMENT_DENSITY_MAP_BIT_FB

XrSwapchainCreateFoveationFlagBitsFB - XrSwapchainCreateFoveationFlagBitsFB Flag Descriptions

  • SWAPCHAIN_CREATE_FOVEATION_SCALED_BIN_BIT_FB — Explicitly create the swapchain with scaled bin foveation support. The application must ensure that the swapchain is using the OpenGL graphics API and that the QCOM_texture_foveated extension is supported and enabled.
  • SWAPCHAIN_CREATE_FOVEATION_FRAGMENT_DENSITY_MAP_BIT_FB — Explicitly create the swapchain with fragment density map foveation support. The application must ensure that the swapchain is using the Vulkan graphics API and that the VK_EXT_fragment_density_map extension is supported and enabled.
public static final int
XR_SWAPCHAIN_CREATE_FOVEATION_SCALED_BIN_BIT_FB

XrSwapchainCreateFoveationFlagBitsFB - XrSwapchainCreateFoveationFlagBitsFB Flag Descriptions

  • SWAPCHAIN_CREATE_FOVEATION_SCALED_BIN_BIT_FB — Explicitly create the swapchain with scaled bin foveation support. The application must ensure that the swapchain is using the OpenGL graphics API and that the QCOM_texture_foveated extension is supported and enabled.
  • SWAPCHAIN_CREATE_FOVEATION_FRAGMENT_DENSITY_MAP_BIT_FB — Explicitly create the swapchain with fragment density map foveation support. The application must ensure that the swapchain is using the Vulkan graphics API and that the VK_EXT_fragment_density_map extension is supported and enabled.
public static final int
public static final int
public static final int
XR_TYPE_SWAPCHAIN_STATE_FOVEATION_FB

Extends XrStructureType.

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static int
nxrCreateFoveationProfileFB(XrSession session, long createInfo, long profile)

Unsafe version of: CreateFoveationProfileFB

public static int
xrCreateFoveationProfileFB(XrSession
the XrSession that created the swapchains to which this foveation profile will be applied.
session
,
XrFoveationProfileCreateInfoFB
a pointer to an XrFoveationProfileCreateInfoFB structure containing parameters to be used to create the foveation profile.
createInfo
,
PointerBuffer
a pointer to a handle in which the created XrFoveationProfileFB is returned.
profile
)

Create a foveation profile.

public static int
xrDestroyFoveationProfileFB(XrFoveationProfileFB
the XrFoveationProfileFB to destroy.
profile
)

Destroy a foveation profile.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

XR_FB_FOVEATION_EXTENSION_NAMEback to summary
public static final String XR_FB_FOVEATION_EXTENSION_NAME

The extension name.

XR_FB_foveation_SPEC_VERSIONback to summary
public static final int XR_FB_foveation_SPEC_VERSION

The extension specification version.

XR_OBJECT_TYPE_FOVEATION_PROFILE_FBback to summary
public static final int XR_OBJECT_TYPE_FOVEATION_PROFILE_FB

Extends XrObjectType.

XR_SWAPCHAIN_CREATE_FOVEATION_FRAGMENT_DENSITY_MAP_BIT_FBback to summary
public static final int XR_SWAPCHAIN_CREATE_FOVEATION_FRAGMENT_DENSITY_MAP_BIT_FB

XrSwapchainCreateFoveationFlagBitsFB - XrSwapchainCreateFoveationFlagBitsFB

Flag Descriptions
  • SWAPCHAIN_CREATE_FOVEATION_SCALED_BIN_BIT_FB — Explicitly create the swapchain with scaled bin foveation support. The application must ensure that the swapchain is using the OpenGL graphics API and that the QCOM_texture_foveated extension is supported and enabled.
  • SWAPCHAIN_CREATE_FOVEATION_FRAGMENT_DENSITY_MAP_BIT_FB — Explicitly create the swapchain with fragment density map foveation support. The application must ensure that the swapchain is using the Vulkan graphics API and that the VK_EXT_fragment_density_map extension is supported and enabled.
XR_SWAPCHAIN_CREATE_FOVEATION_SCALED_BIN_BIT_FBback to summary
public static final int XR_SWAPCHAIN_CREATE_FOVEATION_SCALED_BIN_BIT_FB

XrSwapchainCreateFoveationFlagBitsFB - XrSwapchainCreateFoveationFlagBitsFB

Flag Descriptions
  • SWAPCHAIN_CREATE_FOVEATION_SCALED_BIN_BIT_FB — Explicitly create the swapchain with scaled bin foveation support. The application must ensure that the swapchain is using the OpenGL graphics API and that the QCOM_texture_foveated extension is supported and enabled.
  • SWAPCHAIN_CREATE_FOVEATION_FRAGMENT_DENSITY_MAP_BIT_FB — Explicitly create the swapchain with fragment density map foveation support. The application must ensure that the swapchain is using the Vulkan graphics API and that the VK_EXT_fragment_density_map extension is supported and enabled.
XR_TYPE_FOVEATION_PROFILE_CREATE_INFO_FBback to summary
public static final int XR_TYPE_FOVEATION_PROFILE_CREATE_INFO_FB

Extends XrStructureType.

Enum values:
XR_TYPE_SWAPCHAIN_CREATE_INFO_FOVEATION_FBback to summary
public static final int XR_TYPE_SWAPCHAIN_CREATE_INFO_FOVEATION_FB

Extends XrStructureType.

Enum values:
XR_TYPE_SWAPCHAIN_STATE_FOVEATION_FBback to summary
public static final int XR_TYPE_SWAPCHAIN_STATE_FOVEATION_FB

Extends XrStructureType.

Enum values:

Constructor Detail

FBFoveationback to summary
protected FBFoveation()

Method Detail

nxrCreateFoveationProfileFBback to summary
public static int nxrCreateFoveationProfileFB(XrSession session, long createInfo, long profile)

Unsafe version of: CreateFoveationProfileFB

xrCreateFoveationProfileFBback to summary
public static int xrCreateFoveationProfileFB(XrSession session, XrFoveationProfileCreateInfoFB createInfo, PointerBuffer profile)

Create a foveation profile.

C Specification

The CreateFoveationProfileFB function is defined as:


XrResult xrCreateFoveationProfileFB(
    XrSession                                   session,
    const XrFoveationProfileCreateInfoFB*       createInfo,
    XrFoveationProfileFB*                       profile);
Description

Creates an XrFoveationProfileFB handle. The returned foveation profile handle may be subsequently used in API calls.

Valid Usage (Implicit)
Return Codes
On success, this command returns
On failure, this command returns
See Also

XrFoveationProfileCreateInfoFB

Parameters
session:XrSession

the XrSession that created the swapchains to which this foveation profile will be applied.

createInfo:XrFoveationProfileCreateInfoFB

a pointer to an XrFoveationProfileCreateInfoFB structure containing parameters to be used to create the foveation profile.

profile:PointerBuffer

a pointer to a handle in which the created XrFoveationProfileFB is returned.

Annotations
@NativeType:XrResult
xrDestroyFoveationProfileFBback to summary
public static int xrDestroyFoveationProfileFB(XrFoveationProfileFB profile)

Destroy a foveation profile.

C Specification

The DestroyFoveationProfileFB function is defined as:


XrResult xrDestroyFoveationProfileFB(
    XrFoveationProfileFB                        profile);
Description

XrFoveationProfileFB handles are destroyed using DestroyFoveationProfileFB. A XrFoveationProfileFB may be safely destroyed after being applied to a swapchain state using UpdateSwapchainFB without affecting the foveation parameters of the swapchain. The application is responsible for ensuring that it has no calls using profile in progress when the foveation profile is destroyed.

Valid Usage (Implicit)
Thread Safety
  • Access to profile, and any child handles, must be externally synchronized
Return Codes
On success, this command returns
On failure, this command returns
Parameters
profile:XrFoveationProfileFB

the XrFoveationProfileFB to destroy.

Annotations
@NativeType:XrResult