Falcor is a real-time rendering framework supporting DirectX 12. It aims to improve productivity of research and prototype projects.
Features include:
- Abstracting many common graphics operations, such as shader compilation, model loading, and scene rendering
- DirectX Raytracing abstraction
- Render Graph system
- Python scripting
- Common rendering effects such as shadows and post-processing effects
- Unbiased path tracer
The included path tracer requires NVAPI. Please make sure you have it set up properly, otherwise the path tracer won't work. You can find the instructions below.
- Windows 10 version 2004 (May 2020 Update) or newer
- Visual Studio 2019
- Windows 10 SDK (10.0.19041.0) for Windows 10, version 2004
- A GPU which supports DirectX Raytracing, such as the NVIDIA Titan V or GeForce RTX (make sure you have the latest driver)
Optional:
- Windows 10 Graphics Tools. To run DirectX 12 applications with the debug layer enabled, you must install this. There are two ways to install it:
- Click the Windows button and type
Optional Features
, in the window that opens clickAdd a feature
and selectGraphics Tools
. - Download an offline package from here. Choose a ZIP file that matches the OS version you are using (not the SDK version used for building Falcor). The ZIP includes a document which explains how to install the graphics tools.
- Click the Windows button and type
- NVAPI (see below)
After cloning the repository, head over to https://developer.nvidia.com/nvapi and download the latest version of NVAPI (this build is tested against version R440).
Extract the content of the zip file into Source/Externals/.packman/
and rename R440-developer
to nvapi
.
Finally, set _ENABLE_NVAPI
to true
in Source/Falcor/Core/FalcorConfig.h
If you want to use CUDA C/C++ code as part of a Falcor project, then refer to the README located in the Source/Samples/CudaInterop/
for instructions on how to set up your environment to use CUDA with Falcor.
If you want to execute Slang-based shader code through CUDA using CUDAProgram
, then you will need to copy or link the root directory of the CUDA SDK under Source/Externals/.packman/
, as a directory named CUDA
.
Then, set _ENABLE_CUDA
to true
in Source/Falcor/Core/FalcorConfig.h
FalcorConfig.h
contains some flags which control Falcor's behavior.
_LOG_ENABLED
- Enable/disable log messages. By default, it is set totrue
._PROFILING_ENABLED
- Enable/Disable the internal CPU/GPU profiler. By default, it is set totrue
.
- Falcor: Falcor's GitHub page.
- Documentation: Additional information and tutorials.
- ORCA: A collection of high quality scenes and assets optimized for Falcor.
- Slang: Falcor's shading language and compiler.
If you use Falcor in a research project leading to a publication, please cite the project. The BibTex entry is
@Misc{Benty20,
author = {Nir Benty and Kai-Hwa Yao and Petrik Clarberg and Lucy Chen and Simon Kallweit and Tim Foley and Matthew Oakes and Conor Lavelle and Chris Wyman},
title = {The {Falcor} Rendering Framework},
year = {2020},
month = {08},
url = {https://github.com/NVIDIAGameWorks/Falcor},
note= {\url{https://github.com/NVIDIAGameWorks/Falcor}}
}