pygfx / rendercanvas

One canvas API, multiple backends
https://rendercanvas.readthedocs.io
BSD 2-Clause "Simplified" License
8 stars 0 forks source link
canvas glfw graphics jupyter qt wgpu wx

CI Documentation Status PyPI version

rendercanvas

One canvas API, multiple backends 🚀

Introduction

See how the two windows above look the same? That's the idea; they also look the same to the code that renders to them. Yet, the GUI systems are very different (Qt vs glfw in this case). Now that's a powerful abstraction!

Purpose

The main use-case is rendering with wgpu, but rendercanvascan be used by anything that can render based on a window-id or by producing rgba images.

Installation

pip install rendercanvas

To have at least one backend, we recommend:

pip install rendercanvas glfw

Usage

Also see the online documentation and the examples.

# Select either the glfw, qt or jupyter backend
from rendercanvas.auto import RenderCanvas, loop

# Visualizations can be embedded as a widget in a Qt application.
# Supported qt libs are PySide6, PyQt6, PySide2 or PyQt5.
from rendercanvas.pyside6 import QRenderWidget

# Now specify what the canvas should do on a draw
TODO

License

This code is distributed under the 2-clause BSD license.

Developers