WuhuIslandTesting/Library/PackageCache/com.unity.xr.mock-hmd@1.3.0-preview.1/Editor/MultiCamera/NativeAPI.cs

62 lines
1.9 KiB
C#
Raw Permalink Normal View History

2025-01-07 02:06:59 +01:00
#if UNITY_2020_2_OR_NEWER
using System;
using System.Runtime.InteropServices;
using UnityEngine;
namespace MockHMD.Editor.MultiCamera
{
public static class NativeApi
{
[StructLayout(LayoutKind.Sequential)]
public struct float3
{
public float x;
public float y;
public float z;
}
[StructLayout(LayoutKind.Sequential)]
public struct float4
{
public float x;
public float y;
public float z;
public float w;
}
[StructLayout(LayoutKind.Sequential)]
public struct MockCameraProperties
{
public float3 position;
public float4 rotation;
public float fov;
public float near;
public float far;
public int textureWidth;
public int textureHeight;
public int renderingMode;
public float eyeSeparation;
public float3 leftAbberation;
public float3 rightAbberation;
public int enableLeftOcclusion;
public int enableRightOcclusion;
}
[DllImport("Packages/com.unity.xr.mock-hmd/Runtime/Windows/x64/UnityMockHMD.dll", CharSet = CharSet.Auto)]
public static extern bool HasCameraWithId(int id);
[DllImport("Packages/com.unity.xr.mock-hmd/Runtime/Windows/x64/UnityMockHMD.dll", CharSet = CharSet.Auto)]
public static extern bool AddCameraWithId(int id);
[DllImport("Packages/com.unity.xr.mock-hmd/Runtime/Windows/x64/UnityMockHMD.dll", CharSet = CharSet.Auto)]
public static extern bool UpdateCameraWithId(int id, MockCameraProperties properties);
[DllImport("Packages/com.unity.xr.mock-hmd/Runtime/Windows/x64/UnityMockHMD.dll", CharSet = CharSet.Auto)]
public static extern bool RemoveCameraWithId(int id);
}
}
#endif