升级水插件
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user