picogl.protocols ================ .. py:module:: picogl.protocols Submodules ---------- .. toctree:: :maxdepth: 1 /autoapi/picogl/protocols/drawable_buffer/index /autoapi/picogl/protocols/mesh_backend/index Classes ------- .. autoapisummary:: picogl.protocols.DrawableBuffer Package Contents ---------------- .. py:class:: DrawableBuffer Bases: :py:obj:`Protocol` Protocol for OpenGL buffer/VAO objects that can be bound, drawn, and deleted. Implementors must provide bind(), unbind(), draw(), and delete(). Optional: is_valid() for validity checks; __enter__/__exit__ for context-manager support (with obj: obj.draw()). Legacy VBO groups and modern VAOs (AtomVAO, BondsVAO, RibbonVAO, CalphasVAO, RibbonVBG, etc.) conform to this protocol. .. py:method:: bind() -> None Bind this buffer/VAO for rendering. .. py:method:: unbind() -> None Unbind this buffer/VAO after rendering. .. py:method:: draw(*args: Any, **kwargs: Any) -> None Issue draw calls. Signature is backend-specific (e.g. atom_count, index_count). .. py:method:: delete() -> None Release GPU resources.