diff --git a/kitty/gl.h b/kitty/gl.h index 37d4d7159..263f5da10 100644 --- a/kitty/gl.h +++ b/kitty/gl.h @@ -82,7 +82,6 @@ glew_init(PyObject UNUSED *self) { ARB_TEST(texture_storage); #undef ARB_TEST #endif - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glEnable(GL_BLEND); Py_RETURN_NONE; } diff --git a/kitty/shaders.c b/kitty/shaders.c index 0c2654858..1b4874222 100644 --- a/kitty/shaders.c +++ b/kitty/shaders.c @@ -334,6 +334,7 @@ cell_prepare_to_render(ssize_t vao_idx, Screen *screen, GLfloat xstart, GLfloat static void draw_graphics(ImageRenderData *data, GLuint start, GLuint count) { bind_program(GRAPHICS_PROGRAM); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); static bool graphics_constants_set = false; if (!graphics_constants_set) { glUniform1i(glGetUniformLocation(program_id(GRAPHICS_PROGRAM), "image"), GRAPHICS_UNIT); check_gl(); @@ -378,6 +379,7 @@ draw_cells_interleaved(Screen *screen) { glDrawArraysInstanced(GL_TRIANGLE_FAN, 0, 4, screen->lines * screen->columns); check_gl(); bind_program(CELL_FOREGROUND_PROGRAM); + glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA); glDrawArraysInstanced(GL_TRIANGLE_FAN, 0, 4, screen->lines * screen->columns); check_gl(); if (screen->grman->num_of_positive_refs) draw_graphics(screen->grman->render_data, screen->grman->num_of_negative_refs, screen->grman->num_of_positive_refs);