Taichi: Open-Source Computer Graphics Library



Taichi provides open source implementation of state-of-the-art computer graphics research results.



Based on the efficient C++14 kernel, Python 3 bindings are provided for flexible scripting.



Taichi runs on Linux, Mac OS X and Windows.

Learn More

What's Inside

Currently I implemented about 40 graphics papers, most of which are from SIGGRAPH(Asia)/ToG.

Global Illumination Algorithms Supported:

  1. (Volumetric) Path Tracing ((V)PT)
  2. Light Tracing (LT)
  3. Photon Mapping (PM)
  4. (Stochastic/Probabilistic) Progressive Photon Mapping (SPPM/PPPM)
  5. Unified Path Sampling (UPS)/Vertex Connection and Merging (VCM)
  6. Bidirectional Path Tracing (BDPT)
  7. Bidirectional Photon Mapping (BDPM)
  8. Primary Sample Space Metropolis Light Transport  (PSSMLT) with BDPT
  9. PSSMLT with Volumetric PT
  10. Multiplexed Metropolis Light Transport (MMLT)
  11. Adaptive Markov Chain Monte Carlo Progressive Photon Mapping (AMCMCPPM)
  12. Markov Chain Monte Carlo UPS/VCM

Physically based Animation Algorithms Supported:

  1. Eulerian Fluids (or Stable Fluids)
  2. Particle-in-Cell Fluids (PIC)
  3. Fluid Implicit Particles (FLIP)
  4. Affine Particle-in-Cell (APIC)
  5. Material Point Method for snow (MPM)
  6. MPM for sand
  7. Weakly Compressible Smoothed Particle Hydrodynamics (WCSPH)
  8. Predictive-Corrective Incompressible  SPH (PCISPH)
  9. (Modified) Incomplete Cholesky Preconditioned Conjugate Gradient ((M)ICPCG) Poisson Solver
  10. Multigrid PCG Poisson Solver
  11. Impulse-based Rigid Body Simulation (real time in 2D)

Other Features:

  1. Multithreading
  2. Seamless data transfer from simulation to rendering
  3. Scripting interface for procedural content generation
  4. ...