Skip to content

jelknab/JRay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jray

A distributed java raytracer

About

This is a hobby project which I've been working on and off on for about 2 years.
The code has been refactored many times as I learn more about java.

The cool thing about this raytracer is that you can run it on multiple machines to speed up the render, I've tried to keep the code as readable as possible without sacrificing to much speed, but this ray tracer is not about speed and efficiency -perhaps ill focus on that in a later stadium-.

I've decided to host it on Github for my portfolio.

Interesting renders Interesting renders Interesting renders

Features

  • Lighting
    • Point light
    • Multiple light sources
  • Renderable object's
    • Infinite plane
    • Sphere
    • .OBJ model
  • Materials and textures
    • Lambert
    • Specular
    • Phong (beta)
    • Checkerboard pattern texture
  • Misc
    • KD-Tree for mesh's
    • Global illumination

To-do list

  1. Add support for model rotations
  2. Add more materials and textures
  3. Add support for sequence rendering
  4. Add more light types
  5. optimisation tactics

Trying it yourself

Right now it's simple. Simply clone the project, edit the scene and settingsXML in scenes/testSettings.xml if you like.
Make sure you have the .obj models stored in ~/JRay/models

Build with maven; Run with args:
-h -s scenes/testSettings.xml -p 9090 -a localhost:9090

Releases

No releases published

Packages

No packages published

Languages