Skip to content
Just another unbiased Monte Carlo Path Tracer written in Java
Java Python Scala
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
chroma-api-binder
chroma-api
chroma-fx-ui
chroma-java-core
chroma-scala-core
chroma-utils
distribution
gradle/wrapper
.gitignore
LICENSE
README.adoc
build.gradle
gradlew
gradlew.bat
settings.gradle

README.adoc

Chroma Renderer

What is it

Chroma is an unbiased Monte Carlo Path Tracer based on an original implementation by me in C++. Writing the first lines of code in 2008 formed the cornerstone for my diploma thesis. Back then I was conentrating on spectral rendering and realistic lens simulation to achieve photographic artifacts like Chromatic Aberration or Lens Flares. Goal is to bring most of these features back to life. As you know, code rots over the time, so it needs to be rewritten ;-).

Why Java?

Because I can! No seriously, I see it also as kind of a playground. When getting familiar with Java 8 I was happy to have a working playground. And I had the idea to compare my Java alternative with the C code I wrote 8 years ago. And when I say compare, I mean micro-benchmarks. So I started another project called CroLaBeFra which is a set of Gradle plugins, which allows to build, run and compare micro benchmarks in both Java and C. You can check the POC project out here!

Current Feature Set

v 0.1.0

Download Mac version here (Java 8 required)

Sorry, all others have to build it themselves currently.

  • Unbiased Monte Carlo Path Tracing in plain mode and optional Direct Light estimation

  • Area lights

  • Material Support:

  • Blender Scene Export/Import

  • Built-in Demo Scenes

  • JavaFx UI with Preview function

Todos:

  • Environment map support

  • Spectral rendering

  • Physically correct glass

  • Real lenses

You can’t perform that action at this time.