Source code for picogl.backend.modern.core.elements.draw

"""
draw elements
"""
from typing import Optional, Any

from picogl.backend.gl.enums import GLDrawMode, GLNumeric
from picogl.backend.gl.wrappers import gl_draw_elements
from picogl.backend.modern.core.elements.vertex_array import bound_vertex_array

    
[docs] def draw_elements( vao: int, index_count: int, mode: int = GLDrawMode.TRIANGLES, # or int index_type: int = GLNumeric.UNSIGNED_INT, # or GLNumeric.UNSIGNED_INT pointer: Optional[Any] = None ) -> None: """ Bind a VAO and issue glDrawElements for the bound element buffer. - vao: Vertex Array Object to bind - index_count: Number of indices to draw - mode: GL draw mode (e.g., GL_LINES, GL_TRIANGLES) - index_type: Type of indices (e.g., GL_UNSIGNED_INT) - pointer: Optional client-side index data; if None, the bound EBO is used """ with bound_vertex_array(vao): gl_draw_elements(index_count=index_count, dtype=index_type, mode=mode, pointer=pointer, offset=0)