升级水插件

This commit is contained in:
2026-01-31 00:32:49 +08:00
parent a739d2fe3b
commit 4123e83573
293 changed files with 13449 additions and 2853 deletions

View File

@@ -22,6 +22,7 @@ namespace WaveHarmonic.Crest
}
CommandBuffer _DrawWaterSurfaceBuffer;
MaterialPropertyBlock _QuadMeshMPB;
void OnBeginCameraRenderingLegacy(Camera camera)
{
@@ -40,8 +41,6 @@ namespace WaveHarmonic.Crest
return;
}
camera.depthTextureMode |= DepthTextureMode.Depth;
_DrawWaterSurfaceBuffer ??= new() { name = WaterRenderer.k_DrawWater };
_DrawWaterSurfaceBuffer.Clear();
@@ -111,6 +110,15 @@ namespace WaveHarmonic.Crest
// Always enabled.
commands.SetShaderKeyword("LIGHTPROBE_SH", true);
if (IsQuadMesh)
{
_QuadMeshMPB ??= new();
new PropertyWrapperMPB(_QuadMeshMPB).SetSHCoefficients(Root.position);
Render(camera, commands, Material, pass: 0, mpb: _QuadMeshMPB);
commands.EndSample(k_DrawWaterSurface);
return;
}
UpdateChunkVisibility(camera);
foreach (var chunk in Chunks)
@@ -137,9 +145,7 @@ namespace WaveHarmonic.Crest
chunk.Bind();
}
var mpb = new PropertyWrapperMPB(chunk._MaterialPropertyBlock);
mpb.SetSHCoefficients(chunk.transform.position);
commands.DrawMesh(chunk._Mesh, chunk.transform.localToWorldMatrix, renderer.sharedMaterial, 0, 0, chunk._MaterialPropertyBlock);
commands.DrawRenderer(chunk.Rend, renderer.sharedMaterial, 0, 0);
}
commands.EndSample(k_DrawWaterSurface);