function draw_player()
{
if (global.palettetexture = -4)
{
pal_swap_set(spr_pavel_pal, paletteselect, false)
draw_self()
pal_swap_reset()
}
else
{
// Применяем шейдер
shader_set(shd_replace_with_sprite);
// Получаем ID текстуры из спрайта
var sprite_texture = sprite_get_texture(spr_paltexture, 0);
// Получаем униформы
var texture_uniform = shader_get_sampler_index(shd_replace_with_sprite, "altTexture");
var texture_scale = shader_get_uniform(shd_replace_with_sprite, "patternScale");
// Устанавливаем текстуру в шейдер
texture_set_stage(texture_uniform, sprite_texture);
// Устанавливаем масштаб узора
shader_set_uniform_f(texture_scale, 16);
// Рисуем объект
draw_self();
// Сброс шейдера
shader_reset();
}
}
function draw_player()
{
if (global.palettetexture == -4)
{
pal_swap_set(spr_pavel_pal, paletteselect, false);
draw_self();
pal_swap_reset();
}
else
{
// Применяем шейдер
shader_set(shd_replace_with_sprite);
// Получаем ID текстуры из спрайта
var sprite_texture = sprite_get_texture(spr_paltexture, 0); // Получаем текстуру
// Проверяем, что текстура действительна
if (sprite_exists(spr_paltexture) && sprite_texture != -1)
{
// Получаем униформы
var texture_uniform = shader_get_uniform(shd_replace_with_sprite, "altTexture");
var texture_scale = shader_get_uniform(shd_replace_with_sprite, "patternScale");
// Устанавливаем текстуру в шейдер
shader_set_uniform_i(texture_uniform, sprite_texture); // Передаем текстуру
// Устанавливаем масштаб узора
shader_set_uniform_f(texture_scale, 16);
// Рисуем объект
draw_self();
}
else
{
// Логгируем ошибку или обрабатываем случай, когда текстура недоступна
show_error("Invalid sprite or texture not found!", true);
}
// Сброс шейдера
shader_reset();
}
}
{
if (global.palettetexture = -4)
{
pal_swap_set(spr_pavel_pal,paletteselect,false)
draw_self()
pal_swap_reset()
}
else
{
// Применяем шейдер
shader_set(shd_replace_with_sprite);
// Получаем ID текстуры из спрайта
var sprite_texture = sprite_get_texture(spr_paltexture, 0); // Получаем текстуру
// Получаем униформы
var texture_uniform = shader_get_uniform(shd_replace_with_sprite, "altTexture");
var texture_scale = shader_get_uniform(shd_replace_with_sprite, "patternScale");
// Устанавливаем текстуру в шейдер
shader_set_uniform_i(texture_uniform, sprite_texture); // Передаем текстуру
// Устанавливаем масштаб узора
shader_set_uniform_f(texture_scale, 16);
// Рисуем объект
draw_self();
// Сброс шейдера
shader_reset();
}
}
при выполнении кода ошибка
Entering main loop.
**********************************.
ERROR!!! :: ############################################################################################
ERROR in action number 1
of Draw Event for object obj_drawcontroller:
shader_set_uniform_i argument 2 incorrect type (ptr) expecting a Number (YYGR)
at gml_Script_draw_player (line 22) - shader_set_uniform_i(texture_uniform, sprite_texture); // Передаем текстуру
############################################################################################
gml_Script_draw_player (line 22)
gml_Object_obj_drawcontroller_Draw_0 (line 5) - draw_player()