Skip to content

Releases: markxbrooks/PicoGL

PicoGL Initial Release 0.1.0

12 Jan 00:24

Choose a tag to compare

OpenGL Logo

🦚 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:


🚀 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.