SunFlow – rendering system for photo-realistic image synthesis.

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

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

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted