GameMaker (2.0 - 2.2.x)
Icon

Static Atmosphere Shader

MintyPython

You must be logged in to obtain assets

Description

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).

Age Rating: None

Version

GMS2 - Version 1.0.0. Published May 24, 2018

Loading, please wait

Package contents

Loading, please wait

What is the issue?

Loading, please wait