summaryrefslogtreecommitdiffstats
path: root/globals.cginc
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2024-10-11 18:39:50 -0700
committeryum <yum.food.vr@gmail.com>2024-10-11 18:39:50 -0700
commit0e39a7ef25e7938b84736519057c06c8d84856cc (patch)
tree7af1f8822572aa13747e913fbd8b5ca7d5a82819 /globals.cginc
parente193c86c869b84dfaaa26465c0e6fb923a27631c (diff)
Fog performance optimizations
* Rename albedo cutoff to alpha cutoff * Add LODs for calculating fog density * Use 3D noise texture to speed up density calculation * Eliminate low impact octaves from density calculation * Add support for multiple emitters
Diffstat (limited to 'globals.cginc')
-rw-r--r--globals.cginc27
1 files changed, 22 insertions, 5 deletions
diff --git a/globals.cginc b/globals.cginc
index e76cc4f..7c76853 100644
--- a/globals.cginc
+++ b/globals.cginc
@@ -5,6 +5,7 @@
UNITY_DECLARE_DEPTH_TEXTURE(_CameraDepthTexture);
+SamplerState point_repeat_s;
SamplerState linear_repeat_s;
SamplerState linear_clamp_s;
SamplerState bilinear_repeat_s;
@@ -713,15 +714,31 @@ float _Gimmick_Fog_00_Noise_Scale;
float _Gimmick_Fog_00_Noise_Exponent;
float _Gimmick_Fog_00_Density;
float _Gimmick_Fog_00_Normal_Cutoff;
-float _Gimmick_Fog_00_Albedo_Cutoff;
+float _Gimmick_Fog_00_Alpha_Cutoff;
float _Gimmick_Fog_00_Ray_Origin_Randomization;
+float _Gimmick_Fog_00_Lod_Half_Life;
+texture3D _Gimmick_Fog_00_Noise;
#if defined(_GIMMICK_FOG_00_EMITTER_TEXTURE)
texture2D _Gimmick_Fog_00_Emitter_Texture;
-float3 _Gimmick_Fog_00_Emitter_Location;
-float3 _Gimmick_Fog_00_Emitter_Normal;
-float _Gimmick_Fog_00_Emitter_Scale_X;
-float _Gimmick_Fog_00_Emitter_Scale_Y;
float _Gimmick_Fog_00_Emitter_Brightness;
+float _Gimmick_Fog_00_Emitter_Lod_Half_Life;
+
+float3 _Gimmick_Fog_00_Emitter0_Location;
+float3 _Gimmick_Fog_00_Emitter0_Normal;
+float _Gimmick_Fog_00_Emitter0_Scale_X;
+float _Gimmick_Fog_00_Emitter0_Scale_Y;
+#if defined(_GIMMICK_FOG_00_EMITTER_1)
+float3 _Gimmick_Fog_00_Emitter1_Location;
+float3 _Gimmick_Fog_00_Emitter1_Normal;
+float _Gimmick_Fog_00_Emitter1_Scale_X;
+float _Gimmick_Fog_00_Emitter1_Scale_Y;
+#endif
+#if defined(_GIMMICK_FOG_00_EMITTER_2)
+float3 _Gimmick_Fog_00_Emitter2_Location;
+float3 _Gimmick_Fog_00_Emitter2_Normal;
+float _Gimmick_Fog_00_Emitter2_Scale_X;
+float _Gimmick_Fog_00_Emitter2_Scale_Y;
+#endif
#endif
#endif