升级6.4.升级水,升级天气

This commit is contained in:
2026-04-05 00:26:54 +08:00
parent 63bc9b5536
commit 5f7cbfb713
635 changed files with 34718 additions and 22567 deletions

View File

@@ -68,9 +68,6 @@ namespace WaveHarmonic.Crest
-1
);
// Requested the temporary color texture.
internal bool _NeedsColorTexture;
sealed class UnderwaterSphericalHarmonicsData
{
internal Color[] _AmbientLighting = new Color[1];
@@ -118,7 +115,7 @@ namespace WaveHarmonic.Crest
_EffectCommandBuffer.Clear();
if (!RenderBeforeTransparency || _NeedsColorTexture)
if (!RenderBeforeTransparency || NeedsColorTexture)
{
// No need to clear as Blit will overwrite everything.
_EffectCommandBuffer.GetTemporaryRT(ShaderIDs.s_CameraColorTexture, descriptor);
@@ -140,7 +137,7 @@ namespace WaveHarmonic.Crest
if (UseStencilBuffer)
{
descriptor.colorFormat = RenderTextureFormat.Depth;
descriptor.depthBufferBits = (int)Helpers.k_DepthBits;
descriptor.depthBufferBits = (int)Rendering.GetDefaultDepthBufferBits();
// bindMS is necessary in this case for depth.
descriptor.SetMSAASamples(camera);
descriptor.bindMS = descriptor.msaaSamples > 1;
@@ -176,7 +173,7 @@ namespace WaveHarmonic.Crest
ExecuteEffect(camera, _EffectCommandBuffer, _CopyColor, _SetRenderTargetToBackBuffers);
if (!RenderBeforeTransparency || _NeedsColorTexture)
if (!RenderBeforeTransparency || NeedsColorTexture)
{
_EffectCommandBuffer.ReleaseTemporaryRT(ShaderIDs.s_CameraColorTexture);
}
@@ -192,7 +189,7 @@ namespace WaveHarmonic.Crest
var isFullScreenRequired = true;
#if d_CrestPortals
if (_Portals.Active)
if (_Water._ActiveModules.HasFlag(WaterRenderer.ActiveModules.Portal))
{
isFullScreenRequired = _Portals.RenderEffect(camera, buffer, _VolumeMaterial, copyColor, resetRenderTargets, properties);
}
@@ -272,9 +269,9 @@ namespace WaveHarmonic.Crest
if (camera.cameraType != CameraType.Reflection)
{
// Skip work if camera is far enough below the surface.
var forceFullShader = !_Water.Surface.Enabled || (_Water._ViewerHeightAboveWaterPerCamera < -8f && !Portaled);
var forceFullShader = !_MaskRead || (_Water._PerCameraHeightReady && _Water._ViewerHeightAboveWaterPerCamera < -8f && !Portaled);
_VolumeMaterial.SetKeyword("d_Crest_NoMaskColor", forceFullShader);
_VolumeMaterial.SetKeyword("d_Crest_NoMaskDepth", !_Water.Surface.Enabled || RenderBeforeTransparency);
_VolumeMaterial.SetKeyword("d_Crest_NoMaskDepth", !_MaskRead || RenderBeforeTransparency);
}
// Compute ambient lighting SH.