2026-04-19 02:38:48 +08:00
|
|
|
using XCEngine;
|
|
|
|
|
|
2026-04-19 14:19:57 +08:00
|
|
|
namespace XCEngine.Rendering.Universal
|
2026-04-19 00:05:29 +08:00
|
|
|
{
|
|
|
|
|
public sealed class LightingData
|
|
|
|
|
{
|
|
|
|
|
internal static readonly LightingData Default =
|
|
|
|
|
new LightingData(
|
|
|
|
|
DirectionalLightData.Default,
|
|
|
|
|
false,
|
|
|
|
|
0);
|
|
|
|
|
|
|
|
|
|
internal LightingData(
|
|
|
|
|
DirectionalLightData mainDirectionalLight,
|
|
|
|
|
bool hasMainDirectionalShadow,
|
|
|
|
|
int additionalLightCount)
|
|
|
|
|
{
|
|
|
|
|
this.mainDirectionalLight =
|
|
|
|
|
mainDirectionalLight ?? DirectionalLightData.Default;
|
|
|
|
|
this.hasMainDirectionalShadow =
|
|
|
|
|
hasMainDirectionalShadow;
|
|
|
|
|
this.additionalLightCount = additionalLightCount;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public DirectionalLightData mainDirectionalLight { get; }
|
|
|
|
|
|
|
|
|
|
public bool hasMainDirectionalShadow { get; }
|
|
|
|
|
|
|
|
|
|
public int additionalLightCount { get; }
|
|
|
|
|
|
|
|
|
|
public bool hasMainDirectionalLight =>
|
|
|
|
|
mainDirectionalLight.enabled;
|
|
|
|
|
|
|
|
|
|
public bool hasAdditionalLights =>
|
|
|
|
|
additionalLightCount > 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
2026-04-19 02:38:48 +08:00
|
|
|
|