Exemple #1
0
void display_destroy(t_display* display)
{
	display_mesh_renderer_destroy(display->mesh_renderer);
	display_gl_destroy_buffer(display->memory_vertex_buffer);
	display_gl_destroy_buffer(display->memory_grid_vertex_buffer);
	display_gl_destroy_buffer(display->memory_grid_index_buffer);
	display_gl_destroy_texture(display->hex_texture);
	display_gl_destroy_shader(&display->memory_shader);
	display_gl_destroy_shader(&display->io_shader);
	display_gl_destroy_vao(display->memory_vao);
	display_text_destroy(display->texts);

	glfwDestroyWindow(display->window);
	free(display->memory_temp_buffer);
	glfwTerminate();
}
void display_gl_io_destroy(struct display_gl_s* display) {
	glDeleteTextures(1, &display->read_texture);
	glDeleteTextures(1, &display->write_texture);
	display_gl_destroy_shader(&display->io_shader);
	free(display->io_read_buffer);
	free(display->io_write_buffer);
}
void display_gl_memory_destroy(struct display_gl_s* display) {
	glDeleteBuffers(1, &display->memory_vertex_buffer);
	glDeleteTextures(1, &display->hex_texture);
	glDeleteVertexArrays(1, &display->memory_vao);
	display_gl_destroy_shader(&display->memory_shader);
}