diff options
| author | yum <yum.food.vr@gmail.com> | 2024-11-16 16:30:15 -0800 |
|---|---|---|
| committer | yum <yum.food.vr@gmail.com> | 2024-11-16 16:30:45 -0800 |
| commit | bab56f87cff89b6e50563b7632febb57961c9d41 (patch) | |
| tree | f89fa44da52e77a034ce0ab4f2affda91a16ff6e | |
| parent | 82b3aa6059d6c118c6fd617be49ee6f070e153a0 (diff) | |
Fox texture samples now use point
Small perf win
| -rw-r--r-- | fog.cginc | 11 | ||||
| -rw-r--r-- | globals.cginc | 1 |
2 files changed, 7 insertions, 5 deletions
@@ -125,7 +125,7 @@ void getEmitterData(float3 p, #endif float emitter_lod = floor(abs(t) / (_Gimmick_Fog_00_Emitter_Lod_Half_Life * step_size)); - float3 em_color = _Gimmick_Fog_00_Emitter_Texture.SampleLevel(linear_clamp_s, emitter_uv, emitter_lod); + float3 em_color = _Gimmick_Fog_00_Emitter_Texture.SampleLevel(point_clamp_s, emitter_uv, emitter_lod); float emitter_dist = in_range ? abs(t) : 1000; float emitter_falloff = min(1, rcp(emitter_dist)); @@ -133,10 +133,11 @@ void getEmitterData(float3 p, #if 1 float e = 0.1; - diffuse = - _Gimmick_Fog_00_Emitter_Texture.SampleLevel(linear_clamp_s, emitter_uv, 9)+ - _Gimmick_Fog_00_Emitter_Texture.SampleLevel(linear_clamp_s, (emitter_uv * (1 - e*2)) + e, 11); - diffuse *= .5; + float2 emitter_uv_inv = 1.0 - emitter_uv; + diffuse = _Gimmick_Fog_00_Emitter_Texture.SampleLevel(point_clamp_s, float2(emitter_uv.x, emitter_uv.y), 16) + + _Gimmick_Fog_00_Emitter_Texture.SampleLevel(point_clamp_s, float2(emitter_uv.x, emitter_uv_inv.y), 16) + + _Gimmick_Fog_00_Emitter_Texture.SampleLevel(point_clamp_s, float2(emitter_uv_inv.x, emitter_uv.y), 16); + diffuse *= 0.3333; em_loc_clamp += em_loc; // TODO parameterize shaping constants float diffuse_length = length(p - em_loc_clamp); diff --git a/globals.cginc b/globals.cginc index 0e8da7b..1c81c2b 100644 --- a/globals.cginc +++ b/globals.cginc @@ -11,6 +11,7 @@ struct ToonerData UNITY_DECLARE_DEPTH_TEXTURE(_CameraDepthTexture); +SamplerState point_clamp_s; SamplerState point_repeat_s; SamplerState linear_repeat_s; SamplerState linear_clamp_s; |
