Jiří Pelikán
  • 3D renderer
  • 2026

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
1 / 3

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
Service
Custom desktop and mobile applications
Visit
GitHub ↗

In numbers

  • SAH BVH
  • denoising
  • OBJ and glTF

What is inside

  1. 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.

  2. Measured speed

    Headless benchmarks: 5 ms per frame rasterised, 13 ms ray traced, 39 ms path traced.

  3. 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.

  4. 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