e4s-game/gamedata/shaders/d3d11/model_green_energybar.ps.hlsl
2026-06-18 01:18:29 +03:00

38 lines
966 B
HLSL

#include "common.hlsli"
uniform float4 m_actor_params;
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;
};
//////////////////////////////////////////////////////////////////////////////////////////
float4 main( v2p I ) : SV_Target
{
float4 t_base = s_base.Sample ( smp_base, I.tc0);
t_base.a = (I.tc0.x < m_actor_params.a) ? 1 : 0;
t_base.r += (0.1 < m_actor_params.a) ? 0 : 0.5;
t_base.g -= (0.1 < m_actor_params.a) ? 0 : 0.5;
// Øóì ïðè âûáðîñå
float noise = get_noise(I.tc0*timers.z) * m_affects.x * m_affects.x * 30;
t_base.r += noise;
t_base.g += noise;
t_base.b += noise;
t_base.xyz = detonemap(t_base.xyz);
return float4 (t_base.r, t_base.g, t_base.b, t_base.a);
}