I am writing a path tracer in Go. The Go gopher below was rendered using it, and here's the code that was used to do it. It's 2560x1440px... so you can make it your wallpaper! The gopher 3D model was found here.
Disclaimer: This is my first time using Go.
go run examples/gopher.go
Here are things that I'm planning, or at least hoping, to do.
- bump / normal maps
- subsurface scattering
- atmosphere
- depth of field
- constructive solid geometry
- input files to define scene
- animation support?
Here are some resources that I have found useful.
- WebGL Path Tracing - Evan Wallace
- Global Illumination in a Nutshell
- Simple Path Tracing - Iñigo Quilez
- Realistic Raytracing - Zack Waters
- Reflections and Refractions in Ray Tracing - Bram de Greve
- Better Sampling - Rory Driscoll
- Ray Tracing for Global Illumination - Nelson Max at UC Davis
- Physically Based Rendering - Matt Pharr, Greg Humphreys