{% extends "layout.html" %} {% block extrahead %} {# sphinxext-opengraph skips this page: it has no doctree, so the tags are set here. #} {% endblock %} {% block body %}
science + speed = fury

Scientific
visualization,
furiously fast.

FURY is a free, open source Python library for 3D scientific visualization and animation, built on the GPU through pygfx and WebGPU. NumPy arrays in, real-time renders out.

$ pip install fury
$ conda install -c conda-forge fury
your_first_scene.py
10 lines
import numpy as np
from fury.actor import sphere
from fury.window import show

rng = np.random.default_rng()
centers = rng.uniform(-50, 50, size=(1000, 3))
colors = rng.uniform(0, 1, size=(1000, 3))

actor = sphere(centers, colors=colors, radii=1.5)
show(actors=[actor])

FURY in Action

Browse all examples →
shader-deformed mesh, animated per frame

Shaders

Shaders are simple programs that describe the traits of either a vertex or a pixel. Vertex shaders describe the attributes (position, texture coordinates, colors, etc.) of a vertex, while pixel shaders describe the traits (color, z-depth and alpha value) of a pixel.

Physically based rendering

Physically based rendering (PBR) is a computer graphics approach that seeks to render images in a way that models the flow of light in the real world. Many PBR pipelines aim to achieve photorealism. This video demonstrates Anisotropic specular reflection in FURY.

anisotropic specular reflection
force-directed network, animated live

Large networks

A large network can be visualized by presenting its interesting parts preferably combined with one or several 'maps' in a multiview display. The main view displays a selected part in details, while the 'maps' provide the user with information about the position of the part inside the network.

Real-time simulation

This entire flight simulator — procedural terrain, a composite aircraft, flight physics, and a chase camera — is roughly 600 lines of Python, built entirely from FURY primitives and running in a real-time event loop. Read the tutorial →

interactive flight simulator, rendered live

Across the sciences

The same scene graph handles whatever your field throws at it. Pick a domain for a sample render.

Engineering

Robot-arm kinematics, assemblies and simulation output, animated as scene graphs.

Start from a working example

Every entry is a runnable script from the gallery, not pseudocode.

One command
from your
first render.

Python 3.10 or newer, on Linux, macOS or Windows.
The GPU comes through WebGPU, so there is no driver ceremony.

$ pip install fury
$ conda install -c conda-forge fury
$ uv pip install fury

Built in the open

Contribute

FURY is BSD-licensed and developed publicly. Issues, pull requests and design discussions all happen on GitHub, and the project mentors students through Google Summer of Code every year.

fury-gl/fury on GitHub ↗

Talk to the team

The maintainers and the GSoC crowd hang out on Discord. Questions about your first scene or your thousandth get answered there, and longer threads live on the mailing list.

Join the Discord server ↗

Cite FURY

If FURY supports your research, cite the JOSS paper so the work that funds it stays visible.

Garyfallidis E., Koudoro S., Guaje J., et al. (2021). FURY: advanced scientific visualization. Journal of Open Source Software, 6(64), 3384.

Compatibility & support

Plays well with your 3D toolchain

The wider 3D ecosystem FURY users pair it with, from DCC suites to game engines.

Blender
Unity
Autodesk
Dimension
Houdini
Modo
SketchUp

Supported by

Development is backed by Indiana University and Google Summer of Code.

Luddy
Google Summer of Code
Indiana University
{% endblock %}