Like ThreeJS but for Python and based on wgpu

pygfx

A render engine, inspired by ThreeJS, but for Python and targeting Vulkan/Metal/DX12 (via wgpu).

Introduction

This is a Python render engine build on top of WGPU (instead of OpenGL).

We take a lot of inspiration from ThreeJS, e.g.:

  • Materials and Geometry are combined in world objects.
  • No event system, but controls that make it relatively easy to integrate with one.
  • Decoupled cameras and controls.
  • The code for the render engines is decoupled from the objects, allowing multiple render engines (e.g. wgpu and svg).

Further we aim for a few niceties:

  • Proper support for high-res screens.
  • Builtin anti-aliasing.
  • Custom post-processing steps.
  • Support for picking objects and parts within objects.
  • (approximate) order-independent transparency (OIT) (not implemented yet).

WGPU is awesome (but also very new)

Working with the WGPU API feels so much nicer than OpenGL. It’s well defined, no global state, we

 

 

 

To finish reading, please visit source site