/tiny-rtx

A tiny Vulkan based Real-Time Ray Tracer

Primary LanguageJavaScriptMIT LicenseMIT

tiny-rtx

Description

This is a little experiment, exploring NVIDIA's Vk_NV_ray_tracing extension, which allows Real-Time Ray Tracing.

Requirements

This demo should run smooth on RTX cards, I've tested it with an external RTX 2070.

If you have a GTX card, then you might be able to run the demo as well, as NVIDIA recently added RTX emulation for some cards of the GTX series (but prepare for some sloppiness).

I recommend using the latest version of node, as this project heavily depends on BigInt, N-API, WebAssembly and ESM

Screenshots

Installation

git clone https://github.com/maierfelix/tiny-rtx.git
cd tiny-rtx
npm install
npm run start

Controls

  • Use your mouse buttons to rotate the camera
  • Use your mouse wheel to zoom in/out

Create your own Scene

Simply edit the main.js file in the repository

TODOs

  • Texture support
  • PBR based scattering
  • Denoise filter (A-SVGF?)