picogl.backend.gl.wrappers.glcleanup ==================================== .. py:module:: picogl.backend.gl.wrappers.glcleanup .. autoapi-nested-parse:: OpenGL Buffer Cleanup Utilities =============================== This module provides helper functions for safely deleting OpenGL buffer objects, including vertex buffer objects (VBOs), vertex array objects (VAOs), and dictionaries of buffer handles. It ensures proper resource cleanup and avoids memory leaks in graphics applications. Dependencies: ------------- - OpenGL (PyOpenGL) - picogl.backend.modern.core.vertex.base (for VertexBuffer type) Functions: ---------- .. autofunction:: delete_dict_buffers Deletes all buffer handles stored in a dictionary and clears the dictionary. .. autofunction:: delete_buffer_object Deletes a buffer object if it is valid and has a non-zero handle. .. autofunction:: delete_buffer Deletes a raw buffer handle if it is valid. .. autofunction:: delete_vao Deletes a vertex array object (VAO) if it is valid. Usage Example: -------------- .. code-block:: python delete_buffer_object(my_vertex_buffer) delete_vao(my_vao_id) delete_dict_buffers(buffer_map) Functions --------- .. autoapisummary:: picogl.backend.gl.wrappers.glcleanup.gl_delete_dict_buffers picogl.backend.gl.wrappers.glcleanup.gl_delete_buffer_object picogl.backend.gl.wrappers.glcleanup.gl_delete_buffers picogl.backend.gl.wrappers.glcleanup.gl_delete_vertex_arrays Module Contents --------------- .. py:function:: gl_delete_dict_buffers(buffer_dict: Dict[str, int]) -> None delete_dict_buffers :param buffer_dict: :return: .. py:function:: gl_delete_buffer_object(buffer: Optional[VertexBuffer]) -> None delete_buffer_object :param buffer: Optional[int] :return: None .. py:function:: gl_delete_buffers(buffer: Optional[int]) -> None gl_delete_buffers :param buffer: Optional[int] :return: None .. py:function:: gl_delete_vertex_arrays(vao: Optional[int], number: int = 1) -> None delete_vao :param vao: Optional[int] :param number: Optional[int] :return: None