Autodesk / Aurora

Real-time GPU path tracing with a USD Hydra render delegate
Apache License 2.0
473 stars 30 forks source link
dxr hydra path-tracing usd vulkan

Aurora

Aurora is a real-time path tracing renderer that leverages GPU hardware ray tracing. As a real-time renderer, it is intended to support rapid design iteration in a real-time viewport, which differs from a "final frame" production renderer like Autodesk Arnold. Aurora has a USD Hydra render delegate called HdAurora, which allows it to be used from a USD Hydra scene delegate. It can also be used directly through its own API, which is demonstrated with a standalone sample application called Plasma.

Aurora is developed and maintained by Autodesk. The software and this documentation are a work-in-progress and under active development. The contents of this repository are fully open source under the Apache license, with feature requests and code contributions welcome!

Below you can learn about features, system requirements, how to build Aurora, how to run it, and access additional documentation.

Sample screenshot

Screenshots of the Autodesk Telescope model rendered with Aurora. Model courtesy of Roberto Ziche.

Features

... with new features and enhancements to performance and quality planned. This will include denoising with NVIDIA Real-Time Denoisers, support for alternative material models, discrete light sources, and more.

System Requirements

Operating System

Aurora is officially supported on Windows 10 or Ubuntu 20.04. Windows 11 and other Linux distributions may work, but are not yet supported.

To run Aurora, the latest GPU drivers from NVIDIA, AMD, or Intel are recommended as ray tracing API support is being actively improved. No other software is required to run Aurora.

Build Software

Software required for building Aurora can be found in the build instructions.

GPU

Aurora requires a GPU with hardware ray tracing support, either through DirectX Raytracing (DXR) on Windows, or Vulkan Ray Tracing on Windows or Linux. These include, but are not limited to:

See the build instructions for information on enabling support for DirectX Raytracing or Vulkan Ray Tracing.

NOTE: At this time Vulkan is supported on NVIDIA GPUs only.

Quick Start

Follow these steps to build Aurora and its dependencies and run the sample application, Plasma.

More details on building Aurora can be found here, including options and possible issues you may encounter.

Windows

Run the following on a command prompt with compiler tools, such as "x64 Native Tools Command Prompt for VS 2019".

python Scripts\installExternals.py ..\AuroraExternals
cmake -S . -B Build
cmake --build Build --config Release
cd Build\bin\Release
Plasma.exe

Linux (Ubuntu 20.04)

python Scripts/installExternals.py ../AuroraExternals
cmake -S . -B Build
cmake --build Build
cd Build/bin/Release
./Plasma --output {OUTPUT_IMAGE_FILE.png} --scene {INPUT_SCENE_FILE.obj} --renderer hgi

Running Aurora

Aurora can be exercised in three ways:

All of these are built with Aurora, and binaries can be found in the build output directory after following the build instructions.

Sample Data

The Autodesk Telescope model shown above was developed by Roberto Ziche, and was inspired by Celestron products. It is made available for use with Aurora or any another application under the CC BY 4.0 license. You can download a package containing an OBJ version for use with Plasma, or a USD version for use with Usdview or other applications.

Other recommended sources of data include the McGuire Computer Graphics Archive and the ASWF USD Working Group.

Documentation

Available documentation can by found in the Doc directory. This includes the following:

More information about contributions and licensing can be found here: