clean opengl objects

This commit is contained in:
2025-09-21 12:03:23 +02:00
parent 06181782bf
commit 724eec9241
5 changed files with 52 additions and 26 deletions
+16
View File
@@ -439,4 +439,20 @@ void shaders_compute(ShaderProgram program, Context context, bool monitor,
use_program(program,
monitor ? program.frag_monitor_index : program.frag_output_index,
true, context);
}
void shaders_free(ShaderProgram program) {
unsigned int i;
for (i = 0; i < program.frag_count; i++) {
glDeleteProgram(program.programs[i]);
}
glDeleteFramebuffers(program.frag_count, program.frame_buffers);
glDeleteTextures(program.tex_count, program.textures);
glDeleteBuffers(1, &program.vertex_buffer);
}
void shaders_free_window(ShaderProgram program, bool secondary) {
glDeleteVertexArrays(1, &program.vertex_array[secondary ? 1 : 0]);
}