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 /fog.cginc | |
| parent | 82b3aa6059d6c118c6fd617be49ee6f070e153a0 (diff) | |
Fox texture samples now use point
Small perf win
Diffstat (limited to 'fog.cginc')
| -rw-r--r-- | fog.cginc | 11 |
1 files changed, 6 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); |
