picogl.renderer.meshdata
GLContext class
Classes
Holds OpenGL-related state objects for rendering. |
Functions
|
vertices: (N, 3) |
Module Contents
- picogl.renderer.meshdata.compute_vertex_normals(vertices: numpy.ndarray, faces: numpy.ndarray) numpy.ndarray[source]
vertices: (N, 3) faces: (M, 3) 0-based indices returns: (N, 3) normalized vertex normals
- class picogl.renderer.meshdata.MeshData(vbo: numpy.ndarray = None, nbo: numpy.ndarray = None, uvs: numpy.ndarray = None, cbo: numpy.ndarray = None, ebo: numpy.ndarray = None)[source]
Holds OpenGL-related state objects for rendering.
- classmethod _to_float32_flat(arr, name: str, required: bool = False) numpy.ndarray[source]
- classmethod _to_float32_flat_or_none(arr, name: str) numpy.ndarray[source]
- classmethod _to_int32_flat(arr, name: str, required: bool = False) numpy.ndarray[source]
- classmethod _default_colors_for_vertices(vertex_count: int) numpy.ndarray[source]
- classmethod _default_normals_for_vertices(vertex_count: int) numpy.ndarray[source]
- classmethod from_raw(vertices: numpy.ndarray | list[float], normals: numpy.ndarray | list[float] | None = None, uvs: numpy.ndarray | list[float] | None = None, colors: numpy.ndarray | list[float] | None = None, indices: numpy.ndarray | list[float] | None = None, color_per_vertex: numpy.ndarray | list[float] | None = None)[source]
Build a MeshData from raw/python inputs.
- Parameters:
vertices – np.ndarray required, list/array of x,y,z triplets
normals – np.ndarray optional, list/array of x,y,z triplets
uvs – np.ndarray optional, list/array of u,v pairs
indices – np.ndarray optional int indices
colors – np.ndarray optional per-vertex colors (flat float32 array)
color_per_vertex – np.ndarray if provided and colors is None, generate per-vertex colors
- draw(color: tuple = None, line_width: float = 1.0, mode: int = GL.GL_TRIANGLES, fill: bool = False, alpha: float = 1.0)[source]
Draw the mesh with optional colour override and transparency.
- Parameters:
color – Optional colour override. If None and vertex colors exist, uses vertex colors.
line_width – Line width for wireframe mode
mode – OpenGL drawing mode
fill – Whether to fill or use wireframe
alpha – Transparency value from 0.0 (opaque) to 1.0 (fully transparent)