GithubHelp home page GithubHelp logo

doytsujin / falcor Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nvidiagameworks/falcor

0.0 1.0 0.0 14.08 MB

Real-Time Rendering Framework

Home Page: https://developer.nvidia.com/falcor

License: BSD 3-Clause "New" or "Revised" License

Batchfile 0.31% C++ 93.57% C 0.34% Python 5.35% PowerShell 0.11% Shell 0.13% Cuda 0.06% CSS 0.01% Smarty 0.14%

falcor's Introduction

Falcor 4.3

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.

Prerequisites

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 click Add a feature and select Graphics 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.
  • NVAPI (see below)

NVAPI installation

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

CUDA Support

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

Falcor Configuration

FalcorConfig.h contains some flags which control Falcor's behavior.

  • _LOG_ENABLED - Enable/disable log messages. By default, it is set to true.
  • _PROFILING_ENABLED - Enable/Disable the internal CPU/GPU profiler. By default, it is set to true.

Resources

Citation

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}}
}

falcor's People

Contributors

nbentynv avatar kyaonv avatar moakesnv avatar clavellenv avatar ashwinnv avatar tangent-vector avatar halldorfannar avatar guoxx avatar germanaizek avatar pierremoreau avatar skallweitnv avatar benaryorg avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.