traytor

package module
v0.0.0-...-1c48c43 Latest Latest
Warning

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

Go to latest
Published: Feb 21, 2017 License: MIT Imports: 0 Imported by: 0

README

traytor

GoDoc Build Status MIT licensed

forthebadge

Every single ray misses

T-ray-tor is a raytracer written in Go which uses the Path Tracing algorithm (or something faster if we get to it)

Skull rendered with traytor

Features
  • Reads scenes from gzipped JSON (Blender export script!)
  • Materials: lambert, reflective, refractive, any mixture of those
  • Mesh lamps
Usage
$ go get github.com/DexterLB/traytor/cmd/traytor_gui

Then export your scene from Blender with the exporter render it with 50 samples:

$ traytor render -t 50 my-scene.json.gz output.png

You can find some sample scenes in the sample_scenes directory.

You can also run a distributed render on many worker machines! On each worker, start:

$ traytor worker -l :1234

to listen on port 1234, and on the client, run:

$ traytor client -w worker1:1234 -w worker2:1234 -t 500 my-scene.json.gz output.png

this will render the scene on all workers with 500 samples.

For more info, see traytor --help :)

Documentation

Overview

Package traytor is the root package for T-ray-tor - a very slow raytracer.

Directories

Path Synopsis
Package camera provides an interface for mapping pixels on the screen to ray directions.
Package camera provides an interface for mapping pixels on the screen to ray directions.
cmd
Package hdrcolour provides a float32 RGB colour implementation which conforms to Go's color.Color interface (by conversion to sRGB)
Package hdrcolour provides a float32 RGB colour implementation which conforms to Go's color.Color interface (by conversion to sRGB)
Package hdrimage provides a float32 image implementation with a built-in divisor (for easy averaging of images), which conforms to Go's image.Image interface (by conversion to sRGB)
Package hdrimage provides a float32 image implementation with a built-in divisor (for easy averaging of images), which conforms to Go's image.Image interface (by conversion to sRGB)
Package jsonutil provides various utilities for working with JSON objects
Package jsonutil provides various utilities for working with JSON objects
Package materials provides a generic Material interface and several implemented shaders
Package materials provides a generic Material interface and several implemented shaders
Package maths provides basic operations with floats and vectors
Package maths provides basic operations with floats and vectors
Package mesh provides a triangle mesh implementation using a K-D tree
Package mesh provides a triangle mesh implementation using a K-D tree
Package random provides a random generator with some weighed random functions
Package random provides a random generator with some weighed random functions
Package ray provides an implementation of a ray in 3D space, and intersections with surfaces
Package ray provides an implementation of a ray in 3D space, and intersections with surfaces
Package raytracer provides an implementation for tracing a single ray into the scene
Package raytracer provides an implementation for tracing a single ray into the scene
Package rpc provides objects for distributed and parallel rendering
Package rpc provides objects for distributed and parallel rendering
Package sampler provides a generic interface for intersection samplers, and implementations for simple samplers (colour, number etc) and image textures
Package sampler provides a generic interface for intersection samplers, and implementations for simple samplers (colour, number etc) and image textures
Package scene provides an implementation of a scene
Package scene provides an implementation of a scene

Jump to

Keyboard shortcuts

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