https://github.com/oaklight/rayerson
A CPU-based Ray-tracer using Golang
https://github.com/oaklight/rayerson
golang ray-tracing
Last synced: about 1 year ago
JSON representation
A CPU-based Ray-tracer using Golang
- Host: GitHub
- URL: https://github.com/oaklight/rayerson
- Owner: Oaklight
- License: gpl-3.0
- Created: 2019-06-08T18:52:18.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2019-07-08T21:04:41.000Z (almost 7 years ago)
- Last Synced: 2025-01-29T11:18:16.926Z (over 1 year ago)
- Topics: golang, ray-tracing
- Language: Go
- Homepage:
- Size: 7.92 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Rayerson
A Golang implementation of ray tracing rendering engine

## How to run the code
```
# compile render
go build render.go
# run with a scene file and designate the output image path
# render [-p[=nThread]]
render -p test/sceneSimple.csv outSimple.png
```
## Dataset and result
All three datasets are in `./test/` folder, corresponding results are in the same folder.
You may modify the code in function `RandomScene` in `./render/scene.go` to generate randomly placed sphere with varying materials.
A report on Rayerson is included [here](Rayerson_a_CPU-based_ray_tracing_engine.pdf).
## Dependencies
All dependencies are standard libraries:
- math
- math/rand
- fmt
- image
- image/color
- image/png
- sync
- os
- time
- bufio
- strconv
- runtime
- strings