picogl.gpu.buffers.vertex.modern ================================ .. py:module:: picogl.gpu.buffers.vertex.modern Classes ------- .. autoapisummary:: picogl.gpu.buffers.vertex.modern.ModernVertexArrayGroup Module Contents --------------- .. py:class:: ModernVertexArrayGroup(handle: int = None) Bases: :py:obj:`picogl.gpu.buffers.base.VertexBase` ModernVertexArrayGroup Modern backend (uses a real VAO) .. py:method:: init() .. py:method:: attach_buffers(nbo=None, cbo=None, vbo=None, ebo=None) -> None Attach the buffers that the VAO/group should coordinate. .. py:method:: set_layout(layout: picogl.gpu.buffers.attributes.LayoutDescriptor) -> None set_layout :param layout: LayoutDescriptor: The layout descriptor to define the vertex attribute format. :raises: None Sets the layout for the rendering setup by binding the buffers and configuring the attributes. The state is stored in the Vertex Array Object (VAO). This method assumes a single Vertex Buffer Object (VBO) holds all position data but can be adapted as required. Handles optional usage of Normal Buffer Object (NBO) and Element Buffer Object (EBO) if present. .. py:method:: bind() -> None Bind the underlying VAO/state for rendering. .. py:method:: unbind() -> None Optionally unbind the VAO/state. .. py:method:: delete() -> None Release resources (VAO or equivalent).