PicoGL Documentation

PicoGL is a lightweight Python OpenGL wrapper designed for educational purposes and simple 3D graphics applications. It provides a clean, easy-to-use interface for OpenGL operations while maintaining compatibility with both modern and legacy OpenGL systems.

Python Version OpenGL Support License

Features

  • Cross-platform compatibility: Works on Windows, macOS, and Linux

  • Legacy OpenGL support: Compatible with OpenGL 1.x, 2.x, and 3.3+

  • Educational focus: Clean, well-documented code for learning OpenGL

  • Multiple backends: Support for both modern and legacy rendering pipelines

  • Comprehensive examples: From simple cubes to complex molecular visualizations

  • Unit testing: Full test coverage for all major components

Quick Start

from picogl.renderer import MeshData
from picogl.ui.backend.glut.window.object import RenderWindow

# Create mesh data
data = MeshData.from_raw(vertices=vertices, colors=colors)

# Create render window
window = RenderWindow(width=800, height=600, data=data)
window.initialize()
window.run()

Installation

# Install from PyPI (when available)
pip install picogl

# Or install from source
git clone https://github.com/your-org/picogl.git
cd picogl
pip install -e .

Requirements

  • Python 3.7+

  • PyOpenGL

  • NumPy

  • PyGLM (for matrix operations)

  • Pillow (for texture loading)

Optional Dependencies

  • PyQt5/PyQt6 (for Qt-based UI backends)

  • GLUT (for GLUT-based examples)

Contents

Indices and tables