Files
Dec2017-Script-Dump/UnityEngine/Experimental/Rendering/ShadowSplitData.cs
T
2026-06-04 11:42:34 +02:00

61 lines
1.8 KiB
C#

using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using UnityEngine.Scripting;
namespace UnityEngine.Experimental.Rendering
{
// Token: 0x020004E3 RID: 1251
[UsedByNativeCode]
public struct ShadowSplitData
{
// Token: 0x06003C10 RID: 15376 RVA: 0x00069BF8 File Offset: 0x00067DF8
public unsafe Plane GetCullingPlane(int index)
{
if (index < 0 || index >= this.cullingPlaneCount || index >= 10)
{
throw new IndexOutOfRangeException("Invalid plane index");
}
fixed (float* ptr = &this._cullingPlanes.FixedElementField)
{
return new Plane(new Vector3(ptr[(IntPtr)(index * 4) * 4], ptr[(IntPtr)(index * 4 + 1) * 4], ptr[(IntPtr)(index * 4 + 2) * 4]), ptr[(IntPtr)(index * 4 + 3) * 4]);
}
}
// Token: 0x06003C11 RID: 15377 RVA: 0x00069C74 File Offset: 0x00067E74
public unsafe void SetCullingPlane(int index, Plane plane)
{
if (index < 0 || index >= this.cullingPlaneCount || index >= 10)
{
throw new IndexOutOfRangeException("Invalid plane index");
}
fixed (float* ptr = &this._cullingPlanes.FixedElementField)
{
ptr[(IntPtr)(index * 4) * 4] = plane.normal.x;
ptr[(IntPtr)(index * 4 + 1) * 4] = plane.normal.y;
ptr[(IntPtr)(index * 4 + 2) * 4] = plane.normal.z;
ptr[(IntPtr)(index * 4 + 3) * 4] = plane.distance;
}
}
// Token: 0x04001239 RID: 4665
public int cullingPlaneCount;
// Token: 0x0400123A RID: 4666
private ShadowSplitData.<_cullingPlanes>__FixedBuffer2 _cullingPlanes;
// Token: 0x0400123B RID: 4667
public Vector4 cullingSphere;
// Token: 0x020004E4 RID: 1252
[UnsafeValueType]
[CompilerGenerated]
[StructLayout(LayoutKind.Sequential, Size = 160)]
public struct <_cullingPlanes>__FixedBuffer2
{
// Token: 0x0400123C RID: 4668
public float FixedElementField;
}
}
}