387 lines
9.8 KiB
C#
387 lines
9.8 KiB
C#
using System;
|
|
using System.Collections;
|
|
using UnityEngine;
|
|
|
|
namespace VIVE.OpenXR.SceneUnderstanding
|
|
{
|
|
public enum XrSceneComputeConsistencyMSFT
|
|
{
|
|
SnapshotComplete = 1,
|
|
SnapshotIncompleteFast = 2,
|
|
OcclusionOptimized = 3,
|
|
}
|
|
|
|
public enum XrSceneBoundType
|
|
{
|
|
Sphere = 1,
|
|
OrientedBox = 2,
|
|
Frustum = 3,
|
|
}
|
|
|
|
public enum XrSceneComputeFeatureMSFT
|
|
{
|
|
XR_SCENE_COMPUTE_FEATURE_PLANE_MSFT = 1,
|
|
XR_SCENE_COMPUTE_FEATURE_PLANE_MESH_MSFT = 2,
|
|
XR_SCENE_COMPUTE_FEATURE_VISUAL_MESH_MSFT = 3,
|
|
XR_SCENE_COMPUTE_FEATURE_COLLIDER_MESH_MSFT = 4,
|
|
XR_SCENE_COMPUTE_FEATURE_SERIALIZE_SCENE_MSFT = 1000098000,
|
|
XR_SCENE_COMPUTE_FEATURE_OCCLUSION_HINT_MSFT = 1000099000,
|
|
XR_SCENE_COMPUTE_FEATURE_MAX_ENUM_MSFT = 0x7FFFFFFF
|
|
}
|
|
|
|
public enum XrMeshComputeLodMSFT
|
|
{
|
|
Coarse = 1,
|
|
Medium = 2,
|
|
Fine = 3,
|
|
Unlimited = 4,
|
|
}
|
|
|
|
public enum XrSceneComponentTypeMSFT
|
|
{
|
|
XR_SCENE_COMPONENT_TYPE_INVALID_MSFT = -1,
|
|
XR_SCENE_COMPONENT_TYPE_OBJECT_MSFT = 1,
|
|
XR_SCENE_COMPONENT_TYPE_PLANE_MSFT = 2,
|
|
XR_SCENE_COMPONENT_TYPE_VISUAL_MESH_MSFT = 3,
|
|
XR_SCENE_COMPONENT_TYPE_COLLIDER_MESH_MSFT = 4,
|
|
XR_SCENE_COMPONENT_TYPE_SERIALIZED_SCENE_FRAGMENT_MSFT = 1000098000,
|
|
XR_SCENE_COMPONENT_TYPE_MAX_ENUM_MSFT = 0x7FFFFFFF
|
|
}
|
|
|
|
public enum XrSceneObjectTypeMSFT
|
|
{
|
|
XR_SCENE_OBJECT_TYPE_UNCATEGORIZED_MSFT = -1,
|
|
XR_SCENE_OBJECT_TYPE_BACKGROUND_MSFT = 1,
|
|
XR_SCENE_OBJECT_TYPE_WALL_MSFT = 2,
|
|
XR_SCENE_OBJECT_TYPE_FLOOR_MSFT = 3,
|
|
XR_SCENE_OBJECT_TYPE_CEILING_MSFT = 4,
|
|
XR_SCENE_OBJECT_TYPE_PLATFORM_MSFT = 5,
|
|
XR_SCENE_OBJECT_TYPE_INFERRED_MSFT = 6,
|
|
XR_SCENE_OBJECT_TYPE_MAX_ENUM_MSFT = 0x7FFFFFFF
|
|
}
|
|
|
|
public enum XrScenePlaneAlignmentTypeMSFT
|
|
{
|
|
XR_SCENE_PLANE_ALIGNMENT_TYPE_NON_ORTHOGONAL_MSFT = 0,
|
|
XR_SCENE_PLANE_ALIGNMENT_TYPE_HORIZONTAL_MSFT = 1,
|
|
XR_SCENE_PLANE_ALIGNMENT_TYPE_VERTICAL_MSFT = 2,
|
|
XR_SCENE_PLANE_ALIGNMENT_TYPE_MAX_ENUM_MSFT = 0x7FFFFFFF
|
|
}
|
|
|
|
public enum XrSceneComputeStateMSFT
|
|
{
|
|
XR_SCENE_COMPUTE_STATE_NONE_MSFT = 0,
|
|
XR_SCENE_COMPUTE_STATE_UPDATING_MSFT = 1,
|
|
XR_SCENE_COMPUTE_STATE_COMPLETED_MSFT = 2,
|
|
XR_SCENE_COMPUTE_STATE_COMPLETED_WITH_ERROR_MSFT = 3,
|
|
XR_SCENE_COMPUTE_STATE_MAX_ENUM_MSFT = 0x7FFFFFFF
|
|
}
|
|
|
|
public struct XrUuidMSFT
|
|
{
|
|
public byte byte0;
|
|
public byte byte1;
|
|
public byte byte2;
|
|
public byte byte3;
|
|
public byte byte4;
|
|
public byte byte5;
|
|
public byte byte6;
|
|
public byte byte7;
|
|
public byte byte8;
|
|
public byte byte9;
|
|
public byte byte10;
|
|
public byte byte11;
|
|
public byte byte12;
|
|
public byte byte13;
|
|
public byte byte14;
|
|
public byte byte15;
|
|
public byte byte16;
|
|
|
|
}
|
|
|
|
public struct XrSceneObserverCreateInfoMSFT
|
|
{
|
|
public XrStructureType type;
|
|
public IntPtr next;
|
|
}
|
|
|
|
public struct XrSceneCreateInfoMSFT
|
|
{
|
|
public XrStructureType type;
|
|
public IntPtr next;
|
|
}
|
|
|
|
public struct XrSceneSphereBoundMSFT
|
|
{
|
|
public XrVector3f center;
|
|
public float radius;
|
|
}
|
|
|
|
public struct XrSceneOrientedBoxBoundMSFT
|
|
{
|
|
public XrPosef pose;
|
|
public XrVector3f extents;
|
|
}
|
|
|
|
public struct XrSceneFrustumBoundMSFT
|
|
{
|
|
public XrPosef pose;
|
|
public XrFovf fov;
|
|
public float farDistance;
|
|
}
|
|
|
|
public struct XrSceneBoundsMSFT
|
|
{
|
|
public ulong space;
|
|
public long time;
|
|
public uint sphereCount;
|
|
|
|
// XrSceneSphereBoundMSFT
|
|
public IntPtr spheres;
|
|
public uint boxCount;
|
|
|
|
// XrSceneOrientedBoxBoundMSFT
|
|
public IntPtr boxes;
|
|
public uint frustumCount;
|
|
|
|
// XrSceneFrustumBoundMSFT
|
|
public IntPtr frustums;
|
|
}
|
|
|
|
public struct XrNewSceneComputeInfoMSFT
|
|
{
|
|
public XrStructureType type;
|
|
public IntPtr next;
|
|
public uint requestedFeatureCount;
|
|
|
|
// XrSceneComputeFeatureMSFT array
|
|
public IntPtr requestedFeatures;
|
|
public uint disableInferredSceneObjects;
|
|
public XrSceneBoundsMSFT bounds;
|
|
}
|
|
|
|
// XrVisualMeshComputeLodInfoMSFT extends XrNewSceneComputeInfoMSFT
|
|
public struct XrVisualMeshComputeLodInfoMSFT
|
|
{
|
|
public XrStructureType type;
|
|
public IntPtr next;
|
|
public XrMeshComputeLodMSFT lod;
|
|
}
|
|
|
|
public struct XrSceneComponentMSFT
|
|
{
|
|
public XrSceneComponentTypeMSFT componentType;
|
|
public XrUuidMSFT componentId;
|
|
public XrUuidMSFT parentObjectId;
|
|
public long updateTime;
|
|
}
|
|
|
|
public struct XrSceneComponentsMSFT
|
|
{
|
|
public XrStructureType type;
|
|
public IntPtr next;
|
|
public uint componentCapacityInput;
|
|
public uint componentCountOutput;
|
|
|
|
// XrSceneComponentMSFT array
|
|
public IntPtr components;
|
|
}
|
|
|
|
public struct XrSceneComponentsGetInfoMSFT
|
|
{
|
|
public XrStructureType type;
|
|
public IntPtr next;
|
|
public XrSceneComponentTypeMSFT componentType;
|
|
}
|
|
|
|
public struct XrSceneComponentLocationMSFT
|
|
{
|
|
public ulong flags;
|
|
public XrPosef pose;
|
|
}
|
|
|
|
public struct XrSceneComponentLocationsMSFT
|
|
{
|
|
public XrStructureType type;
|
|
public IntPtr next;
|
|
public uint locationCount;
|
|
|
|
// XrSceneComponentLocationMSFT array
|
|
public IntPtr locations;
|
|
}
|
|
|
|
public struct XrSceneComponentsLocateInfoMSFT
|
|
{
|
|
public XrStructureType type;
|
|
public IntPtr next;
|
|
|
|
// XrSpace
|
|
public ulong baseSpace;
|
|
|
|
// XrTime
|
|
public long time;
|
|
public uint idCount;
|
|
|
|
// XrUuidMSFT array
|
|
public IntPtr ids;
|
|
}
|
|
|
|
public struct XrSceneObjectMSFT
|
|
{
|
|
public XrSceneObjectTypeMSFT objectType;
|
|
}
|
|
|
|
// XrSceneObjectsMSFT extends XrSceneComponentsMSFT
|
|
public struct XrSceneObjectsMSFT
|
|
{
|
|
public XrStructureType type;
|
|
public IntPtr next;
|
|
public uint sceneObjectCount;
|
|
|
|
// XrSceneObjectMSFT array
|
|
public IntPtr sceneObjects;
|
|
}
|
|
|
|
// XrSceneComponentParentFilterInfoMSFT extends XrSceneComponentsGetInfoMSFT
|
|
public struct XrSceneComponentParentFilterInfoMSFT
|
|
{
|
|
public XrStructureType type;
|
|
public IntPtr next;
|
|
public XrUuidMSFT parentObjectId;
|
|
}
|
|
|
|
// XrSceneObjectTypesFilterInfoMSFT extends XrSceneComponentsGetInfoMSFT
|
|
public struct XrSceneObjectTypesFilterInfoMSFT
|
|
{
|
|
public XrStructureType type;
|
|
public IntPtr next;
|
|
public uint objectTypeCount;
|
|
|
|
// XrSceneObjectTypeMSFT array
|
|
public IntPtr objectTypes;
|
|
}
|
|
|
|
public struct XrScenePlaneMSFT
|
|
{
|
|
public XrScenePlaneAlignmentTypeMSFT alignment;
|
|
public XrExtent2Df size;
|
|
public ulong meshBufferId;
|
|
|
|
// XrBool32
|
|
public uint supportsIndicesUint16;
|
|
}
|
|
|
|
// XrScenePlanesMSFT extends XrSceneComponentsMSFT
|
|
public struct XrScenePlanesMSFT
|
|
{
|
|
public XrStructureType type;
|
|
public IntPtr next;
|
|
public uint scenePlaneCount;
|
|
|
|
// XrScenePlaneMSFT array
|
|
public IntPtr scenePlanes;
|
|
}
|
|
|
|
// XrScenePlaneAlignmentFilterInfoMSFT extends XrSceneComponentsGetInfoMSFT
|
|
public struct XrScenePlaneAlignmentFilterInfoMSFT
|
|
{
|
|
public XrStructureType type;
|
|
public IntPtr next;
|
|
public uint alignmentCount;
|
|
|
|
// XrScenePlaneAlignmentTypeMSFT array
|
|
public IntPtr alignments;
|
|
}
|
|
|
|
public struct XrSceneMeshMSFT
|
|
{
|
|
public ulong meshBufferId;
|
|
|
|
// XrBool32
|
|
public uint supportsIndicesUint16;
|
|
}
|
|
|
|
// XrSceneMeshesMSFT extends XrSceneComponentsMSFT
|
|
public struct XrSceneMeshesMSFT
|
|
{
|
|
public XrStructureType type;
|
|
public IntPtr next;
|
|
public uint sceneMeshCount;
|
|
|
|
// XrSceneMeshMSFT array
|
|
public IntPtr sceneMeshes;
|
|
}
|
|
|
|
public struct XrSceneMeshBuffersGetInfoMSFT
|
|
{
|
|
public XrStructureType type;
|
|
public IntPtr next;
|
|
public ulong meshBufferId;
|
|
}
|
|
|
|
public struct XrSceneMeshBuffersMSFT
|
|
{
|
|
public XrStructureType type;
|
|
public IntPtr next;
|
|
}
|
|
|
|
public struct XrSceneMeshVertexBufferMSFT
|
|
{
|
|
public XrStructureType type;
|
|
public IntPtr next;
|
|
public uint vertexCapacityInput;
|
|
public uint vertexCountOutput;
|
|
|
|
// XrVector3f array
|
|
public IntPtr vertices;
|
|
}
|
|
|
|
public struct XrSceneMeshIndicesUint32MSFT
|
|
{
|
|
public XrStructureType type;
|
|
public IntPtr next;
|
|
public uint indexCapacityInput;
|
|
public uint indexCountOutput;
|
|
|
|
// uint32_t array
|
|
public IntPtr indices;
|
|
}
|
|
|
|
public struct XrSceneMeshIndicesUint16MSFT
|
|
{
|
|
public XrStructureType type;
|
|
public IntPtr next;
|
|
public uint indexCapacityInput;
|
|
public uint indexCountOutput;
|
|
|
|
// uint16_t array
|
|
public IntPtr indices;
|
|
}
|
|
|
|
public struct XrSystemPassThroughCameraInfoHTC
|
|
{
|
|
public float focalLengthX;
|
|
public float focalLengthY;
|
|
public float opticalCenterX;
|
|
public float opticalCenterY;
|
|
public uint imageWidth;
|
|
public uint imageHeight;
|
|
public uint imageChannelCount;
|
|
}
|
|
public struct XrSystemPassThroughPropertiesHTC
|
|
{
|
|
public XrStructureType type;
|
|
public IntPtr next;
|
|
public uint supportsPassThrough;
|
|
XrSystemPassThroughCameraInfoHTC leftCameraInfo;
|
|
XrSystemPassThroughCameraInfoHTC rightCameraInfo;
|
|
public int deviceType;
|
|
public long format;
|
|
}
|
|
|
|
delegate int xrGetInstanceProcDelegate(ulong instance, string name, out IntPtr function);
|
|
public static class ViveSceneUnderstandingHelper
|
|
{
|
|
|
|
}
|
|
} |