2026-04-19 02:38:48 +08:00
|
|
|
using XCEngine;
|
|
|
|
|
|
|
|
|
|
namespace XCEngine.Rendering
|
2026-04-18 00:07:13 +08:00
|
|
|
{
|
2026-04-19 15:20:34 +08:00
|
|
|
public sealed class CameraRenderRequestContext
|
2026-04-18 00:07:13 +08:00
|
|
|
{
|
|
|
|
|
private readonly ulong m_nativeHandle;
|
|
|
|
|
|
2026-04-19 15:20:34 +08:00
|
|
|
internal CameraRenderRequestContext(ulong nativeHandle)
|
2026-04-18 00:07:13 +08:00
|
|
|
{
|
|
|
|
|
m_nativeHandle = nativeHandle;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public int renderedBaseCameraCount =>
|
|
|
|
|
InternalCalls
|
2026-04-19 15:20:34 +08:00
|
|
|
.Rendering_CameraRenderRequestContext_GetRenderedBaseCameraCount(
|
2026-04-18 00:07:13 +08:00
|
|
|
m_nativeHandle);
|
|
|
|
|
|
|
|
|
|
public int renderedRequestCount =>
|
|
|
|
|
InternalCalls
|
2026-04-19 15:20:34 +08:00
|
|
|
.Rendering_CameraRenderRequestContext_GetRenderedRequestCount(
|
2026-04-18 00:07:13 +08:00
|
|
|
m_nativeHandle);
|
|
|
|
|
|
2026-04-21 00:53:35 +08:00
|
|
|
public Camera camera
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
ulong cameraGameObjectUUID =
|
|
|
|
|
InternalCalls
|
|
|
|
|
.Rendering_CameraRenderRequestContext_GetCameraGameObjectUUID(
|
|
|
|
|
m_nativeHandle);
|
|
|
|
|
if (cameraGameObjectUUID == 0)
|
|
|
|
|
{
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
GameObject gameObject =
|
|
|
|
|
new GameObject(cameraGameObjectUUID);
|
|
|
|
|
return gameObject.GetComponent<Camera>();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public int rendererIndex
|
|
|
|
|
{
|
|
|
|
|
get =>
|
|
|
|
|
InternalCalls
|
|
|
|
|
.Rendering_CameraRenderRequestContext_GetRendererIndex(
|
|
|
|
|
m_nativeHandle);
|
|
|
|
|
set =>
|
|
|
|
|
InternalCalls
|
|
|
|
|
.Rendering_CameraRenderRequestContext_SetRendererIndex(
|
|
|
|
|
m_nativeHandle,
|
|
|
|
|
value);
|
|
|
|
|
}
|
|
|
|
|
|
2026-04-21 02:03:27 +08:00
|
|
|
public bool hasDirectionalShadow =>
|
|
|
|
|
InternalCalls
|
|
|
|
|
.Rendering_CameraRenderRequestContext_GetHasDirectionalShadow(
|
|
|
|
|
m_nativeHandle);
|
|
|
|
|
|
2026-04-21 02:19:30 +08:00
|
|
|
public DirectionalShadowPlanningSettings
|
|
|
|
|
directionalShadowPlanningSettings
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
InternalCalls
|
|
|
|
|
.Rendering_CameraRenderRequestContext_GetDirectionalShadowPlanningSettings(
|
|
|
|
|
m_nativeHandle,
|
|
|
|
|
out DirectionalShadowPlanningSettings settings);
|
|
|
|
|
return settings;
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
InternalCalls
|
|
|
|
|
.Rendering_CameraRenderRequestContext_SetDirectionalShadowPlanningSettings(
|
|
|
|
|
m_nativeHandle,
|
|
|
|
|
ref value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2026-04-21 02:03:27 +08:00
|
|
|
public void ClearDirectionalShadow()
|
|
|
|
|
{
|
|
|
|
|
InternalCalls
|
|
|
|
|
.Rendering_CameraRenderRequestContext_ClearDirectionalShadow(
|
|
|
|
|
m_nativeHandle);
|
|
|
|
|
}
|
|
|
|
|
|
2026-04-21 21:42:03 +08:00
|
|
|
public RenderClearFlags clearFlags
|
|
|
|
|
{
|
|
|
|
|
get =>
|
|
|
|
|
(RenderClearFlags)InternalCalls
|
|
|
|
|
.Rendering_CameraRenderRequestContext_GetClearFlags(
|
|
|
|
|
m_nativeHandle);
|
|
|
|
|
set =>
|
|
|
|
|
InternalCalls
|
|
|
|
|
.Rendering_CameraRenderRequestContext_SetClearFlags(
|
|
|
|
|
m_nativeHandle,
|
|
|
|
|
(int)value);
|
|
|
|
|
}
|
|
|
|
|
|
2026-04-21 22:34:40 +08:00
|
|
|
public void SetResolvedFinalColorPolicy(
|
|
|
|
|
FinalColorSettings settings,
|
|
|
|
|
bool hasPipelineDefaults,
|
|
|
|
|
bool hasCameraOverrides)
|
|
|
|
|
{
|
|
|
|
|
InternalCalls
|
|
|
|
|
.Rendering_CameraRenderRequestContext_SetResolvedFinalColorPolicy(
|
|
|
|
|
m_nativeHandle,
|
|
|
|
|
ref settings,
|
|
|
|
|
hasPipelineDefaults,
|
|
|
|
|
hasCameraOverrides);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void ClearFinalColorPolicy()
|
|
|
|
|
{
|
|
|
|
|
InternalCalls
|
|
|
|
|
.Rendering_CameraRenderRequestContext_ClearFinalColorPolicy(
|
|
|
|
|
m_nativeHandle);
|
|
|
|
|
}
|
|
|
|
|
|
2026-04-19 14:42:57 +08:00
|
|
|
internal ulong nativeHandle =>
|
|
|
|
|
m_nativeHandle;
|
2026-04-18 00:07:13 +08:00
|
|
|
}
|
|
|
|
|
}
|
2026-04-19 02:38:48 +08:00
|
|
|
|