#include "common.hlsli" struct v2p { float4 tc0: TEXCOORD0; // base float4 tc1: TEXCOORD1; // environment float4 c0: COLOR0; // sun.(fog*fog) }; ////////////////////////////////////////////////////////////////////////////////////////// // Pixel uniform sampler2D s_vp2; float4 main ( v2p I ) : COLOR { float4 t_base = tex2D (s_base,I.tc0); 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 = float4 (0, 0, 0, 0); { //** Стандартный режим **// // Миксуем всё и собираем финальную картинку float4 base = lerp (t_vp2, t_base, t_base.a); // Сетку с вьюпортом final = base; } // out return float4 (final.r, final.g, final.b, min(m_hud_params.y, m_hud_params.a)); }