From 21e186f75b504d832d9c7bef0456edd7d5d3155e Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 8 Sep 2021 10:52:35 +0800 Subject: +behavior design --- .../Core/Includes/AtmosphericHeightFog.cginc | 151 --------------------- 1 file changed, 151 deletions(-) delete mode 100644 Assets/BOXOPHOBIC/Atmospheric Height Fog/Core/Includes/AtmosphericHeightFog.cginc (limited to 'Assets/BOXOPHOBIC/Atmospheric Height Fog/Core/Includes/AtmosphericHeightFog.cginc') diff --git a/Assets/BOXOPHOBIC/Atmospheric Height Fog/Core/Includes/AtmosphericHeightFog.cginc b/Assets/BOXOPHOBIC/Atmospheric Height Fog/Core/Includes/AtmosphericHeightFog.cginc deleted file mode 100644 index 4a1cb269..00000000 --- a/Assets/BOXOPHOBIC/Atmospheric Height Fog/Core/Includes/AtmosphericHeightFog.cginc +++ /dev/null @@ -1,151 +0,0 @@ -/* - -// Add the following directives to your shader for directional and noise support - -#include "Assets/BOXOPHOBIC/Atmospheric Height Fog/Core/Library/AtmosphericHeightFog.cginc" -#pragma multi_compile AHF_NOISEMODE_OFF AHF_NOISEMODE_PROCEDURAL3D - -// Apply Atmospheric Height Fog to transparent shaders like this -// Where finalColor is the shader output color, fogParams.rgb is the fog color and fogParams.a is the fog mask - -float4 fogParams = GetAtmosphericHeightFog(i.worldPos); -return ApplyAtmosphericHeightFog(finalColor, fogParams); - -*/ - -#ifndef ATMOSPHERIC_HEIGHT_FOG_INCLUDED -#define ATMOSPHERIC_HEIGHT_FOG_INCLUDED - -#include "UnityCG.cginc" -#include "UnityShaderVariables.cginc" - -uniform half4 AHF_FogColorStart; -uniform half4 AHF_FogColorEnd; -uniform half AHF_FogDistanceStart; -uniform half AHF_FogDistanceEnd; -uniform half AHF_FogDistanceFalloff; -uniform half AHF_FogColorDuo; -uniform half4 AHF_DirectionalColor; -uniform half3 AHF_DirectionalDir; -uniform half AHF_DirectionalIntensity; -uniform half AHF_DirectionalFalloff; -uniform half3 AHF_FogAxisOption; -uniform half AHF_FogHeightEnd; -uniform half AHF_FogHeightStart; -uniform half AHF_FogHeightFalloff; -uniform half AHF_FogLayersMode; -uniform half AHF_NoiseScale; -uniform half3 AHF_NoiseSpeed; -uniform half AHF_NoiseDistanceEnd; -uniform half AHF_NoiseIntensity; -uniform half AHF_NoiseModeBlend; -uniform half AHF_FogIntensity; - -float3 mod3D289(float3 x) { return x - floor(x / 289.0) * 289.0; } -float4 mod3D289(float4 x) { return x - floor(x / 289.0) * 289.0; } -float4 permute(float4 x) { return mod3D289((x * 34.0 + 1.0) * x); } -float4 taylorInvSqrt(float4 r) { return 1.79284291400159 - r * 0.85373472095314; } - -float snoise(float3 v) -{ - const float2 C = float2(1.0 / 6.0, 1.0 / 3.0); - float3 i = floor(v + dot(v, C.yyy)); - float3 x0 = v - i + dot(i, C.xxx); - float3 g = step(x0.yzx, x0.xyz); - float3 l = 1.0 - g; - float3 i1 = min(g.xyz, l.zxy); - float3 i2 = max(g.xyz, l.zxy); - float3 x1 = x0 - i1 + C.xxx; - float3 x2 = x0 - i2 + C.yyy; - float3 x3 = x0 - 0.5; - i = mod3D289(i); - float4 p = permute(permute(permute(i.z + float4(0.0, i1.z, i2.z, 1.0)) + i.y + float4(0.0, i1.y, i2.y, 1.0)) + i.x + float4(0.0, i1.x, i2.x, 1.0)); - float4 j = p - 49.0 * floor(p / 49.0); // mod(p,7*7) - float4 x_ = floor(j / 7.0); - float4 y_ = floor(j - 7.0 * x_); // mod(j,N) - float4 x = (x_ * 2.0 + 0.5) / 7.0 - 1.0; - float4 y = (y_ * 2.0 + 0.5) / 7.0 - 1.0; - float4 h = 1.0 - abs(x) - abs(y); - float4 b0 = float4(x.xy, y.xy); - float4 b1 = float4(x.zw, y.zw); - float4 s0 = floor(b0) * 2.0 + 1.0; - float4 s1 = floor(b1) * 2.0 + 1.0; - float4 sh = -step(h, 0.0); - float4 a0 = b0.xzyw + s0.xzyw * sh.xxyy; - float4 a1 = b1.xzyw + s1.xzyw * sh.zzww; - float3 g0 = float3(a0.xy, h.x); - float3 g1 = float3(a0.zw, h.y); - float3 g2 = float3(a1.xy, h.z); - float3 g3 = float3(a1.zw, h.w); - float4 norm = taylorInvSqrt(float4(dot(g0, g0), dot(g1, g1), dot(g2, g2), dot(g3, g3))); - g0 *= norm.x; - g1 *= norm.y; - g2 *= norm.z; - g3 *= norm.w; - float4 m = max(0.6 - float4(dot(x0, x0), dot(x1, x1), dot(x2, x2), dot(x3, x3)), 0.0); - m = m * m; - m = m * m; - float4 px = float4(dot(x0, g0), dot(x1, g1), dot(x2, g2), dot(x3, g3)); - return 42.0 * dot(m, px); -} - -// Returns the fog color and alpha based on world position -float4 GetAtmosphericHeightFog(float3 positionWS) -{ - float4 finalColor; - - float3 WorldPosition = positionWS; - - float3 WorldPosition2_g1 = WorldPosition; - float temp_output_7_0_g860 = AHF_FogDistanceStart; - half FogDistanceMask12_g1 = pow(abs(saturate(((distance(WorldPosition2_g1, _WorldSpaceCameraPos) - temp_output_7_0_g860) / (AHF_FogDistanceEnd - temp_output_7_0_g860)))), AHF_FogDistanceFalloff); - float3 lerpResult258_g1 = lerp((AHF_FogColorStart).rgb, (AHF_FogColorEnd).rgb, (saturate((FogDistanceMask12_g1 - 0.5)) * AHF_FogColorDuo)); - float3 normalizeResult318_g1 = normalize((WorldPosition2_g1 - _WorldSpaceCameraPos)); - float dotResult145_g1 = dot(normalizeResult318_g1, AHF_DirectionalDir); - half DirectionalMask30_g1 = pow(abs(((dotResult145_g1*0.5 + 0.5) * AHF_DirectionalIntensity)), AHF_DirectionalFalloff); - float3 lerpResult40_g1 = lerp(lerpResult258_g1, (AHF_DirectionalColor).rgb, DirectionalMask30_g1); - float3 temp_output_2_0_g859 = lerpResult40_g1; - float3 gammaToLinear3_g859 = GammaToLinearSpace(temp_output_2_0_g859); -#ifdef UNITY_COLORSPACE_GAMMA - float3 staticSwitch1_g859 = temp_output_2_0_g859; -#else - float3 staticSwitch1_g859 = gammaToLinear3_g859; -#endif - float3 temp_output_256_0_g1 = staticSwitch1_g859; - half3 AHF_FogAxisOption181_g1 = AHF_FogAxisOption; - float3 break159_g1 = (WorldPosition2_g1 * AHF_FogAxisOption181_g1); - float temp_output_7_0_g861 = AHF_FogHeightEnd; - half FogHeightMask16_g1 = pow(abs(saturate((((break159_g1.x + break159_g1.y + break159_g1.z) - temp_output_7_0_g861) / (AHF_FogHeightStart - temp_output_7_0_g861)))), AHF_FogHeightFalloff); - float lerpResult328_g1 = lerp((FogDistanceMask12_g1 * FogHeightMask16_g1), saturate((FogDistanceMask12_g1 + FogHeightMask16_g1)), AHF_FogLayersMode); - float simplePerlin3D193_g1 = snoise(((WorldPosition2_g1 * (1.0 / AHF_NoiseScale)) + (-AHF_NoiseSpeed * _Time.y))); - float temp_output_7_0_g863 = AHF_NoiseDistanceEnd; - half NoiseDistanceMask7_g1 = saturate(((distance(WorldPosition2_g1, _WorldSpaceCameraPos) - temp_output_7_0_g863) / (0.0 - temp_output_7_0_g863))); - float lerpResult198_g1 = lerp(1.0, (simplePerlin3D193_g1*0.5 + 0.5), (NoiseDistanceMask7_g1 * AHF_NoiseIntensity * AHF_NoiseModeBlend)); - half NoiseSimplex3D24_g1 = lerpResult198_g1; -#if defined(AHF_NOISEMODE_OFF) - float staticSwitch42_g1 = lerpResult328_g1; -#elif defined(AHF_NOISEMODE_PROCEDURAL3D) - float staticSwitch42_g1 = (lerpResult328_g1 * NoiseSimplex3D24_g1); -#else - float staticSwitch42_g1 = lerpResult328_g1; -#endif - float temp_output_43_0_g1 = (staticSwitch42_g1 * AHF_FogIntensity); - float4 appendResult114_g1 = (float4(temp_output_256_0_g1, temp_output_43_0_g1)); - - - finalColor = appendResult114_g1; - return finalColor; -} - -// Applies the fog -float3 ApplyAtmosphericHeightFog(float3 color, float4 fog) -{ - return float3(lerp(color.rgb, fog.rgb, fog.a)); -} - -float4 ApplyAtmosphericHeightFog(float4 color, float4 fog) -{ - return float4(lerp(color.rgb, fog.rgb, fog.a), color.a); -} - -#endif -- cgit v1.1-26-g67d0