picogl.backend.geometry
Geometry binding layer: CPU mesh data to GPU draw units.
Submodules
Classes
Wrap a |
|
Upload CPU mesh data to a reusable |
|
Upload |
|
Upload |
|
Client-array mesh binding from CPU |
|
Uploaded or CPU-bound geometry ready for bind + draw. |
|
VAO-backed mesh; wraps |
Package Contents
- class picogl.backend.geometry.DrawableBufferAdapter(buffer: Any, draw_kwargs: dict | None = None)[source]
Bases:
picogl.backend.geometry.mesh.GPUMeshWrap a
DrawableBufferas GPUMesh.- _buffer
- _draw_kwargs
- class picogl.backend.geometry.GLBindingStrategy[source]
Bases:
abc.ABCUpload CPU mesh data to a reusable
GPUMesh.- _last_gpu_mesh: picogl.backend.geometry.mesh.GPUMesh | None = None
- abstract upload(mesh: picogl.renderer.meshdata.MeshData) picogl.backend.geometry.mesh.GPUMesh[source]
- class picogl.backend.geometry.LegacyBinding[source]
Bases:
GLBindingStrategyUpload
MeshDatato a client-stateLegacyMesh.
- class picogl.backend.geometry.ModernBinding[source]
Bases:
GLBindingStrategyUpload
MeshDatato a VAO-backedModernMesh.- upload_gpu_object(mesh: Any) picogl.backend.geometry.mesh.GPUMesh[source]
Wrap an object that already has
vao/ebo/index_count.
- class picogl.backend.geometry.LegacyMesh(mesh: Any)[source]
Bases:
picogl.backend.geometry.mesh.GPUMeshClient-array mesh binding from CPU
MeshDataor compatible objects.- mesh
- _binding
- class picogl.backend.geometry.GPUMesh[source]
Bases:
abc.ABCUploaded or CPU-bound geometry ready for bind + draw.
- class picogl.backend.geometry.ModernMesh(*, gl_mesh: picogl.renderer.glmesh.GLMesh | None = None, vao: Any = None, index_count: int = 0)[source]
Bases:
picogl.backend.geometry.mesh.GPUMeshVAO-backed mesh; wraps
GLMeshor a pre-uploaded VAO object.- _gl_mesh = None
- _vao = None
- _index_count = 0