Source code for picogl.buffers.vertex.vbo.vbo_class

"""
Vertex Attributes
"""

from picogl.utils.strenum import StrEnum


[docs] class VBOType(StrEnum): """VBO Type"""
[docs] VBO = "vbo"
[docs] CBO = "cbo"
[docs] NBO = "nbo"
[docs] EBO = "ebo"
[docs] UVS = "uvs"
[docs] class MeshDataAttrs(StrEnum): """Mesh Data Attrs"""
[docs] VERTICES = "vertices"
[docs] COLORS = "colors"
[docs] NORMALS = "normals"
[docs] INDICES = "indices"
[docs] TEXCOORDS = "texcoords"
[docs] ATTRIBUTE_LAYOUT = { VBOType.VBO: 3, VBOType.NBO: 3, VBOType.CBO: None, # dynamic }
[docs] def get_stride(attr, data): if ATTRIBUTE_LAYOUT[attr] is not None: return ATTRIBUTE_LAYOUT[attr] return data.shape[1]