- expose directional shadow planning settings on camera request context\n- let the managed universal asset override planner defaults\n- recompute native directional shadow requests only when settings change
82 lines
2.2 KiB
C#
82 lines
2.2 KiB
C#
using XCEngine;
|
|
using XCEngine.Rendering;
|
|
|
|
namespace XCEngine.Rendering.Universal
|
|
{
|
|
public sealed class RendererCameraRequestContext
|
|
{
|
|
private readonly CameraRenderRequestContext m_requestContext;
|
|
|
|
internal RendererCameraRequestContext(
|
|
CameraRenderRequestContext requestContext)
|
|
{
|
|
m_requestContext = requestContext;
|
|
}
|
|
|
|
public int renderedBaseCameraCount =>
|
|
m_requestContext != null
|
|
? m_requestContext.renderedBaseCameraCount
|
|
: 0;
|
|
|
|
public int renderedRequestCount =>
|
|
m_requestContext != null
|
|
? m_requestContext.renderedRequestCount
|
|
: 0;
|
|
|
|
public Camera camera =>
|
|
m_requestContext != null
|
|
? m_requestContext.camera
|
|
: null;
|
|
|
|
public int rendererIndex
|
|
{
|
|
get =>
|
|
m_requestContext != null
|
|
? m_requestContext.rendererIndex
|
|
: -1;
|
|
set
|
|
{
|
|
if (m_requestContext != null)
|
|
{
|
|
m_requestContext.rendererIndex = value;
|
|
}
|
|
}
|
|
}
|
|
|
|
public bool hasDirectionalShadow =>
|
|
m_requestContext != null &&
|
|
m_requestContext.hasDirectionalShadow;
|
|
|
|
public DirectionalShadowPlanningSettings
|
|
directionalShadowPlanningSettings
|
|
{
|
|
get =>
|
|
m_requestContext != null
|
|
? m_requestContext
|
|
.directionalShadowPlanningSettings
|
|
: DirectionalShadowPlanningSettings
|
|
.CreateDefault();
|
|
set
|
|
{
|
|
if (m_requestContext != null)
|
|
{
|
|
m_requestContext
|
|
.directionalShadowPlanningSettings =
|
|
value;
|
|
}
|
|
}
|
|
}
|
|
|
|
public void ClearDirectionalShadow()
|
|
{
|
|
if (m_requestContext != null)
|
|
{
|
|
m_requestContext.ClearDirectionalShadow();
|
|
}
|
|
}
|
|
|
|
internal CameraRenderRequestContext requestContext =>
|
|
m_requestContext;
|
|
}
|
|
}
|