Releases: markxbrooks/PicoGL
PicoGL Initial Release 0.1.0
🦚 PicoGL v0.1.0 — Initial Release
We are pleased to announce the initial public release of PicoGL (v0.1.0).
PicoGL is a lightweight, Pythonic wrapper around Modern OpenGL—with optional support for selected legacy workflows—designed to make GPU programming approachable, readable, and enjoyable without obscuring the underlying graphics API. This release establishes the core architecture, APIs, and examples that will form the foundation for future development.
✨ Highlights
-
Pythonic OpenGL Abstractions
Clean, expressive APIs for shaders, buffers, vertex arrays, textures, and render pipelines—minimizing boilerplate while preserving clarity. -
Modern OpenGL First
Emphasis on shader-based rendering and explicit GPU resource management, aligned with contemporary OpenGL best practices. -
Legacy Compatibility (macOS-friendly)
Support for legacy profiles via Vertex Buffer Groups (PicoGL’s abstraction over vertex arrays), enabling practical rendering on platforms where modern OpenGL is deprecated. -
Full Low-Level Escape Hatch
PicoGL does not hide OpenGL—developers can freely mix high-level PicoGL constructs with raw OpenGL calls when needed. -
Automatic Resource Management
Structured lifecycle handling for buffers, shaders, textures, and VAOs to reduce leaks and simplify cleanup. -
Cross-Platform
Designed to run anywhere Python and OpenGL are available.
🧪 Included Examples
This release ships with a comprehensive set of working examples demonstrating both modern and legacy workflows:
- Colored and textured cubes
- Shader-based rendering pipelines
- Legacy OpenGL rendering without shaders
- Object loading (Newell Teapot)
- Texture mapping
- Interactive GLUT-based windows
- Qt-based legacy rendering examples
- Advanced visualization: Protein molecule viewer (PDB) using C-alpha traces
These examples range from introductory to advanced, illustrating how PicoGL scales from simple demos to domain-specific visualization.
📖 Documentation
Complete documentation is available in multiple formats:
-
HTML (Online)
https://markxbrooks.github.io/PicoGL/ -
PDF (Offline)
https://github.com/markxbrooks/PicoGL/blob/main/doc/_build/latex/picogl.pdf -
Source Documentation
Available in the repository under thedocs/directory.
🚀 Installation
git clone https://github.com/markxbrooks/PicoGL.git
cd PicoGL
pip install .
Editable install for development:
pip install -e .
(PyPI distribution is planned for this release.)
⚠️ Notes
PicoGL for Python is not affiliated with the JavaScript library PicoGL.js.
The shared naming and similar ethos are coincidental, though the conceptual parallels may be useful for developers porting ideas between Python/OpenGL and WebGL ecosystems.
🧭 Looking Ahead
v0.1.0 establishes PicoGL’s core API, rendering abstractions, and example-driven approach. Future releases will focus on API stabilization, expanded documentation, performance tuning, and broader platform coverage.
Thank you for exploring PicoGL. Feedback, issues, and contributions are welcome.