• Stars
    star
    142
  • Rank 258,495 (Top 6 %)
  • Language
    Zig
  • Created almost 4 years ago
  • Updated almost 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A tiny GPU raytracer, using Zig and WebGPU

rayray

A tiny GPU raytracer!

(more details on the project homepage)

Cornell Box

Ray tracing in one weekend

Features

  • Diffuse, metal, and glass materials
  • The only three shapes that matter:
    • Spheres
    • Planes (both infinite and finite)
    • Cylinders (both infinite and capped)
  • Any shape can be a light!
  • Antialiasing with sub-pixel sampling
  • Will crash your entire computer if you render too many rays per frame (thanks, GPU drivers)

Implementation

Project status

Project unsupported

This is a personal / toy project, and I don't plan to support it on anything other than my laptop (macOS 10.13, zig-macos-x86_64-0.8.0-dev.1125, and wgpu-native built from source).

I'm unlikely to fix any issues, although I will optimistically merge small-to-medium PRs that fix bugs or add support for more platforms.

That being said, I'm generally friendly, so feel free to open issues and ask questions; just don't set your expectations too high!

If you'd like to add major features, please fork the project; I'd be happy to link to any forks which achieve critical momemtum!

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

More Repositories

1

antimony

CAD from a parallel universe
C++
2,098
star
2

kokopelli

Script-based CAD/CAM in Python (deprecated)
Python
299
star
3

pont

An online board game in Rust and WebAssembly
Rust
260
star
4

futureproof

A live editor for fragment shaders, powered by Neovim, WebGPU, and Zig!
Zig
215
star
5

mpr

Reference implementation for "Massively Parallel Rendering of Complex Closed-Form Implicit Surfaces" (SIGGRAPH 2020)
C++
185
star
6

fidget

blazing fast implicit surface evaluation
Rust
118
star
7

erizo

Fast native STL viewer
C
115
star
8

ssra

The Solid-State Register Allocator
Rust
81
star
9

Swingline

Weighted Voronoi Stippling on the GPU
C
60
star
10

pixelsim

Squishy pixel-art spaceships on the GPU
C++
53
star
11

raven

An implementation of the Uxn CPU and Varvara Ordinator
Rust
34
star
12

bumpy-firmware

Firmware for a DIY mp3 player
C
28
star
13

tiny-planets

Rust
27
star
14

bumpy-pcb

PCB design files for a DIY mp3 player
20
star
15

Graphene

Hierarchical computation graphs; details at
Racket
19
star
16

carvr

Image resizing app that uses seam carving
C++
17
star
17

ao-guile-repl

Standalone minimal REPL + viewer for ao-guile [DEPRECATED]
C++
14
star
18

advent-of-code

Advent of Code solutions
Rust
13
star
19

spacewar

2D ship-to-ship combat
Haskell
12
star
20

dotfiles

Vim Script
8
star
21

teapot-mrep

Experiments with direct ray-tracing of Bรฉziers using matrix representations
C
8
star
22

states-machine

Memorize the names and location of US states with spaced repetition
C
7
star
23

arm64-test

Rust
5
star
24

straylight

Nothing to see here...
C++
5
star
25

super-auto-sim

Standalone implementation of Super Auto Pets, for science!
Rust
3
star
26

guile-mingw

PKGBUILD for Guile 2.2
Shell
3
star
27

sudoku-z3

Sudoku โ†’ Z3
Scheme
3
star
28

Multitroids

Single-player asteroids clone, with a twist!
Python
3
star
29

nmbr9-z3

Rust
1
star
30

titan

A half-finished terminal browser for the Gemini protocol
Rust
1
star