ACM Transactions on Graphics (Proceedings of SIGGRAPH Asia), December 2024.
Baptiste Nicolet
·
Felix Wechsler
·
Jorge Madrid-Wolff
·
Christophe Moser
·
Wenzel Jakob
Tomographic Volumetric Additive Manufacturing (TVAM) is an emerging 3D printing technology that can create complex objects in under a minute. The key idea is to project intense light patterns onto a rotating vial of photo-sensitive resin, causing polymerization where the cumulative dose of these patterns reaches the polymerization threshold. We formulate the pattern calculation as an inverse light transport problem and solve it via physically based differentiable rendering. In doing so, we address long-standing limitations of prior work by accurately modeling and correcting for scattering in composite resins, printing in non-symmetric vials, and supporting unusual printing geometries. We also introduce an improved discretization scheme that exploits the ray tracing operation to mitigate resolution-related artifacts in prints. We demonstrate the benefits of our method in real-world experiments, where our computed patterns produce prints with an improved fidelity.
Dr.TVAM is a high-performance inverse rendering framework for tomographic volumetric additive manufacturing. It is based on the Mitsuba renderer, and uses physically-based differentiable rendering to optimize patterns for TVAM. In particular, it supports:
- Printing in scattering media.
- Printing with arbitrary container geometry (round, square, ...), or occluding objects (e.g. overprinting), with correct handling of the light transport.
- Printing with a variety of projection models, and an arbitrary container motion.
- Optimizing patterns for TVAM with our surface-aware discretization.
For more details we refer to this publication.
We have recently extended this project to describe also a variety of overprinting scenarios. See Overprinting with Tomographic Volumetric Additive Manufacturing.
- The date is not announced yet, but sign up for the announcement: here
Installing Dr.TVAM can be done via pip
:
pip install drtvam
or the current development version
pip install git+https://github.com/rgl-epfl/drtvam
We provide a convenience command-line tool drtvam
to run simple optimizations. You can run it as:
drtvam path/to/config.json
Please refer to the documentation for details on the configuration file format. Dr.TVAM will run multi-threaded on your machine but will also use your CUDA GPU and your RT cores if supported by your hardware.
Dr.TVAM provides a set of useful abstractions to implement a wide variety of custom TVAM setups. We show examples in the documentation to get you started.
The full documentation for this project, along with jupyter notebooks explaining the basics of implementing your own optimizations in our framework, can be found on readthedocs.
We have done some simple benchmarks:
- RTX3060 12GB (2020): Entry-level consumer hardware GPU
- L40S 48GB (2022): Professional graphics card used primarily in server clusters
- Dr. TVAM: Tested on RTX3060 12GB and L40S 48GB.
- Benchy boat as target:
- Size: 10mm
- Pixel size: 25µm
- Resolution on DMD: 400x400 pixels
- Angles: 400
- 40 iterations with gradient-based L-BFGS optimizer
Configuration | Rays per Pixel | Time (RTX3060) | Time (L40S) |
---|---|---|---|
Julia Radon based | 1 | 0h 3m 17s | |
Dr. TVAM index-matched | 1 | 0h 2m 2s | 0h 0m 20s |
Dr. TVAM cylindrical | 1 | 0h 2m 10s | 0h 0m 23s |
Dr. TVAM square | 1 | 0h 2m 15s | 0h 0m 20s |
Dr. TVAM cylindrical scattering | 16 | 1h 40m 0s | 0h 14m 10s |
Dr. TVAM square scattering | 16 | 1h 40m 0s | 0h 14m 20s |
Dr. TVAM square scattering (surface-aware loss, disable black pixels) | 16 | 0h 25m 0s | 0h 3m 45s |
Can be found on YouTube:
In case you run into issues or you do need support, do not hesitate to open an issue such that we can help you using Dr. TVAM! As an academic user, this is completely free to use. Please reach out to us in case you need support!
This project is provided under a non-commercial license. Please refer to the LICENSE file for details.
When using this project in academic works, please cite the following paper:
@article{nicolet2024inverse,
author = {Nicolet, Baptiste and Wechsler, Felix and Madrid-Wolff, Jorge and Moser, Christophe and Jakob, Wenzel},
title = {Inverse Rendering for Tomographic Volumetric Additive Manufacturing},
journal = {Transactions on Graphics (Proceedings of SIGGRAPH Asia)},
volume = {43},
number={6},
year = {2024},
month = {12},
doi = {10.1145/3687924}
}
@misc{wechsler_2025_overprinting_TVAM,
title={Overprinting with Tomographic Volumetric Additive Manufacturing},
author={Felix Wechsler and Viola Sgarminato and Riccardo Rizzo and Baptiste Nicolet and Wenzel Jakob and Christophe Moser},
year={2025},
eprint={2507.13842},
archivePrefix={arXiv},
primaryClass={physics.optics},
url={https://arxiv.org/abs/2507.13842},
}
See the release notes to keep up with the changes.