e4s-sdk/gamedata/shaders/r1/model_scope_lense_lerp.ps.hlsl
2026-06-17 23:06:51 +03:00

36 lines
1.2 KiB
HLSL
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "common.hlsli"
struct v2p
{
float4 tc0: TEXCOORD0; // base
float4 tc1: TEXCOORD1; // environment
float4 c0: COLOR0; // sun.(fog*fog)
};
//////////////////////////////////////////////////////////////////////////////////////////
// Pixel
uniform sampler2D s_vp2;
uniform sampler2D s_base2;
float4 main (v2p I) : COLOR
{
// Производим выборку правой и левой половин текстуры с сеткой
float2 coords = I.tc0;
coords.x *= 0.5;
float4 base2 = tex2D(s_base2, coords);
coords.x += 0.5;
float4 t_base = tex2D(s_base, coords);
// Миксуем половинки в соответствии с текущим уровнем подсветки
t_base = lerp(base2, t_base, m_zoom_deviation.z);
// Коррекция пропорций в зависимости от разрешения
I.tc0.x = (I.tc0.x - 0.5f) * m_hud_params.x + 0.5f + m_zoom_deviation.x;
I.tc0.y = I.tc0.y + m_zoom_deviation.y;
float4 t_vp2 = tex2D(s_vp2, I.tc0);
float4 final = lerp(t_vp2, t_base, t_base.a);
// out
return float4(final.r, final.g, final.b, min(m_hud_params.y, m_hud_params.a));
}