This commit is contained in:
zhangjiajia
2026-05-06 16:56:59 +08:00
parent 575626d3e1
commit 81ffaaeca6
1373 changed files with 145920 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
// Crest Water System
// Copyright © 2024 Wave Harmonic. All rights reserved.
using UnityEngine;
using UnityEngine.Rendering;
namespace WaveHarmonic.Crest
{
partial class SurfaceRenderer
{
CommandBuffer _WaterLevelDepthBuffer;
void OnPreRenderWaterLevelDepthTexture(Camera camera)
{
if (camera.cameraType != CameraType.SceneView || camera != _Water.Viewer)
{
return;
}
_WaterLevelDepthBuffer ??= new() { name = k_WaterLevelDepthTextureName };
_WaterLevelDepthBuffer.Clear();
ExecuteWaterLevelDepthTexture(camera, _WaterLevelDepthBuffer);
// Both forward and deferred.
camera.AddCommandBuffer(CameraEvent.BeforeDepthTexture, _WaterLevelDepthBuffer);
camera.AddCommandBuffer(CameraEvent.BeforeGBuffer, _WaterLevelDepthBuffer);
}
void OnPostRenderWaterLevelDepthTexture(Camera camera)
{
if (_WaterLevelDepthBuffer != null)
{
// Both forward and deferred.
camera.RemoveCommandBuffer(CameraEvent.BeforeDepthTexture, _WaterLevelDepthBuffer);
camera.RemoveCommandBuffer(CameraEvent.BeforeGBuffer, _WaterLevelDepthBuffer);
}
}
}
}