105 lines
3.1 KiB
C#
105 lines
3.1 KiB
C#
namespace XCEngine.Rendering
|
|
{
|
|
public sealed class RenderSceneSetupContext
|
|
{
|
|
private readonly ulong m_nativeHandle;
|
|
|
|
internal RenderSceneSetupContext(ulong nativeHandle)
|
|
{
|
|
m_nativeHandle = nativeHandle;
|
|
}
|
|
|
|
public int rendererIndex =>
|
|
InternalCalls
|
|
.Rendering_RenderSceneSetupContext_GetRendererIndex(
|
|
m_nativeHandle);
|
|
|
|
public Camera camera
|
|
{
|
|
get
|
|
{
|
|
ulong cameraGameObjectUUID =
|
|
InternalCalls
|
|
.Rendering_RenderSceneSetupContext_GetCameraGameObjectUUID(
|
|
m_nativeHandle);
|
|
if (cameraGameObjectUUID == 0)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
GameObject gameObject =
|
|
new GameObject(cameraGameObjectUUID);
|
|
return gameObject.GetComponent<Camera>();
|
|
}
|
|
}
|
|
|
|
public bool isConfigured =>
|
|
InternalCalls
|
|
.Rendering_RenderSceneSetupContext_GetIsConfigured(
|
|
m_nativeHandle);
|
|
|
|
public RenderClearFlags clearFlags =>
|
|
(RenderClearFlags)InternalCalls
|
|
.Rendering_RenderSceneSetupContext_GetClearFlags(
|
|
m_nativeHandle);
|
|
|
|
public bool hasMainSceneDepthAttachment =>
|
|
InternalCalls
|
|
.Rendering_RenderSceneSetupContext_GetHasMainSceneDepthAttachment(
|
|
m_nativeHandle);
|
|
|
|
public bool hasMainDirectionalShadow =>
|
|
InternalCalls
|
|
.Rendering_RenderSceneSetupContext_GetHasMainDirectionalShadow(
|
|
m_nativeHandle);
|
|
|
|
public void SetEnvironmentNone()
|
|
{
|
|
InternalCalls
|
|
.Rendering_RenderSceneSetupContext_SetEnvironmentNone(
|
|
m_nativeHandle);
|
|
}
|
|
|
|
public bool UseCameraSkyboxMaterial()
|
|
{
|
|
return InternalCalls
|
|
.Rendering_RenderSceneSetupContext_UseCameraSkyboxMaterial(
|
|
m_nativeHandle);
|
|
}
|
|
|
|
public void SetProceduralSkybox(
|
|
Color topColor,
|
|
Color horizonColor,
|
|
Color bottomColor)
|
|
{
|
|
InternalCalls
|
|
.Rendering_RenderSceneSetupContext_SetProceduralSkybox(
|
|
m_nativeHandle,
|
|
ref topColor,
|
|
ref horizonColor,
|
|
ref bottomColor);
|
|
}
|
|
|
|
public void ClearGlobalShaderKeywords()
|
|
{
|
|
InternalCalls
|
|
.Rendering_RenderSceneSetupContext_ClearGlobalShaderKeywords(
|
|
m_nativeHandle);
|
|
}
|
|
|
|
public void SetGlobalShaderKeyword(
|
|
string keyword,
|
|
bool enabled)
|
|
{
|
|
InternalCalls
|
|
.Rendering_RenderSceneSetupContext_SetGlobalShaderKeyword(
|
|
m_nativeHandle,
|
|
keyword ?? string.Empty,
|
|
enabled);
|
|
}
|
|
|
|
internal ulong nativeHandle =>
|
|
m_nativeHandle;
|
|
}
|
|
}
|