Instant Download

Sunflow Renderer (Binary version)

The latest precompiled binary version. New users should download this first.

Version: 0.07.2


Sunflow Renderer (Source Code)

The latest source code release.

Version: 0.07.2


Example scenes

The sample data (scenes and textures) can be dowloaded from here.

Version: 0.07.1


Blender exporter (Python Script)

The latest version(s) of the Blender exporter can be downloaded from here.


3dsmax exporter

The latest version of the 3dsmax exporter can be downloaded from David Baker's website.


Maya exporter (Win32/Win64/Linux/OS X)

The latest version of the Maya (6.5, 7.0, 8.0, 8.5) exporter.


XSI exporter

The latest version of the XSI exporter can be downloaded from Michael Gangolf's website.


Cheetah3D exporter

The latest version of the Cheetah3D exporter can be downloaded from the Tres Graphicos blog.


Sunflow is an open source rendering system for photo-realistic image synthesis. It is written in Java and built around a flexible ray tracing core and an extensible object-oriented design. It was created as a framework for experimenting with global illumination algorithms and new surface shading models.

Current Features

  • Fully extensible architecture. Almost every aspect of the renderer can be customized.
  • User extensible features are exposed as interfaces, making it easy to integrate into existing applications
  • Simple API for procedural scene creation
  • Direct Illumination with soft shadows from area lights
  • Adaptive sampling of area light sources
  • Quasi-Monte Carlo sampling architecture: all sampling operations are fully deterministic
  • Depth of field
  • Camera motion blur
  • Multi-threading
  • Photon Mapping (for global illumination and caustics)
  • Run-time compilation of shaders (via Janino)
  • Lazy processing of tesselation, acceleration structure building and texture loading
  • Lightmap generation (render to texture)
  • Instancing (many copies of the same object take up very little additional memory)
  • Bucket renderer
    • Adaptive anti-aliasing (over and under sampling)
    • Bucket based rendering (programmable ordering)
    • Multi-pixel image filtering
  • Progressive refinement renderer
  • Texture mapping (JPG, PNG, TGA, HDR loaders)
  • Bump mapping
  • Normal mapping
  • Custom scene format: basic translators exist for 3ds files and Blender
  • Output formats: HDR, PNG, TGA, OpenEXR (tiled only)
  • Written 100% in Java
  • Simple Swing GUI with progressive rendering display and console.
  • Simple Swing display driver that can be embedded in other applications.
  • Primitives
    • Triangle mesh
    • Hair curves
    • Disk
    • Sphere
    • Torus
    • Banchoff surface
    • Bezier patches (built-in teapot and gumbo models) - tesselated on demand
    • Infinite plane
    • Cube-grid (eg: Menger Sponge)
    • Cornell Box
    • Julia Quaternion Fractal
    • Particle Surface (large sets of spheres)
    • Programmable (surfaces can be tesseleated by Java code compiled and executed on demand)
  • Cameras lenses
    • Pinhole
    • Spherical (produces a longitude/lattitude environment map
    • Thinlens (produces depth of field effects, including bokeh)
    • Fisheye
  • Ray intersection accelerators
    • SAH KD-Tree
    • Bounding Interval Hierarchy (paper)
    • Uniform grid
    • Bounding volume hierarchy
    • Null (for simple scenes)
  • Surface shaders
    • Diffuse
    • Mirror
    • Glass (with absorbtion)
    • Phong (with glossy reflections)
    • Ambient occlusion
    • Shiny diffuse
    • Anisotropic ward
    • Wireframe
    • Programmable (in Java - compiled during scene loading)
  • Surface modifiers
    • Bump mapping
    • Normal mapping
  • Light sources
    • Point light
    • Directional spotlight
    • Triangle area light (paper)
    • Image-based infinite area light
    • Physically based sun/sky system (paper)
  • Photon mapping engines
    • KD-Tree
    • Grid based
  • Image filters
    • Box
    • Triangle
    • Gaussian
    • Blackman Harris
    • Catmull-Rom
    • Mitchell
    • Lanczos
    • Sinc
  • Bucket orderings
    • Hilbert
    • Spiral
    • Row
    • Column
    • Diagonal
    • Random
  • Global illumination engines
    • Irradiance caching
    • "Instant GI" - based on "Illumination in the Presence of Weak Singularities" (Thomas Kollig, Alexander Keller)
    • Path tracing
    • Fake ambient term
    • Ambient occlusion


  • Robert Lindsay
    • Blender exporter
  • Rami Jarakivi
    • TGA input/output
    • OpenEXR display driver
    • Swing GUI Drag and drop support
    • Various bug fixes and optimizations
  • Kristoffer Berg
    • Website design
    • Logo design
  • Artur Brinkmann
    • Documentation

Planned Features

  • Documentation (!)
  • Infinite progressive rendering
  • Shader graphs
  • Improved shader API
  • Dataflow formulation of the rendering pipeline
  • Advanced Swing GUI with support for all rendering options
  • Volume shaders for participating media
  • Geometric and light source motion blur
  • Spectral rendering Logo Valid XHTML 1.1 Valid CSS!

Website design by Kristoffer Berg (MUX medialab)