A shader that creates a nice, even form of visual static, sprinkled across the screen and animated over time. Great for atmospheric style!
Comes with sliders to adjust the properties and tune the effect to your liking.
The static effect is versatile, ranging in use from big, screen obscuring effects (such as getting hit and creating visual noise) to subtle background ambience.
How to use
The shader manager included in the project handles applying the effect. To do so requires disabling the automatic drawing of the screen, setting the shader and its uniforms, then drawing the surface stretched to the correct dimensions.
///Apply effect to screen
//Set shader
shader_set(sh_static_atmosphere);
//Set uniforms
shader_set_uniform_f(u_Intensity, intensity);
shader_set_uniform_f(u_Time, current_time/1000);
shader_set_uniform_f(u_Period, period);
shader_set_uniform_f(u_Resolution, w, h);
shader_set_uniform_f(u_Color, color_get_red(color)/255, color_get_green(color)/255, color_get_blue(color)/255);
//Draw surface stretched to the screen
var _disp_w = window_get_width();
var _disp_h = window_get_height();
var _app_w = surface_get_width(application_surface);
var _app_h = surface_get_height(application_surface);
var _scale = min( _disp_w / _app_w, _disp_h / _app_h );
var _final_app_w = _app_w * _scale;
var _final_app_h = _app_h * _scale;
var _final_app_x = 0.5*( _disp_w - _final_app_w );
var _final_app_y = 0.5*( _disp_h - _final_app_h );
draw_surface_stretched( application_surface, _final_app_x, _final_app_y, _final_app_w, _final_app_h );
shader_reset();
End User Licence Agreement (EULA).