Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/misakacenter/raytracer.ml

🌈 Path tracer implemented in OCaml based on "Ray Tracing in One Weekend"
https://github.com/misakacenter/raytracer.ml

computer-graphics ocaml raytracing raytracing-one-weekend

Last synced: 9 days ago
JSON representation

🌈 Path tracer implemented in OCaml based on "Ray Tracing in One Weekend"

Awesome Lists containing this project

README

        

# RayTracer.ml

🌈 Path tracer implemented in OCaml based on "[_Ray Tracing in One Weekend_](https://raytracing.github.io/)"

## Features
- Defocus Blur
- Motion Blur
- Bounding Volume Hierarchies
- Textures
- Checker Texture
- Instance Translation & Rotation

## Usage

To set up the environment, run the following command (Ubuntu)

```
apt install opam
opam init
opam install dune
```

To render the scene, run the following command
```
make
```
, and the rendered scene will be stored in ./output/

## Screenshots

### Ray Tracing in One Weekend

#### Result: (Intel i7-8750H CPU @ 2.20GHz) (Random Scene)

```
Ray Tracing finished in 1474.2 s.
```
Random Scene |Sphere Sea (hd)
:-------------------------:|:-------------------------:
|

### Ray Tracing: The Next Week

#### Result: (Intel i7-8750H CPU @ 2.20GHz)

Bouncing spheres (2071.7 s)| Texture (531.9 s) | Light (1654.9 s)
:-------------------------:|:-------------------------:|:-------------------------:
| |

Empty Cornell box (437.5 s)|Cornell box with two blocks (958.3 s)|Standard Cornell box (1165.1 s)
:-------------------------:|:-------------------------:|:-------------------------:
| |