#if UNITY_OPENXR_1_9_0_OR_NEWER
using System;
using System.Runtime.InteropServices;
namespace UnityEngine.XR.OpenXR.Features.MagicLeapSupport
{
public partial class MagicLeapLightEstimationFeature
{
///
/// The width and height dimension resolution of an HDR Cubemap.
///
public enum HDRCubemapFaceResolution
{
Resolution_64x64,
Resolution_128x128,
Resolution_256x256
}
///
/// The data of the HDR cubemap as it is obtained from a light estimation estimate.
///
public struct HDRCubemapData
{
///
/// An array of pixel data of the cubemap. The data is in the order of (R, G, B, A) with values
/// between 0 and 1, and is and organized into 6 faces in the order of (+X, -X, +Y, -Y, +Z, -Z).
///
public float[] Pixels;
///
/// The width/height dimension resolution of each face on the cubemap.
///
public uint FaceDimension;
}
///
/// The direction and color of the main directional light data obtained from the light estimation estimate.
///
public struct MainDirectionalLight
{
///
/// A normalized vector pointing in the direction that the main light faces.
///
public Vector3 Direction;
///
/// The color value for the given main light.
///
public Color Color;
}
///
/// All of the data obtained from a light estimation estimate.
///
public struct EstimateData
{
///
/// The data of the HDR cubemap.
///
public HDRCubemapData CubeMap;
///
/// The direction and color of the main directional light data.
///
public MainDirectionalLight DirectionalLight;
///
/// The spherical harmonics coefficients data.
///
public float[] HarmonicsCoefficients;
///
/// The timestamp of the light estimation estimate in nanoseconds.
///
public long TimeStampNanoSeconds;
}
}
}
#endif