Java CPU Path Tracer
It started as a semester assignment and ended as my own path tracer. Plain Java, no GPU, no graphics library, just maths and a CPU.
- Java
- CI / testy
It began in a computer graphics course at FIM UHK. Instead of a single renderer I wrote a whole desktop 3D editor in plain Java 17 with Swing and no external libraries. The layout feels like Blender: a viewport, a properties panel, a keyframe timeline and a node-based material editor.
A scene can be drawn three ways. Rasterisation is for working, the ray tracer adds shadows, reflections and refraction, and the path tracer computes global illumination, including glass with dispersion. It loads OBJ, STL and glTF models, exports images, GIFs or video, and has stylised modes such as ASCII and dithering.
Get in touch- Type
- 3D renderer
- Year
- 2026
- Visit
- GitHub ↗
In numbers
- SAH BVH
- denoising
- OBJ and glTF
What is inside
No libraries and no GPU
69,000 lines of my own Java, from ray maths to denoising. I know what sits under the hood of a 3D engine.
Measured speed
Headless benchmarks: 5 ms per frame rasterised, 13 ms ray traced, 39 ms path traced.
Three renderers, one scene
The same 25-node material graph drives the rasteriser, the ray tracer and the path tracer, so the preview matches the final image.
One-click installation
The Windows installer brings its own Java runtime, so there is nothing else to set up.
Got a similar project? Tell me what you need.kontakt@jirkapelikan.cz
Get in touch