FalcorComp
FalcorComp is a GPU renderer for computational imaging, built on NVIDIA's Falcor rendering framework. It adds render passes that simulate imaging systems beyond conventional cameras — time-of-flight, modulated light, Doppler sensing and event cameras — and it is installed and used as the Python package falcorcomp. All renderers run on the GPU with hardware ray tracing, for interactive as well as offline simulation.
The package is a binary wheel for Linux. It contains Falcor, the render passes and their shaders, so no separate Falcor build is needed.
import falcorcomp as falcor
testbed = falcor.Testbed(create_window=False)
Documentation, tutorials and the reference of every render pass: falcorcomp.readthedocs.io.
Render passes
| Application | Render passes |
|---|---|
| Time-gated rendering | TimeGatedPathTracerInline, TimeGatedReSTIRInline |
| Transient rendering | TransientHistogramPathTracerInline, TransientHistogramReSTIRInline |
| Continuous-wave ToF | CWToFPathTracerInline |
| Structured light | StructuredLightPathTracerInline |
| Doppler (optical heterodyne detection) | DopplerGatedPathTracerInline, DopplerHistogramPathTracerInline |
| Doppler ToF | DopplerToFPathTracerInline, VelocityGroundTruthInline (ground-truth velocity) |
| Event cameras | EventDifference, EventSVGF, EventGenerator, with Falcor's PathTracer and SVGFPass |
| Utilities | LaserLight, InlinePathTracer, VBufferRT/GBufferRT, AccumulatePass, TransientHistogramAccumulatePass, ToneMapper, TransientHistogramViewer, LaserPositionViewer, SplitScreenPass |
Scene importers: pbrt, pyscene, Mitsuba, Assimp.
Not in the package, for license reasons: PathTracer's useRTXDI option (the RTXDI SDK's shaders cannot be redistributed in source form) and OptixDenoiser (the OptiX SDK license). Both work in a build from source.
Research
FalcorComp includes the implementations of these papers:
- ToF ReSTIR: Time-of-Flight Rendering with Spatio-temporal Reservoir Resampling, SIGGRAPH 2026 (ACM TOG). Project page
- Difference-aware Filtering for Event Camera Simulation, EGSR 2026 (Computer Graphics Forum). Project page
- Geometric Antithetic Sampling for Spatiotemporally Modulated Light, SIGGRAPH Asia 2026.
- A Monte Carlo Rendering Framework for Simulating Optical Heterodyne Detection, SIGGRAPH 2025 (ACM TOG), honorable mention. Project page
- Doppler Time-of-Flight Rendering, SIGGRAPH Asia 2023 (ACM TOG). Project page
The BibTeX entries are in the README on GitHub.
Requirements
- Operating system: Linux x86_64 with glibc 2.35 or newer (for example, Ubuntu 22.04 or later). Windows and macOS are not supported.
- GPU: an NVIDIA GPU with hardware ray tracing (RTX), and a recent NVIDIA driver with Vulkan support.
- Python: 3.9 to 3.13, including its shared library (for example,
libpython3.10.so.1.0for Python 3.10). Conda environments and most system Pythons include it; on Debian or Ubuntu, install it withsudo apt install libpython3.Xfor your version3.X.
Installation
pip install falcorcomp
Creating a Testbed initializes the GPU device, so this checks the driver as well as the package:
python -c "import falcorcomp as falcor; falcor.Testbed(create_window=False); print('falcorcomp works')"
Compiled shaders are cached in ~/.cache/falcorcomp/. Set FALCOR_SHADER_CACHE_PATH to use another directory, or to an empty string to disable the cache.
License
FalcorComp is based on Falcor, which is licensed under the BSD 3-Clause license by NVIDIA (LICENSE.md). The wheel also bundles third-party components under their own licenses, including NVIDIA proprietary ones (NVTT, the CUDA runtime, RTXDI); see THIRD_PARTY_NOTICES.md and third_party_licenses/ in the installed package.
Metadata
Release files for falcorcomp 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| falcorcomp-0.2.0-cp313-cp313-manylinux_2_35_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.35+ x86-64 | Details |
| falcorcomp-0.2.0-cp312-cp312-manylinux_2_35_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.35+ x86-64 | Details |
| falcorcomp-0.2.0-cp311-cp311-manylinux_2_35_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.35+ x86-64 | Details |
| falcorcomp-0.2.0-cp310-cp310-manylinux_2_35_x86_64.whl | CPython 3.10 | CPython 3.10 | Linux glibc 2.35+ x86-64 | Details |
| falcorcomp-0.2.0-cp39-cp39-manylinux_2_35_x86_64.whl | CPython 3.9 | CPython 3.9 | Linux glibc 2.35+ x86-64 | Details |
Total release size: 295.5 MB
Release files / falcorcomp-0.2.0-cp313-cp313-manylinux_2_35_x86_64.whl
| Download URL | falcorcomp-0.2.0-cp313-cp313-manylinux_2_35_x86_64.whl |
|---|---|
| Size | 59.1 MB |
| Tags | CPython 3.13 Linux glibc 2.35+ x86-64 |
|
SHA-256 checksum How to use checksums |
7b08eff58286df8a88a2715ac99b044bf6b051387546025468e19c5691334a0b
|
|
BLAKE2b-256 checksum How to use checksums |
0ba007137f2223e002069584fd92f411daa2f7bea9e21cddf507cc4ca049d289
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.12
|
Release files / falcorcomp-0.2.0-cp312-cp312-manylinux_2_35_x86_64.whl
| Download URL | falcorcomp-0.2.0-cp312-cp312-manylinux_2_35_x86_64.whl |
|---|---|
| Size | 59.1 MB |
| Tags | CPython 3.12 Linux glibc 2.35+ x86-64 |
|
SHA-256 checksum How to use checksums |
2a3cf90d8d2694c9c791fb01f6914356d9b7749ca43722f7da4fce4dd2606b29
|
|
BLAKE2b-256 checksum How to use checksums |
b751bafb9475e11df2965b613650fb12a8189d3a2ef9e61976d4cde28172b09b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.12
|
Release files / falcorcomp-0.2.0-cp311-cp311-manylinux_2_35_x86_64.whl
| Download URL | falcorcomp-0.2.0-cp311-cp311-manylinux_2_35_x86_64.whl |
|---|---|
| Size | 59.1 MB |
| Tags | CPython 3.11 Linux glibc 2.35+ x86-64 |
|
SHA-256 checksum How to use checksums |
c7562cd6285b532a1ecfc102c05574d68dbb1ab4b012587708f7f1056cb7d307
|
|
BLAKE2b-256 checksum How to use checksums |
0c22505c3e97fbb5bc8735f184efee7fd55b4ea5a581869ac63cd084b4a6d70d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.12
|
Release files / falcorcomp-0.2.0-cp310-cp310-manylinux_2_35_x86_64.whl
| Download URL | falcorcomp-0.2.0-cp310-cp310-manylinux_2_35_x86_64.whl |
|---|---|
| Size | 59.1 MB |
| Tags | CPython 3.10 Linux glibc 2.35+ x86-64 |
|
SHA-256 checksum How to use checksums |
39fbd26b75bfd3f052a67b40063957db751ea226db4734d553cd8ac43847ba7b
|
|
BLAKE2b-256 checksum How to use checksums |
162bf7a71a4ec4aa95525fbe84d9be74b78e1f126354c04b27e9cdcb9cd9ff76
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.12
|
Release files / falcorcomp-0.2.0-cp39-cp39-manylinux_2_35_x86_64.whl
| Download URL | falcorcomp-0.2.0-cp39-cp39-manylinux_2_35_x86_64.whl |
|---|---|
| Size | 59.1 MB |
| Tags | CPython 3.9 Linux glibc 2.35+ x86-64 |
|
SHA-256 checksum How to use checksums |
164b812f32642bc706b03fd261ea91792db1c7a59605228d18f0569b81ff1c23
|
|
BLAKE2b-256 checksum How to use checksums |
1fe5bd093bfdcbea3955967047af6557601a6b0f1c1a52069e029de99779bb80
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.12
|