This commit is contained in:
Vasily Petrov 2026-06-18 01:18:29 +03:00
commit 2fe6ca2f65
1473 changed files with 251771 additions and 0 deletions

View file

@ -0,0 +1,119 @@
// #include "common.hlsli"
// uniform float4 m_hud_params;
// uniform float4 m_zoom_deviation;
// uniform float4 m_affects;
// struct v2p
// {
// float2 tc0: TEXCOORD0; // base
// float3 tc1: TEXCOORD1; // environment
// float4 c0: COLOR0; // sun.(fog*fog)
// };
// float get_noise(float2 co)
// {
// return (frac(sin(dot(co.xy ,float2(12.9898,78.233))) * 43758.5453))*0.5;
// };
// //////////////////////////////////////////////////////////////////////////////////////////
// float resize(float input, float factor, float offset)
// {
// return (input-0.5f+offset) / factor+0.5f-offset;
// }
// // Pixel
// uniform float4 screen_res;
// Texture2D s_vp2;
// //Texture2D s_skymap;
// //uniform samplerCUBE s_env0;
// //uniform samplerCUBE s_env1;
// float random(float2 co)
// {
// return 0.5+(frac(sin(dot(co.xy ,float2(12.9898,78.233))) * 43758.5453))*0.5;
// };
// float4 main( v2p I ) : SV_Target
// {
// if (m_hud_params.y < 0.0001) return float4 (0,0,0,0);
// // float2 distort = s_distort.Sample( smp_rtlinear, I.tc);
// // float3 image = s_base.Sample( smp_rtlinear, I.tc + offset);
// float4 t_base = s_base.Sample ( smp_base, I.tc0); // Òåêñòóðà ñåòêè
// // float4 t_skymap = s_skymap.Sample ( smp_base, I.tc0); // Êàðòà îòðàæåíèÿ íåáà
// //ñäâèã îò ñîñòîÿíèÿ îðóæèÿ
// I.tc0.x = I.tc0.x+m_zoom_deviation.x;
// I.tc0.y = I.tc0.y+m_zoom_deviation.y;
// // Ðàñòÿãèâàåì êàðòèíêó â ëèíçå òàê, ÷òîáû íà ëþáîì ðàçðåøåíèè ýêðàíà áûëè ïðàâèëüíûå ïðîïîðöèè
// I.tc0.x = resize(I.tc0.x, screen_res.x/screen_res.y, 0);
// float4 t_vp2 = s_vp2.Sample ( smp_base, I.tc0); // Èçîáðàæåíèå ñî âòîðîãî âüþïîðòà
// //àááåðàöèÿ
// float2 offset = distance(I.tc0, float2( .5f, .5f ))*float2(m_hud_params.z, m_hud_params.z);
// t_vp2.r = s_vp2.Sample ( smp_base, I.tc0+offset).r;
// t_vp2.b = s_vp2.Sample ( smp_base, I.tc0-offset).b;
// float3 final = float3(0, 0, 0);
// // Ðàññ÷èòûâàåì ñëó÷àéíûé øóì ïèêñåëÿ
// float noise = random(I.tc0*timers.z) * m_zoom_deviation.w;
// float gray = ((t_vp2.r + t_vp2.g + t_vp2.b))*m_zoom_deviation.z*7;
// t_vp2.r = t_vp2.r*(1-m_zoom_deviation.z) + gray;
// t_vp2.g = t_vp2.g*(1-m_zoom_deviation.z) + gray;
// t_vp2.b = t_vp2.b*(1-m_zoom_deviation.z) + gray;
// t_vp2.b+= (0.4 + noise)*m_zoom_deviation.z;
// // Øóì ïðè âûáðîñå
// float blow_noise = get_noise(I.tc0*timers.z) * m_affects.x * m_affects.x * 30;
// t_vp2.r += blow_noise;
// t_vp2.g += blow_noise;
// t_vp2.b += blow_noise;
// t_base.xyz = detonemap(t_base.xyz);
// // Ìèêñóåì ñ ñåòêîé
// 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));
// }
#include "common.hlsli"
uniform float4 m_hud_params;
struct v2p
{
float2 tc0: TEXCOORD0;
float3 tc1: TEXCOORD1;
float4 c0: COLOR0;
};
float4 main(v2p I, float4 pos2d : SV_POSITION) : SV_Target
{
if (m_hud_params.y * m_hud_params.a < 0.0001f) {
return 0.0f;
}
float4 t_base = s_base.Sample(smp_base, I.tc0);
t_base.xyz = detonemap(t_base.xyz);
float4 t_vp2 = s_image[pos2d.xy];
float alpha = m_hud_params.y * m_hud_params.a;
t_vp2 *= saturate(alpha * 2.0f - 1.0f);
float3 final = lerp(t_vp2.xyz, t_base.xyz, t_base.a);
return float4(final.xyz, saturate(alpha * 2.0f));
}