Skip to content

noscripter/pt

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Summary

Build Status GoDoc

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 Gopher

go run examples/gopher.go

Features

  • Supports OBJ, Binary STL and ASCII STL
  • Supports textures, bump maps and normal maps
  • Uses k-d trees to accelerate ray intersection tests
  • Supports various material properties
  • Light sources with configurable attenuation
  • Supports configurable depth of field
  • Supports iterative rendering
  • Uses all CPU cores in parallel

TODO

Here are things that I'm planning, or at least hoping, to do.

  • subsurface scattering
  • atmosphere
  • constructive solid geometry
  • input files to define scene
  • animation support?

Links

Here are some resources that I have found useful.

Samples

Dragon

Sponza

Cubes

Suzanne

Cylinders

Dinosaur

Balls

Pencil

About

A path tracer written in Go.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%