Last Updated on October 17, 2023
Sunflow Global Illumination Rendering System (Sunflow) is an open source rendering system for photo-realistic image synthesis.
It is 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.
Features include:
- 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 absorption)
- 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.
Website: sunflow.sourceforge.net
Support:
Developer: Christopher Kulla
License: MIT License

Sunflow is written in Java. Learn Java with our recommended free books and free tutorials.
Return to Graphics | Return to Renderers
| Explore Linux | |
|---|---|
| Best Free and Open Source Software - A huge collection of recommended free and open source software covering every major category. | |
| In-depth Linux Software Reviews - Detailed assessments of Linux software covering features, usability and overall quality. | |
| The Big List of Active Linux Distros - An extensive collection of actively developed Linux distributions. | |
| Open Source Alternatives - Alternatives to software and services from Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle and others. | |
| Essential Linux System Tools - Indispensable utilities for monitoring, maintaining and managing Linux systems. | |
| Linux Productivity Tools - Useful utilities for improving productivity and streamlining everyday tasks. | |
| Alternatives to Popular CLI Tools - Modern alternatives to familiar command-line utilities supplied with Linux systems. | |
| Awesome Free Linux Game Tools - Tools, utilities and companion software that improve gaming on Linux. | |
| Machine Learning on Linux - Machine learning and deep learning software, self-hosted applications and practical tools. | |
| Saving Money with Linux - Practical ways to reduce electricity consumption and lower computing costs with Linux. | |
| Linux Candy - Fun, entertaining and sometimes delightfully quirky software from the lighter side of Linux. | |

Please read our Comment Policy before commenting.