https://github.com/nqpz/fastcast
Fun sphere raycaster
https://github.com/nqpz/fastcast
futhark gpu raycaster
Last synced: 5 months ago
JSON representation
Fun sphere raycaster
- Host: GitHub
- URL: https://github.com/nqpz/fastcast
- Owner: nqpz
- License: gpl-3.0
- Created: 2018-07-11T19:46:31.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2024-01-22T22:26:24.000Z (over 2 years ago)
- Last Synced: 2025-01-22T04:31:44.051Z (over 1 year ago)
- Topics: futhark, gpu, raycaster
- Language: Futhark
- Homepage:
- Size: 199 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
README
# fastcast

The screenshot is from a run on an NVIDIA GTX 960M.
This program raycasts spheres without reflections. It uses a naive
(i.e, *wrong*) lighting model where light is never blocked by other
spheres.
fastcast tries to keep it simple, and is compiled into a single map
kernel over the screen dimensions. There is also some bit fiddling just
for the fun of it.
## Building and running
First run `futhark pkg sync` once.
Then run `make` to build and `./demo` to run the default demo.
## Controls
+ Up/Down: Move forwards/backwards
+ Left/Right: Turn left/right
+ PageUp/PageDown: Move upwards/downwards
+ Shift: Move four times faster
+ Minus/Plus: Adjust the view distance to the virtual screen
+ F1: Toggle stats showing
## Requirements
+ Futhark
+ SDL2 and SDL2-ttf with headers.