Files
XCEngine/managed/XCEngine.RenderPipelines.Universal/Rendering/Universal/BuiltinGaussianSplatRendererFeature.cs

49 lines
1.3 KiB
C#

using XCEngine;
using XCEngine.Rendering;
namespace XCEngine.Rendering.Universal
{
public sealed class BuiltinGaussianSplatRendererFeature
: ScriptableRendererFeature
{
public RenderPassEvent passEvent =
RenderPassEvent.BeforeRenderingTransparents;
private readonly UniversalNativeSceneFeatureController m_controller =
new UniversalNativeSceneFeatureController(
NativeSceneFeaturePassId
.BuiltinGaussianSplat);
protected override int ComputeRuntimeStateHash()
{
int hash =
base.ComputeRuntimeStateHash();
return m_controller.AppendRuntimeStateHash(
hash,
passEvent);
}
public override void Create()
{
m_controller.Create(passEvent);
}
public override void AddRenderPasses(
ScriptableRenderer renderer,
RenderingData renderingData)
{
if (renderer == null ||
renderingData == null ||
!renderingData.isMainSceneStage)
{
return;
}
CreateInstance();
m_controller.EnqueuePass(
renderer,
renderingData,
passEvent);
}
}
}