90 lines
2.8 KiB
C#
90 lines
2.8 KiB
C#
namespace XCEngine
|
|
{
|
|
public sealed class RenderingData
|
|
{
|
|
internal RenderingData(CameraFrameStage stage)
|
|
: this(
|
|
stage,
|
|
CameraData.Default,
|
|
LightingData.Default,
|
|
ShadowData.Default,
|
|
EnvironmentData.Default,
|
|
FinalColorData.Default,
|
|
StageColorData.Default)
|
|
{
|
|
}
|
|
|
|
internal RenderingData(ScriptableRenderContext context)
|
|
: this(
|
|
context != null
|
|
? context.stage
|
|
: CameraFrameStage.MainScene,
|
|
context != null
|
|
? context.cameraData
|
|
: CameraData.Default,
|
|
context != null
|
|
? context.lightingData
|
|
: LightingData.Default,
|
|
context != null
|
|
? context.shadowData
|
|
: ShadowData.Default,
|
|
context != null
|
|
? context.environmentData
|
|
: EnvironmentData.Default,
|
|
context != null
|
|
? context.finalColorData
|
|
: FinalColorData.Default,
|
|
context != null
|
|
? context.stageColorData
|
|
: StageColorData.Default)
|
|
{
|
|
}
|
|
|
|
private RenderingData(
|
|
CameraFrameStage stage,
|
|
CameraData cameraData,
|
|
LightingData lightingData,
|
|
ShadowData shadowData,
|
|
EnvironmentData environmentData,
|
|
FinalColorData finalColorData,
|
|
StageColorData stageColorData)
|
|
{
|
|
this.stage = stage;
|
|
this.cameraData = cameraData ?? CameraData.Default;
|
|
this.lightingData =
|
|
lightingData ?? LightingData.Default;
|
|
this.shadowData =
|
|
shadowData ?? ShadowData.Default;
|
|
this.environmentData =
|
|
environmentData ?? EnvironmentData.Default;
|
|
this.finalColorData =
|
|
finalColorData ?? FinalColorData.Default;
|
|
this.stageColorData =
|
|
stageColorData ?? StageColorData.Default;
|
|
}
|
|
|
|
public CameraFrameStage stage { get; }
|
|
|
|
public CameraData cameraData { get; }
|
|
|
|
public LightingData lightingData { get; }
|
|
|
|
public ShadowData shadowData { get; }
|
|
|
|
public EnvironmentData environmentData { get; }
|
|
|
|
public FinalColorData finalColorData { get; }
|
|
|
|
public StageColorData stageColorData { get; }
|
|
|
|
public bool isMainSceneStage =>
|
|
stage == CameraFrameStage.MainScene;
|
|
|
|
public bool isPostProcessStage =>
|
|
stage == CameraFrameStage.PostProcess;
|
|
|
|
public bool isFinalOutputStage =>
|
|
stage == CameraFrameStage.FinalOutput;
|
|
}
|
|
}
|