Go to the source code of this file.
Data Structures | |
struct | varjo_SwapChainConfig2 |
Swap chain configuration structure. More... | |
struct | varjo_SwapChainViewport |
Swap chain image source rectangle. More... | |
struct | varjo_LayerHeader |
Layer header for different submission layer types. More... | |
struct | varjo_ViewExtension |
View Extension header. More... | |
struct | varjo_ViewExtensionDepth |
A varjo_LayerMultiProjView extension that allows submission of a depth surface alongside the color surface for a view. More... | |
struct | varjo_ViewExtensionDepthTestRange |
A varjo_LayerMultiProjView extension that defines range for which the depth test is enabled. More... | |
struct | varjo_ViewExtensionVelocity |
A varjo_LayerMultiProjView extension that allows submission of a pixel velocity surface alongside the color surface for a view. More... | |
struct | varjo_LayerMultiProjView |
A single view in a Multi-projection layer. More... | |
struct | varjo_LayerMultiProj |
Layer type describing a set of planar projected images rendered from the perspective of each eye. More... | |
struct | varjo_SubmitInfoLayers |
A structure describing the list of layers that the application submits to the compositor each frame. More... | |
Typedefs | |
typedef int64_t | varjo_LayerType |
typedef int64_t | varjo_LayerFlags |
typedef int64_t | varjo_Space |
typedef int64_t | varjo_ViewExtensionType |
Variables | |
static const varjo_LayerType | varjo_LayerMultiProjType = 0x1 |
Layer type enum corresponding to varjo_LayerMultiProj. More... | |
static const varjo_LayerFlags | varjo_LayerFlagNone = 0x0 |
Default layer rendering. More... | |
static const varjo_LayerFlags | varjo_LayerFlag_BlendMode_AlphaBlend = 0x2 |
Set blend mode to be alpha blend. More... | |
static const varjo_LayerFlags | varjo_LayerFlag_DepthTesting = 0x4 |
Set depth testing to enabled. More... | |
static const varjo_LayerFlags | varjo_LayerFlag_InvertAlpha = 0x8 |
Invert alpha channel before blending. More... | |
static const varjo_LayerFlags | varjo_LayerFlag_UsingOcclusionMesh = 0x10 |
Signal that occlusion mesh is in use. More... | |
static const varjo_LayerFlags | varjo_LayerFlag_ChromaKeyMasking = 0x20 |
Layer is masked by video see through chroma key if flag is given. More... | |
static const varjo_LayerFlags | varjo_LayerFlag_Foveated = 0x40 |
Indicate to compositor that layer was rendered with foveation. More... | |
static const varjo_Space | varjo_SpaceLocal = 0x0 |
The local space, world-locked origin. More... | |
static const varjo_Space | varjo_SpaceView = 0x1 |
Reference space relative to the user's head. More... | |
static const varjo_ViewExtensionType | varjo_ViewExtensionDepthType = 0x1 |
static const varjo_ViewExtensionType | varjo_ViewExtensionDepthTestRangeType = 0x2 |
static const varjo_ViewExtensionType | varjo_ViewExtensionVelocityType = 0x3 |
struct varjo_SwapChainConfig2 |
Swap chain configuration structure.
Data Fields | ||
---|---|---|
int32_t | numberOfTextures | Number of textures in the swap chain. |
int32_t | textureArraySize | Texture array size, or 1 if creating a plain 2D texture swap chain. |
varjo_TextureFormat | textureFormat | Texture format of the swap chain images. |
int32_t | textureHeight | Texture height in pixels. |
int32_t | textureWidth | Texture width in pixels. |
struct varjo_SwapChainViewport |
Swap chain image source rectangle.
struct varjo_LayerHeader |
Layer header for different submission layer types.
Data Fields | ||
---|---|---|
varjo_LayerFlags | flags |
Flags for this layer. See varjo_LayerFlags. |
varjo_LayerType | type | The actual type of the layer; currently, the only supported type is varjo_LayerMultiProjType. |
struct varjo_ViewExtension |
View Extension header.
Data Fields | ||
---|---|---|
struct varjo_ViewExtension * | next | Optional pointer to the next extension; allows chaining multiple extensions into a single view. |
varjo_ViewExtensionType | type | View extension type. |
struct varjo_ViewExtensionDepth |
A varjo_LayerMultiProjView extension that allows submission of a depth surface alongside the color surface for a view.
Data Fields | ||
---|---|---|
double | farZ |
Positive distance in meters. To indicate depth values reversed, can be smaller than nearZ. |
struct varjo_ViewExtension | header | Extension header, with type = varjo_ViewExtensionDepthType. |
double | maxDepth | Largest depth value allowed in the depth surface, typically 1.0. |
double | minDepth | Smallest depth value allowed in the depth surface, typically 0.0. |
double | nearZ |
Positive distance in meters. To indicate depth values reversed, can be greater than farZ. |
struct varjo_SwapChainViewport | viewport | Image source for the depth surface. |
struct varjo_ViewExtensionDepthTestRange |
A varjo_LayerMultiProjView extension that defines range for which the depth test is enabled.
Outside the given range the layer is alpha-blended in the layer order. This extension is only meaningful when used with varjo_ViewExtensionDepth.
Data Fields | ||
---|---|---|
double | farZ | Positive distance in meters. |
struct varjo_ViewExtension | header | Extension header, with type = varjo_ViewExtensionDepthTestRangeType. |
double | nearZ | Positive distance in meters. |
struct varjo_ViewExtensionVelocity |
A varjo_LayerMultiProjView extension that allows submission of a pixel velocity surface alongside the color surface for a view.
Data Fields | ||
---|---|---|
struct varjo_ViewExtension | header | Extension header, with type = varjo_ViewExtensionVelocityType. |
varjo_Bool | includesHMDMotion | Flag to indicate if motion vectors include also the HMD motion or not. |
double | velocityScale | Scale multiplier for all velocity vectors in the surface, so that after the scaling, the velocities are in pixels per second. |
struct varjo_SwapChainViewport | viewport | Image source for the velocity surface. |
struct varjo_LayerMultiProjView |
A single view in a Multi-projection layer.
Data Fields | ||
---|---|---|
struct varjo_ViewExtension * | extension | An optional extension structure, or nullptr if none. |
struct varjo_Matrix | projection | The projection matrix this view was rendered with. |
struct varjo_Matrix | view | The view matrix this view was rendered with. |
struct varjo_SwapChainViewport | viewport |
Image source for this view. See varjo_SwapChainViewport for more info. |
struct varjo_LayerMultiProj |
Layer type describing a set of planar projected images rendered from the perspective of each eye.
Data Fields | ||
---|---|---|
struct varjo_LayerHeader | header | The layer header. |
varjo_Space | space |
The reference space for this layer. See varjo_Space for valid options. |
int32_t | viewCount | The amount of entries in the views array. |
struct varjo_LayerMultiProjView * | views |
Array of views to be rendered. See varjo_LayerMultiProjView for more information. |
struct varjo_SubmitInfoLayers |
A structure describing the list of layers that the application submits to the compositor each frame.
Data Fields | ||
---|---|---|
int64_t | frameNumber |
The frame number of the frame being submitted. This should match the frame number returned in varjo_FrameInfo when calling varjo_WaitSync. |
int32_t | layerCount | The number of elements in the layers array below. |
struct varjo_LayerHeader ** | layers |
Array of pointers to layer structures, one for each layer. Note that the elements in this array are not really of varjo_LayerHeader, but rather structures such as varjo_LayerMultiProj that contain varjo_LayerHeader as a first element. varjo_LayerHeader.type is used to detect the actual structure type. Currently the only supported layer type is varjo_LayerMultiProjType, that corresponds to varjo_LayerMultiProj structure. When submitting multiple layers, the layers are rendered back-to-front in the order they're provided in this array. |
int64_t | reserved |
typedef int64_t varjo_LayerFlags |
typedef int64_t varjo_LayerType |
typedef int64_t varjo_Space |
typedef int64_t varjo_ViewExtensionType |
|
static |
Set blend mode to be alpha blend.
|
static |
Layer is masked by video see through chroma key if flag is given.
|
static |
Set depth testing to enabled.
|
static |
Indicate to compositor that layer was rendered with foveation.
|
static |
Invert alpha channel before blending.
|
static |
Signal that occlusion mesh is in use.
|
static |
Default layer rendering.
|
static |
Layer type enum corresponding to varjo_LayerMultiProj.
|
static |
The local space, world-locked origin.
|
static |
Reference space relative to the user's head.
This space can be used to render face-locked layers.
|
static |
|
static |
|
static |