Skip to content

Latest commit

 

History

History
41 lines (30 loc) · 853 Bytes

README.md

File metadata and controls

41 lines (30 loc) · 853 Bytes

Rayerson

A Golang implementation of ray tracing rendering engine

img

How to run the code

# compile render
go build render.go

# run with a scene file and designate the output image path
# render [-p[=nThread]] <path to csv file> <output path>
render -p test/sceneSimple.csv outSimple.png

Dataset and result

All three datasets are in ./test/ folder, corresponding results are in the same folder.

You may modify the code in function RandomScene in ./render/scene.go to generate randomly placed sphere with varying materials.

A report on Rayerson is included here.

Dependencies

All dependencies are standard libraries:

  • math
  • math/rand
  • fmt
  • image
  • image/color
  • image/png
  • sync
  • os
  • time
  • bufio
  • strconv
  • runtime
  • strings