https://github.com/maierfelix/tiny-rtx
VK_NV_ray_tracing based Ray tracer
https://github.com/maierfelix/tiny-rtx
rtx vulkan
Last synced: 2 months ago
JSON representation
VK_NV_ray_tracing based Ray tracer
- Host: GitHub
- URL: https://github.com/maierfelix/tiny-rtx
- Owner: maierfelix
- License: mit
- Created: 2019-08-19T08:12:47.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2019-10-09T16:34:55.000Z (almost 6 years ago)
- Last Synced: 2025-05-27T00:09:44.266Z (5 months ago)
- Topics: rtx, vulkan
- Language: JavaScript
- Homepage:
- Size: 21.7 MB
- Stars: 102
- Watchers: 9
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Tiny RTX
## Description
This is a little experiment, mainly for learning about 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](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt), [N-API](https://nodejs.org/api/n-api.html), [WebAssembly](https://developer.mozilla.org/en-US/docs/WebAssembly) and [ESM](https://nodejs.org/api/esm.html)
## Screenshots
| | |
:-------------------------:|:-------------------------:|
![]()
|
## Installation
````
git clone https://github.com/maierfelix/tiny-rtx.git
cd tiny-rtx
npm install
npm run start
````## Releasing
````
npm run release --node-binary="window-x64-12.9.1"
````Flags:
- `--node-binary`: The node version to use
- `--build-node`: Build node from scratch instead of using a pre-built version (from [here](https://github.com/nexe/nexe/releases))## 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?)