Overview#
A minimalist, easy-to-use, high-performance 3D viewer. Octarine
is build on top of the excellent pygfx
WGPU rendering engine which does most of the heavy lifting - we're simply abstracting away some of the boiler plate code for you.
Rationale #
Why another 3D viewer? There are already plenty options out there: vedo
, ipygany
, polyscope
, napari
, fury
, plotly
or pyvista
to name but a few. All of these are great in their own right but I wanted something (a) without heavy dependencies (i.e. no VTK), (b) that lets me interactively explore my data in both REPL and Jupyter and (c) is very performant. None of the existing solutions ticked all those boxes for me.
Octarine
tries to fill that gap:
- Lightweight with very few direct or indirect dependencies
- Works in both Jupyter and Python shell (e.g.
IPython
) - High performance: a mesh with 15M faces renders with 80 fps at 1080p on a 2023 MacBook Pro
Example#
import octarine as oc
import trimesh as tm
# Load an example from trimesh
meshes = tm.load_remote(
'https://github.com/mikedh/trimesh/raw/main/models/CesiumMilkTruck.glb'
)
# Open a fresh viewer
v = oc.Viewer()
# Add mesh to viewer
v.add(meshes)
What next?#
-
Install
Instructions on how to install
Octarine
. -
Viewer Basics
Learn about using
Octarine
in different environments. -
Objects
Check out the guide on different object types.
-
Animations
Add movement to the viewer.
-
Control
Learn how to control the viewer, adjust colors, etc.