49 lines
1.2 KiB
C#
49 lines
1.2 KiB
C#
using XCEngine;
|
|
using XCEngine.Rendering;
|
|
|
|
namespace XCEngine.Rendering.Universal
|
|
{
|
|
public sealed class BuiltinGaussianSplatRendererFeature
|
|
: ScriptableRendererFeature
|
|
{
|
|
public RenderPassEvent passEvent =
|
|
RenderPassEvent.BeforeRenderingTransparents;
|
|
|
|
private NativeSceneFeaturePass m_pass;
|
|
|
|
protected override int ComputeRuntimeStateHash()
|
|
{
|
|
int hash =
|
|
base.ComputeRuntimeStateHash();
|
|
hash =
|
|
RuntimeStateHashUtility.Combine(
|
|
hash,
|
|
(int)passEvent);
|
|
return hash;
|
|
}
|
|
|
|
public override void Create()
|
|
{
|
|
m_pass = new NativeSceneFeaturePass(
|
|
NativeSceneFeaturePassId
|
|
.BuiltinGaussianSplat,
|
|
passEvent);
|
|
}
|
|
|
|
public override void AddRenderPasses(
|
|
ScriptableRenderer renderer,
|
|
RenderingData renderingData)
|
|
{
|
|
if (renderer == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
CreateInstance();
|
|
|
|
m_pass.Configure(passEvent);
|
|
renderer.EnqueuePass(m_pass);
|
|
}
|
|
}
|
|
}
|