P
PepticPaladin
Guest
I made a shader for my character so I could swap its palette, and it works fine when I first run the game, but when I use game_restart, the transparent background turns black.
Run from Gamemaker:
game_restart:
Shader fragment code:
Player draw event:
room_restart works fine.
I'm not sure what's happening.
Run from Gamemaker:
game_restart:
Shader fragment code:
Code:
//
// Simple passthrough fragment shader
//
varying vec2 v_vTexcoord;
varying vec4 v_vColour;
// get palette as texture
uniform sampler2D Palette;
// color offset index
uniform float Offset;
void main()
{
vec4 ref = texture2D(gm_BaseTexture, v_vTexcoord);
vec2 uv_coord = vec2(ref.r, Offset);
vec4 new_color = texture2D(Palette,uv_coord);
gl_FragColor = new_color;
}
Code:
shader_set(p_shPaletteSwap);
texture_set_stage(paletteSwapSampler,tex_palette);
shader_set_uniform_f(v_offset,v_normal);
draw_self();
shader_reset();
I'm not sure what's happening.