picogl.buffers.glcleanup ======================== .. py:module:: picogl.buffers.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.buffers.glcleanup.delete_dict_buffers picogl.buffers.glcleanup.delete_buffer_object picogl.buffers.glcleanup.delete_buffer picogl.buffers.glcleanup.delete_vao Module Contents --------------- .. py:function:: delete_dict_buffers(buffer_dict: Dict[str, int]) -> None delete_dict_buffers :param buffer_dict: :return: .. py:function:: delete_buffer_object(buffer: Optional[VertexBuffer]) -> None delete_buffer_object :param buffer: Optional[int] :return: None .. py:function:: delete_buffer(buffer: Optional[int]) -> None delete_buffer :param buffer: Optional[int] :return: None .. py:function:: delete_vao(vao: Optional[int]) -> None delete_vao :param vao: Optional[int] :return: None