GMS Попытка использовать один и тот же ударно-волновой шейдер дважды при отрисовке GUI не работает
Я создаю поверхность, применяя ее к view_surface_id в объекте контроллера, который затем я могу ссылаться на поверхность в объекте shockwave в событии GUI рисования. Проблема в том, что первая shcokwave не рисуется, несмотря на свою активность, и когда я создаю другую ударную волну, если первая заканчивается, то и вторая.
/// Controller Draw Event
if !surface_exists(surf)
{
surf=surface_create(view_wview,view_hview)
surface_set_target(surf);
draw_clear_alpha(c_black,0);
surface_reset_target();
view_surface_id[0]=surf
}
Это мой графический интерфейс Shockwave Draw
///Shockwave Draw GUI
cont = obj_surf_controller
if instance_exists(cont)
{
surface_set_target(cont.surf)
shader_set(shd_shockwave);
var_time_var+=0.010;
shader_set_uniform_f(uni_time, var_time_var);
shader_set_uniform_f(uni_mouse_pos, var_mouse_pos_x, var_mouse_pos_y);
shader_set_uniform_f(uni_resolution, var_resolution_x, var_resolution_y);
shader_set_uniform_f(uni_shock_amplitude, var_shock_amplitude);
shader_set_uniform_f(uni_shock_refraction, var_shock_refraction );
shader_set_uniform_f(uni_shock_width, var_shock_width);
draw_surface(cont.surf,0,0)
shader_reset();
surface_reset_target();
}
draw_surface(cont.surf,0,0)