extern void resources_cleanup(void) { for (int i = 0; i < MAX_TEXTURES; i++) if (all_resources.textures[i].id != 0) free_texture(&all_resources.textures[i]); for (int i = 0; i < MAX_SAMPLERS; i++) if (all_resources.samplers[i].id != 0) free_sampler(&all_resources.samplers[i]); for (int i = 0; i < MAX_RENDERBUFFERS; i++) if (all_resources.renderbuffers[i].id) free_renderbuffer(&all_resources.renderbuffers[i]); for (int i = 0; i < MAX_FRAMEBUFFERS; i++) if (all_resources.framebuffers[i].id) free_framebuffer(&all_resources.framebuffers[i]); for (int i = 0; i < MAX_BUFFERS; i++) if (all_resources.buffers[i].id) free_video_buffer(&all_resources.buffers[i]); for (int i = 0; i < MAX_VERTEX_ARRAYS; i++) if (all_resources.arrays[i].id) free_vertex_array(&all_resources.arrays[i]); for (int i = 0; i < MAX_SHADERS; i++) free_shader(&all_resources.shaders[i]); }
/** * deconstructor */ template <class ZT, class F> GaussSieve<ZT, F>::~GaussSieve() { free_list_queue(); free_sampler(); }