A high-performance GPU-accelerated watercolor simulation engine using Taichi.
Project description
Open-Watercolor-Sim
Open-Watercolor-Sim is a real-time GPU-accelerated watercolor simulation framework in Python. It provides a physically inspired simulation engine designed for both artistic creation and as a research toolbox for computer graphics and fluid dynamics exploration.
Demo
Features
- GPU Acceleration: Built on Taichi Lang for high-performance physics-based simulation.
- Interactive Controls: Real-time brush interaction with adjustable radius, pressure (pigment load), and water release.
- Physically Inspired Effects: Models complex watercolor behaviors including diffusion, evaporation, edge darkening (coffee-ring effect), and granulation.
- Cross-Platform: Support for multiple GPU backends (CUDA, Metal, Vulkan) enabling real-time performance on Windows, macOS, and Linux.
- Research Toolbox: Easily extensible architecture for testing new fluid advection schemes or pigment interaction models.
Installation
Open-Watercolor-Sim requires Python 3.10 or newer.
pip install open-watercolor-sim
Quickstart
You can launch the interactive viewer using the console entry point:
watercolor-sim
Alternatively, run the module directly:
python -m open_watercolor_sim.viewer
Project Structure
demo/ # Previews and example outputs
src/open_watercolor_sim/ # Main package
├── viewer.py # Interactive GGUI-based viewer
└── brush/
├── configs.py # Simulation and artistic parameters
└── watercolor_engine.py # Core Taichi-based simulation logic
Citation
If you use this framework in your research, please cite it using the following BibTeX:
@software{open_watercolor_sim,
title = {Open-Watercolor-Sim: A Real-Time GPU-Accelerated Watercolor Simulation Framework},
author = {Chen, Shuoqi},
year = {2026},
url = {https://github.com/shuoqichen/Open-Watercolor-Sim}
}
Note: A DOI-backed citation for the paper-aligned release will be added in a future update.
License
This project is licensed under the Apache License 2.0.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file open_watercolor_sim-0.1.1.tar.gz.
File metadata
- Download URL: open_watercolor_sim-0.1.1.tar.gz
- Upload date:
- Size: 21.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b20bf8a51fc7492b3322b13ff53b758f6956d36fb0a3332ff38ddfc303fbd70
|
|
| MD5 |
1fc33d5feacd35ae5901119ac2aca7e8
|
|
| BLAKE2b-256 |
f0e6b6b03cb01a414b8b3f3213adb72515c87462c284588a42b43c1dbf8c0612
|
File details
Details for the file open_watercolor_sim-0.1.1-py3-none-any.whl.
File metadata
- Download URL: open_watercolor_sim-0.1.1-py3-none-any.whl
- Upload date:
- Size: 21.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
530bf9c379eb4707098237877b678cf334e59a792176bf7c0fed9cb40618a42b
|
|
| MD5 |
a6740da479bef21a397fce4fd368589e
|
|
| BLAKE2b-256 |
903312f60cf968498b600ab4a0552e11d4489bfce46445dc65c1433e51c1649b
|