gotracer

command module
v0.0.0-...-e6f9244 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 6, 2021 License: MIT Imports: 3 Imported by: 0

README

GoTracer - Volumetric Path Tracing in Go

GoTracer is a Go implimentation of the ray tracer in Ray Tracing in One Weekend.

See /images for example images rendered using the ray tracer.

example.go uses the package pb to display a progress bar but isn't required for the raytracer.

Example Render Showcasing the Ray Tracer's Features

Features / Notes

  • Includes multiple surfaces (lambertian, metallic, dielectric, isotropic)
  • Includes emissive materials
  • Can output in PPM or PNG format
  • Supports Spheres, Rectangles, and Boxes
  • Supports instance rotation around the Y axis (shouldn't be hard to impliment rotation around X and Z)
  • Adjustable depth of field and viewing angle
  • Has ambient occlusion, soft shadows, colour bleeding, global illumination
  • Anti-Aliasing by taking multiple samples per pixel
  • Images are gamma corrected before being saved

Future Additions / Improvements

  • Support for cylinders and triangle meshes
  • Motion blur
  • Procedural textures and image texture mapping
  • Importance sampling
  • Bidirectional path tracing
  • Add parallelism via goroutines

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL