A raytracer in Go.
This is an implementation of "The Ray Tracer Challenge" by Jamis Buck, which teaches you how to write a raytracer using language-agnostic BDD/Cucumber tests.
To install using go: go get https://github.com/tiegz/raytracer-go
raytracer-go example
: render an exampleraytracer-go version
: print versionraytracer-go help
: print instructions
Here are the types used in the raytracer (generated using github.com/tiegz/pkgviz-go):
- Run all tests:
go test ./...
- Run all benchmarks:
go test ./... -bench=.
- Benchmarking philosophy: focus on methods that are crucial to rendering and could possibly be affected by regressions. Avoid benchmarking things that are simple Go operations (+-/*) and/or won't change much (e.g.
Tuple.Add()
). - Benchmark comparisons are reported in the GitHub Action for each commit now.
- Benchmarking philosophy: focus on methods that are crucial to rendering and could possibly be affected by regressions. Avoid benchmarking things that are simple Go operations (+-/*) and/or won't change much (e.g.