XR_VARJO_foveated_rendering extension must be enabled prior to using XrFoveatedViewConfigurationViewVARJOtype must be TYPE_FOVEATED_VIEW_CONFIGURATION_VIEW_VARJOnext must be NULL or a valid pointer to the next structure in a structure chainFor example:
XrInstance instance; // previously populated
XrSystemId systemId; // previously populated
XrViewConfigurationType viewConfigType; // Select XR_VIEW_CONFIGURATION_TYPE_PRIMARY_QUAD_VARJO
XrSystemFoveatedRenderingPropertiesVARJO foveatedRenderingProperties{XR_TYPE_SYSTEM_FOVEATED_RENDERING_PROPERTIES_VARJO};
XrSystemProperties systemProperties{XR_TYPE_SYSTEM_PROPERTIES, &foveatedRenderingProperties};
CHK_XR(xrGetSystemProperties(instance, systemId, &systemProperties));
uint32_t viewCount;
CHK_XR(xrEnumerateViewConfigurationViews(instance, systemId, viewConfigType, 0, &viewCount, nullptr));
// Non-foveated rendering views dimensions
std::vector<XrViewConfigurationView> configViews(viewCount, {XR_TYPE_VIEW_CONFIGURATION_VIEW});
CHK_XR(xrEnumerateViewConfigurationViews(instance, systemId, viewConfigType, viewCount, &viewCount, configViews.data()));
// Foveated rendering views dimensions
std::vector<XrViewConfigurationView> foveatedViews;
if (foveatedRenderingProperties.supportsFoveatedRendering && viewConfigType == XR_VIEW_CONFIGURATION_TYPE_PRIMARY_QUAD_VARJO) {
std::vector<XrFoveatedViewConfigurationViewVARJO> requestFoveatedConfig{4, {XR_TYPE_FOVEATED_VIEW_CONFIGURATION_VIEW_VARJO, nullptr, XR_TRUE}};
foveatedViews = std::vector<XrViewConfigurationView>{4, {XR_TYPE_VIEW_CONFIGURATION_VIEW}};
for (size_t i = 0; i < 4; i++) {
foveatedViews[i].next = &requestFoveatedConfig[i];
}
CHK_XR(xrEnumerateViewConfigurationViews(instance, systemId, viewConfigType, viewCount, &viewCount, foveatedViews.data()));
}
Applications using this extension are encouraged to create two sets of swapchains or one big enough set of swapchains and two sets of viewports. One set will be used when rendering gaze is not available and other one will be used when foveated rendering and rendering gaze is available. Using foveated textures may not provide optimal visual quality when rendering gaze is not available.
struct XrFoveatedViewConfigurationViewVARJO {
XrStructureType type;
void * next;
XrBool32 foveatedRenderingActive;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | XrFoveatedViewConfigurationViewVARJO.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | FOVEATEDRENDERINGACTIVE
The struct member offsets. |
| public static final int | NEXT
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | TYPE
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | XrFoveatedViewConfigurationViewVARJO(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public static XrFoveatedViewConfigurationViewVARJO | |
| public static XrFoveatedViewConfigurationViewVARJO. | calloc(int
the buffer capacity capacity)Returns a new |
| public static XrFoveatedViewConfigurationViewVARJO | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static XrFoveatedViewConfigurationViewVARJO. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| protected XrFoveatedViewConfigurationViewVARJO | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static XrFoveatedViewConfigurationViewVARJO | |
| public static XrFoveatedViewConfigurationViewVARJO | create(long address)
Returns a new |
| public static XrFoveatedViewConfigurationViewVARJO. | create(int
the buffer capacity capacity)Returns a new |
| public static XrFoveatedViewConfigurationViewVARJO. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static XrFoveatedViewConfigurationViewVARJO | |
| public static XrFoveatedViewConfigurationViewVARJO. | |
| public boolean | foveatedRenderingActive()
an |
| public XrFoveatedViewConfigurationViewVARJO | foveatedRenderingActive(boolean value)
Sets the specified value to the |
| public static XrFoveatedViewConfigurationViewVARJO | |
| public static XrFoveatedViewConfigurationViewVARJO. | malloc(int
the buffer capacity capacity)Returns a new |
| public static XrFoveatedViewConfigurationViewVARJO | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static XrFoveatedViewConfigurationViewVARJO. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public long | |
| public XrFoveatedViewConfigurationViewVARJO | |
| public static int | |
| public static void | |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public XrFoveatedViewConfigurationViewVARJO | set(int type, long next, boolean foveatedRenderingActive)
Initializes this struct with the specified values. |
| public XrFoveatedViewConfigurationViewVARJO | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public int | |
| public XrFoveatedViewConfigurationViewVARJO | |
| public XrFoveatedViewConfigurationViewVARJO |
| ALIGNOF | back to summary |
|---|---|
| public static final int ALIGNOF The struct alignment in bytes. | |
| FOVEATEDRENDERINGACTIVE | back to summary |
|---|---|
| public static final int FOVEATEDRENDERINGACTIVE The struct member offsets. | |
| NEXT | back to summary |
|---|---|
| public static final int NEXT The struct member offsets. | |
| SIZEOF | back to summary |
|---|---|
| public static final int SIZEOF The struct size in bytes. | |
| TYPE | back to summary |
|---|---|
| public static final int TYPE The struct member offsets. | |
| XrFoveatedViewConfigurationViewVARJO | back to summary |
|---|---|
| protected XrFoveatedViewConfigurationViewVARJO(long address, ByteBuffer container) | |
| XrFoveatedViewConfigurationViewVARJO | back to summary |
|---|---|
| public XrFoveatedViewConfigurationViewVARJO(ByteBuffer container) Creates a The created instance holds a strong reference to the container object. | |
| calloc | back to summary |
|---|---|
| public static XrFoveatedViewConfigurationViewVARJO calloc() Returns a new | |
| calloc | back to summary |
|---|---|
| public static XrFoveatedViewConfigurationViewVARJO. Returns a new
| |
| calloc | back to summary |
|---|---|
| public static XrFoveatedViewConfigurationViewVARJO calloc(MemoryStack stack) Returns a new
| |
| calloc | back to summary |
|---|---|
| public static XrFoveatedViewConfigurationViewVARJO. Returns a new
| |
| create | back to summary |
|---|---|
| protected XrFoveatedViewConfigurationViewVARJO create(long address, ByteBuffer container) Implements abstract org. Doc from org. Similar to Effectively, every
| |
| create | back to summary |
|---|---|
| public static XrFoveatedViewConfigurationViewVARJO create() Returns a new | |
| create | back to summary |
|---|---|
| public static XrFoveatedViewConfigurationViewVARJO create(long address) Returns a new | |
| create | back to summary |
|---|---|
| public static XrFoveatedViewConfigurationViewVARJO. Returns a new
| |
| create | back to summary |
|---|---|
| public static XrFoveatedViewConfigurationViewVARJO. Create a
| |
| createSafe | back to summary |
|---|---|
| public static XrFoveatedViewConfigurationViewVARJO createSafe(long address) Like
| |
| createSafe | back to summary |
|---|---|
| public static XrFoveatedViewConfigurationViewVARJO. Like
| |
| foveatedRenderingActive | back to summary |
|---|---|
| public boolean foveatedRenderingActive() an
| |
| foveatedRenderingActive | back to summary |
|---|---|
| public XrFoveatedViewConfigurationViewVARJO foveatedRenderingActive(boolean value) Sets the specified value to the | |
| malloc | back to summary |
|---|---|
| public static XrFoveatedViewConfigurationViewVARJO malloc() Returns a new | |
| malloc | back to summary |
|---|---|
| public static XrFoveatedViewConfigurationViewVARJO. Returns a new
| |
| malloc | back to summary |
|---|---|
| public static XrFoveatedViewConfigurationViewVARJO malloc(MemoryStack stack) Returns a new
| |
| malloc | back to summary |
|---|---|
| public static XrFoveatedViewConfigurationViewVARJO. Returns a new
| |
| next | back to summary |
|---|---|
| public long next()
| |
| next | back to summary |
|---|---|
| public XrFoveatedViewConfigurationViewVARJO next(long value) Sets the specified value to the | |
| nfoveatedRenderingActive | back to summary |
|---|---|
| public static int nfoveatedRenderingActive(long struct) Unsafe version of | |
| nfoveatedRenderingActive | back to summary |
|---|---|
| public static void nfoveatedRenderingActive(long struct, int value) Unsafe version of | |
| nnext | back to summary |
|---|---|
| public static long nnext(long struct) Unsafe version of | |
| nnext | back to summary |
|---|---|
| public static void nnext(long struct, long value) Unsafe version of | |
| ntype | back to summary |
|---|---|
| public static int ntype(long struct) Unsafe version of | |
| ntype | back to summary |
|---|---|
| public static void ntype(long struct, int value) Unsafe version of | |
| set | back to summary |
|---|---|
| public XrFoveatedViewConfigurationViewVARJO set(int type, long next, boolean foveatedRenderingActive) Initializes this struct with the specified values. | |
| set | back to summary |
|---|---|
| public XrFoveatedViewConfigurationViewVARJO set(XrFoveatedViewConfigurationViewVARJO src) Copies the specified struct data to this struct.
| |
| sizeof | back to summary |
|---|---|
| public int sizeof() Implements abstract org. Doc from org. Returns
| |
| type | back to summary |
|---|---|
| public int type() the
| |
| type | back to summary |
|---|---|
| public XrFoveatedViewConfigurationViewVARJO type(int value) Sets the specified value to the | |
| type$Default | back to summary |
|---|---|
| public XrFoveatedViewConfigurationViewVARJO type$Default() Sets the | |
XrFoveatedViewConfigurationViewVARJO structs.
| Modifier and Type | Field and Description |
|---|---|
| private static final XrFoveatedViewConfigurationViewVARJO |
| Access | Constructor and Description |
|---|---|
| public | Buffer(ByteBuffer container)
Creates a new |
| public | |
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| public boolean | Returns: the value of theXrFoveatedViewConfigurationViewVARJO#foveatedRenderingActive field.
|
| public XrFoveatedViewConfigurationViewVARJO. | foveatedRenderingActive(boolean value)
Sets the specified value to the |
| protected XrFoveatedViewConfigurationViewVARJO | |
| public long | |
| public XrFoveatedViewConfigurationViewVARJO. | |
| protected XrFoveatedViewConfigurationViewVARJO. | |
| public int | |
| public XrFoveatedViewConfigurationViewVARJO. | |
| public XrFoveatedViewConfigurationViewVARJO. | type$Default()
Sets the |
| ELEMENT_FACTORY | back to summary |
|---|---|
| private static final XrFoveatedViewConfigurationViewVARJO ELEMENT_FACTORY | |
| Buffer | back to summary |
|---|---|
| public Buffer(ByteBuffer container) Creates a new Changes to the container's content will be visible to the struct buffer instance and vice versa. The two buffers' position, limit, and mark values
will be independent. The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided
by The created buffer instance holds a strong reference to the container object. | |
| Buffer | back to summary |
|---|---|
| public Buffer(long address, int cap) | |
| Buffer | back to summary |
|---|---|
| pack-priv Buffer(long address, ByteBuffer container, int mark, int pos, int lim, int cap) | |
| foveatedRenderingActive | back to summary |
|---|---|
public boolean foveatedRenderingActive()
| |
| foveatedRenderingActive | back to summary |
|---|---|
| public XrFoveatedViewConfigurationViewVARJO. Sets the specified value to the | |
| getElementFactory | back to summary |
|---|---|
| protected XrFoveatedViewConfigurationViewVARJO getElementFactory() Implements abstract org.
| |
| next | back to summary |
|---|---|
public long next()
| |
| next | back to summary |
|---|---|
| public XrFoveatedViewConfigurationViewVARJO. Sets the specified value to the | |
| self | back to summary |
|---|---|
| protected XrFoveatedViewConfigurationViewVARJO. Implements abstract org.
| |
| type | back to summary |
|---|---|
public int type()
| |
| type | back to summary |
|---|---|
| public XrFoveatedViewConfigurationViewVARJO. Sets the specified value to the | |
| type$Default | back to summary |
|---|---|
| public XrFoveatedViewConfigurationViewVARJO. Sets the | |