Go to the source code of this file.
Data Structures | |
| struct | varjo_TextureConfig |
| struct | varjo_ShaderParams_VideoPostProcess |
| Post process shader info structure defining shader properties and inputs for video post process shader. More... | |
| union | varjo_ShaderParams |
| Wrapper for different types of shader parameters. More... | |
| struct | varjo_ShaderConfig |
| Shader configuration structure. More... | |
| struct | varjo_GLTextureFormat |
| struct | varjo_ReconstructionConfig |
| Environment 3D reconstruction configuration parameters. More... | |
| struct | varjo_PointCloudPoint |
| Data point which belongs to the 3D reconstruction. More... | |
| struct | varjo_PointCloudSnapshotContent |
| Point cloud snapshot content. More... | |
| struct | varjo_PointCloudDeltaContent |
| Point cloud delta content. More... | |
| struct | varjo_VertexFormat |
| Mesh vertex attribute formats. More... | |
| struct | varjo_MeshReconstructionConfig |
| Environment 3D reconstruction mesh configuration parameters. More... | |
| struct | varjo_MeshChunkDescription |
| Environment 3D reconstruction mesh chunk description. More... | |
| union | varjo_MeshVertexPositionArray |
| Supported attribute formats for mesh vertex colors. More... | |
| union | varjo_MeshVertexColorArray |
| Supported attribute formats for mesh vertex normals. More... | |
| union | varjo_MeshVertexNormalArray |
| Supported attribute formats for mesh vertex normals. More... | |
| struct | varjo_MeshChunkContent |
| Contents of a 3D reconstruction chunks. More... | |
Typedefs | |
| typedef int64_t | varjo_VideoDepthTestMode |
| Video depth test mode constants. More... | |
| typedef int64_t | varjo_VideoDepthTestBehavior |
| Video depth test behavior constants. More... | |
| typedef int64_t | varjo_ShaderType |
| Post process shader type constants. More... | |
| typedef int64_t | varjo_ShaderFormat |
| Post process shader format constants. More... | |
| typedef int64_t | varjo_ShaderInputLayout |
| Post process shader input layout versioning for shader types. More... | |
| typedef int64_t | varjo_ShaderFlags_VideoPostProcess |
| Post process shader input flags. More... | |
| typedef uint32_t | varjo_DXGITextureFormat |
| typedef int32_t | varjo_ChunkContentsBufferId |
| 3D reconstruction constants. More... | |
| typedef int64_t | varjo_PointCloudSnapshotId |
| Point cloud snapshot id. More... | |
| typedef int64_t | varjo_PointCloudSnapshotStatus |
| Point cloud snapshot computation status. More... | |
| typedef int64_t | varjo_MeshChunkContentsBufferId |
| 3D reconstruction mesh constants. More... | |
| typedef int64_t | varjo_VertexAttribute |
| struct varjo_TextureConfig |
| Data Fields | ||
|---|---|---|
| varjo_TextureFormat | format | |
| uint64_t | height | |
| uint64_t | width | |
| struct varjo_ShaderParams_VideoPostProcess |
Post process shader info structure defining shader properties and inputs for video post process shader.
| Data Fields | ||
|---|---|---|
| int64_t | computeBlockSize | Compute shader block size. Valid values: 8 or 16. |
| int64_t | constantBufferSize | Constant buffer size in bytes. Must be divisible by 16. |
| varjo_ShaderFlags_VideoPostProcess | inputFlags | Shader input flags. |
| int64_t | samplingMargin | Amount of lines left as margin for sampling kernel. Valid values [0, 64]. |
| struct varjo_TextureConfig | textures[16] | Input texture configurations. |
| union varjo_ShaderParams |
Wrapper for different types of shader parameters.
| Data Fields | ||
|---|---|---|
| int64_t | reserved[128] | Reserved for future use. |
| struct varjo_ShaderParams_VideoPostProcess | videoPostProcess | Parameters for varjo_ShaderType_VideoPostProcess. |
| struct varjo_ShaderConfig |
Shader configuration structure.
| Data Fields | ||
|---|---|---|
| varjo_ShaderFormat | format | Shader format. |
| varjo_ShaderInputLayout | inputLayout | Shader input layout version. |
| union varjo_ShaderParams | params | Shader parameters. |
| struct varjo_GLTextureFormat |
| struct varjo_ReconstructionConfig |
| struct varjo_PointCloudPoint |
Data point which belongs to the 3D reconstruction.
Contains the following fields in a packed format:
Index: globally unique identifier for the point. Confidence: Integer confidence value for the point. Points with confidence of 0 are to be considered removed. Normal: Unit normal in world coordinates. Color: RGB color of the point. Position: position relative to the HMD tracking origin in meters. Radius: Radius of the point in meters.
| struct varjo_PointCloudSnapshotContent |
Point cloud snapshot content.
Contains state of the point cloud at one moment in time.
| Data Fields | ||
|---|---|---|
| int32_t | pointCount | Number of points in the array. |
| struct varjo_PointCloudPoint * | points | Array of points. |
| int32_t | sequenceNumber | Sequence number measured in reconstruction iterations. |
| varjo_Nanoseconds | timestamp | Snapshot timestamp matching the latest VST frame used for updating the data. |
| struct varjo_PointCloudDeltaContent |
Point cloud delta content.
Contains changes in point cloud which have occurred after previous snapshot or delta.
| Data Fields | ||
|---|---|---|
| int32_t | changedPointCount | Number of points in changedPoints array. |
| struct varjo_PointCloudPoint * | changedPoints | Array of points which have been updated. |
| int32_t | maxSurfelIndex | Maximum value of index field in any of the points. |
| int32_t | removedPointCount | Number of removed points in removedPointIds array. |
| int32_t * | removedPointIds | Array of point ids which have been removed. |
| int32_t | sequenceNumber | Sequence number measured in reconstruction iterations. |
| varjo_Nanoseconds | timestamp | Delta timestamp matching the latest VST frame used for updating the data. |
| struct varjo_VertexFormat |
Mesh vertex attribute formats.
| Data Fields | ||
|---|---|---|
| varjo_VertexAttribute | color | |
| varjo_VertexAttribute | normal | |
| varjo_VertexAttribute | position | |
| int64_t | reserved[13] | |
| struct varjo_MeshReconstructionConfig |
Environment 3D reconstruction mesh configuration parameters.
| Data Fields | ||
|---|---|---|
| uint32_t | chunksPerMeter | Chunk resolution of x chunks per meter means each cubic meter is divided into x^3 chunks. |
| uint32_t | maxChunks | Maximum number of non-empty chunks that may exist simultaneously. |
| uint32_t | maxTrianglesPerChunk | Maximum number of triangles a mesh chunk may contain. |
| uint32_t | maxVerticesPerChunk | Maximum number of vertices a mesh chunk may contain. |
| uint32_t | reserved[13] | |
| struct varjo_VertexFormat | vertexFormat | Mesh vertex attribute formats. |
| struct varjo_MeshChunkDescription |
Environment 3D reconstruction mesh chunk description.
The 3D reconstruction is subdivided into a grid of chunks. The resolution of the grid may be retrieved with varjo_MRGetMeshReconstructionConfig. Chunk contents may be accessed using varjo_MRLockMeshChunkContentsBuffer.
| Data Fields | ||
|---|---|---|
| struct varjo_Vector3Di | position | Chunk position inside an integer grid. Real-world resolution defined by varjo_MeshReconstructionConfig. |
| uint32_t | reserved[34] | |
| uint32_t | triangleCount | Number of triangles in the mesh chunk. |
| varjo_Nanoseconds | updateTimestamp | Timestamp the chunk last changed. |
| uint32_t | vertexCount | Number of vertices in the mesh chunk. |
| union varjo_MeshVertexPositionArray |
Supported attribute formats for mesh vertex colors.
| Data Fields | ||
|---|---|---|
| struct varjo_Vector3Df * | positions32f | |
| union varjo_MeshVertexColorArray |
Supported attribute formats for mesh vertex normals.
| Data Fields | ||
|---|---|---|
| struct varjo_Vector3Df * | colors32f | |
| union varjo_MeshVertexNormalArray |
Supported attribute formats for mesh vertex normals.
| Data Fields | ||
|---|---|---|
| struct varjo_Vector3Df * | normals32f | |
| struct varjo_MeshChunkContent |
Contents of a 3D reconstruction chunks.
| Data Fields | ||
|---|---|---|
| struct varjo_MeshChunkDescription | description |
Same description which can be fetched with varjo_getChunkDescriptions. Duplicated here, since the reconstruction would run in an independent thread and the chunk could therefore change between fetching the description and contents. |
| uint32_t | reserved[18] | |
| uint32_t * | triangleIndices | The i:th triangle is formed by vertices with indices triangleIndices[i*3], triangleIndices[i*3+1], triangleIndices[i*3+2]. |
| union varjo_MeshVertexColorArray | vertexColors | Vertex RGB color. See varjo_MeshReconstructionConfig for the format. |
| union varjo_MeshVertexNormalArray | vertexNormals | Vertex normal vectors. See varjo_MeshReconstructionConfig for the format. |
| union varjo_MeshVertexPositionArray | vertexPositions | Vertex positions in global coordinates. See varjo_MeshReconstructionConfig for the format. |
| typedef int32_t varjo_ChunkContentsBufferId |
3D reconstruction constants.
| typedef uint32_t varjo_DXGITextureFormat |
| typedef int64_t varjo_MeshChunkContentsBufferId |
3D reconstruction mesh constants.
| typedef int64_t varjo_PointCloudSnapshotId |
Point cloud snapshot id.
| typedef int64_t varjo_PointCloudSnapshotStatus |
Point cloud snapshot computation status.
| typedef int64_t varjo_ShaderFlags_VideoPostProcess |
Post process shader input flags.
| typedef int64_t varjo_ShaderFormat |
Post process shader format constants.
| typedef int64_t varjo_ShaderInputLayout |
Post process shader input layout versioning for shader types.
| typedef int64_t varjo_ShaderType |
Post process shader type constants.
| typedef int64_t varjo_VertexAttribute |
| typedef int64_t varjo_VideoDepthTestBehavior |
Video depth test behavior constants.
| typedef int64_t varjo_VideoDepthTestMode |
Video depth test mode constants.
|
static |
|
static |
3D reconstruction error codes.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Shader error codes.
|
static |
|
static |
|
static |
|
static |
Video Depth Test error codes.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Lock for video depth test modes and ranges.
|
static |
Lock for video pass through post processing shader.
|
static |
|
static |
|
static |
Snapshot does not exist or has been released.
|
static |
Snapshot capture has not yet finished.
|
static |
Snapshot is ready and can be accessed with GetPointCloudSnapshotContent.
|
static |
3D reconstruction status properties.
boolean. Is 3D reconstruction capable hardware present.
|
static |
|
static |
|
static |
|
static |
This layout has these built-in inputs and outputs:
HLSL register definitions:
// Input buffer Texture2D<float4> inputTex : register(t0); // Output buffer RWTexture2D<float4> outputTex : register(u0); // Varjo generic constants cbuffer ConstantBuffer : register(b0) { int2 sourceSize; // Source texture dimensions float sourceTime; // Source texture timestamp int viewIndex; // View to be rendered: 0=LC, 1=RC, 2=LF, 3=RF int4 destRect; // Destination rectangle: x, y, w, h float4x4 projection; // Projection matrix used for the source texture float4x4 inverseProjection; // Inverse projection matrix float4x4 view; // View matrix used for the source texture float4x4 inverseView; // Inverse view matrix int4 sourceFocusRect; // Area of the focus view within the context texture int2 sourceContextSize; // Context texture size int2 padding; // Unused }
// Varjo generic texture samplers SamplerState SamplerLinearClamp : register(s0); SamplerState SamplerLinearWrap : register(s1);
|
static |
|
static |
|
static |
Combine both video depth test range and application layer ranges.
If both ranges are provided, then stricter value will apply.
|
static |
Prefer depth test range from application layer over video range.
If any application layer has set depth test range through varjo_ViewExtensionDepthTestRange, then video depth test range is ignored.
|
static |
Prefer video depth test range over application layer ranges.
Any application layer specific depth test
|
static |
Depth testing is forced and limited to given range.
Depth test is done against range farZ if application depth is not available. This mode automatically enables video pass through rendering and video depth estimation to enable using it with non-mixed reality applications.
|
static |
Video depth test range is not limited.
|
static |
Video depth test is limited to given range if no application provides depth test range through varjo_ViewExtensionDepthTestRange.