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.
- 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
- Add support for model rotations
- Add more materials and textures
- Add support for sequence rendering
- Add more light types
- optimisation tactics
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