升级水插件

This commit is contained in:
2026-01-08 22:30:55 +08:00
parent febff82d24
commit ca68084264
415 changed files with 18138 additions and 7134 deletions

View File

@@ -1,19 +1,15 @@
// Crest Water System
// Crest Water System
// Copyright © 2024 Wave Harmonic. All rights reserved.
// Provides utility passes for rendering like clearing the stencil buffer.
Shader "Hidden/Crest/Utility/Blit"
Shader "Hidden/Crest/Legacy/Blit"
{
HLSLINCLUDE
#pragma vertex Vertex
#pragma fragment Fragment
#include "UnityCG.cginc"
#include "Packages/com.waveharmonic.crest/Runtime/Shaders/Library/Utility/Legacy/Core.hlsl"
#include "Packages/com.waveharmonic.crest/Runtime/Shaders/Library/Utility/Legacy/InputsDriven.hlsl"
#include "Packages/com.waveharmonic.crest/Runtime/Shaders/Library/Utility/Depth.hlsl"
struct Attributes
@@ -44,28 +40,10 @@ Shader "Hidden/Crest/Utility/Blit"
SubShader
{
Cull Off ZWrite On ZTest Always
Pass
{
// Copies the color texture.
Name "Copy Color"
ZWrite Off
ZTest Always
Cull Off
HLSLPROGRAM
TEXTURE2D_X(_CameraColorTexture);
float4 Fragment(Varyings input) : SV_Target
{
// We need this when sampling a screenspace texture.
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(input);
return LOAD_TEXTURE2D_X(_CameraColorTexture, input.positionCS.xy);
}
ENDHLSL
}
Blend Off
Cull Off
ZTest Always
ZWrite Off
Pass
{
@@ -73,8 +51,6 @@ Shader "Hidden/Crest/Utility/Blit"
Name "Copy Depth / Clear Stencil"
ZWrite On
ZTest Always
Cull Off
Stencil
{
@@ -94,52 +70,9 @@ Shader "Hidden/Crest/Utility/Blit"
ENDHLSL
}
Pass
{
// Clears the depth buffer without clearing the stencil.
Name "Clear Depth"
ZWrite On
ZTest Always
Cull Off
HLSLPROGRAM
float Fragment(Varyings input) : SV_Depth
{
return 0.0;
}
ENDHLSL
}
Pass
{
// Clears the stencil buffer without clearing depth
Name "Clear Stencil"
ZWrite Off
ZTest Always
Cull Off
Blend Zero One
Stencil
{
Ref 0
Comp Always
Pass Replace
}
HLSLPROGRAM
float Fragment(Varyings input) : SV_Target
{
return 0.0;
}
ENDHLSL
}
Pass
{
Name "Copy"
Blend Off
HLSLPROGRAM
TEXTURE2D(_Utility_MainTexture);
@@ -150,5 +83,23 @@ Shader "Hidden/Crest/Utility/Blit"
}
ENDHLSL
}
Pass
{
Name "Merge Depth"
// All is required to merge depth.
ZTest Less
ZWrite On
HLSLPROGRAM
TEXTURE2D_X(_Utility_MainTexture);
float Fragment(Varyings input) : SV_Depth
{
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(input);
return LOAD_DEPTH_TEXTURE_X(_Utility_MainTexture, input.positionCS.xy);
}
ENDHLSL
}
}
}

View File

@@ -1,4 +1,4 @@
// Crest Water System
// Crest Water System
// Copyright © 2024 Wave Harmonic. All rights reserved.
// Clear specific components using a mask.

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 7c6a37fe33f609947b680abac9e850cc
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,42 @@
// Crest Water System
// Copyright © 2024 Wave Harmonic. All rights reserved.
Shader "Hidden/Crest/Legacy/CaptureShadowMatrices"
{
SubShader
{
Blend Off
ColorMask 0
Cull Off
ZTest Always
ZWrite Off
Pass
{
HLSLPROGRAM
#pragma target 4.5
#pragma vertex Vertex
#pragma fragment Fragment
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
RWStructuredBuffer<float4x4> _Crest_WorldToShadow;
float4x4 unity_WorldToShadow[4];
float4 Vertex(uint id : SV_VertexID) : SV_POSITION
{
return GetFullScreenTriangleVertexPosition(id);
}
float4 Fragment(float4 pos : SV_POSITION) : SV_Target
{
_Crest_WorldToShadow[0] = unity_WorldToShadow[0];
_Crest_WorldToShadow[1] = unity_WorldToShadow[1];
_Crest_WorldToShadow[2] = unity_WorldToShadow[2];
_Crest_WorldToShadow[3] = unity_WorldToShadow[3];
return 0;
}
ENDHLSL
}
}
}

View File

@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 17feb724c7e004b4e8e418931db7eff3
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,51 @@
// Crest Water System
// Copyright © 2024 Wave Harmonic. All rights reserved.
Shader "Hidden/Crest/Legacy/ForceShadows"
{
CGINCLUDE
#pragma vertex Vertex
#pragma fragment Fragment
fixed4 Vertex(fixed4 v : POSITION) : SV_POSITION
{
return 0;
}
fixed4 Fragment(fixed4 i : SV_POSITION) : SV_Target
{
return 0;
}
ENDCG
SubShader
{
ZTest Always
ZWrite Off
ColorMask 0
Pass
{
Tags
{
"LightMode" = "ForwardBase"
}
CGPROGRAM
#pragma multi_compile_fwdbase
ENDCG
}
Pass
{
Tags
{
"LightMode" = "ForwardAdd"
}
CGPROGRAM
#pragma multi_compile_fwdadd_fullshadows
ENDCG
}
}
}

View File

@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: c9f384b6b84e943ed83161cb82d95b2e
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,4 +1,4 @@
// Crest Water System
// Crest Water System
// Copyright © 2024 Wave Harmonic. All rights reserved.
// Renders a specific slice of a 2D Texture Array