Sunflow is an open-source global illumination rendering system written in Java. The project is currently inactive; the last announcement on the program's official page was made in 2007.
Contact: Christopher Kulla [email protected] Sunflow is a 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. The fastest way to get started rendering images if you are not familiar with Java development is to get the binary release from the website. You will also need the latest Java SE JDK (to get the server VM) from IMPORTANT PERFORMANCE TIPS: Change the -Xmx command line option to match the amount of RAM in your system (example uses 1GB) Make sure the server VM is being used. Unfortunately, on 32 bit Windows, Sun only ships the server VM with the JDK, and doesn't install it in your path by default. Check your PATH environment variable if you have trouble. You can find some simple demo scenes on the website's data distribution. A simple blender script is also available from the website. Download the latest JDK (6.0 at the time of this writing) if you don't have it already. Please note that the source code makes use of some new features like generics. Keep this in mind if you are trying to compile/run the code under a different JVM. Create a main directory to hold the code (for example, "sunflow") and unzip the contents of the source package into it, preserving sub-directories. Create the "classes" subdirectory if your unzip program did not. You may now compile the software from the main directory by running: The tips above apply here as well (-Xmx and -server command line options). Scene file format: The SunflowGUI program accepts input in the .sc file format. As this is only a temporary file format, the best documentation for it is SCParser.java. You may also get a feel for what is supported by examining the example scene files provided in the data distribution. Rendering options: The most important controls are aa.min and aa.max. These control the under/over-sampling of the image. The image will be first sampled at the rate prescribed by aa.min. Then, based on color and surface normal differences, the image will be refined up to the rate prescribed by aa.max. Image quality is also affected by filtering. If you use oversampling (positive min or max AA), you will want to turn this on. Here are the names of the built-in filters: box triangle gaussian catmull-rom mitchell lanczos blackman-harris sinc Box and triangle are best for previews as they are small and fast. The other filters are recommended for final image rendering. Sunflow proceses the image to be rendered in small squares called buckets. The size of these buckets can be controlled by a pixel width. Each rendering thread will be a assigned a single bucket. You may not get the bucket size you expect if you try to make them really small or really big, as there are some hard-coded limits to prevent excessive memory usage or excessive overhead. The bucket ordering simply affects the order in which the buckets appear. They shouldn't have too much of an effect on overall rendering speed. Area lights automatically create soft shadows in your scene. Once you have the proper meshlight exported, you can control the quality of shadows by changing the samples value. Please note this value is a number of rays PER triangle. Complex meshes made up of many triangles can become quite costly. The best is to restrict yourself to simple quads (2 triangles). Sunflow includes several methods to achieve global illumination. The easiest to setup is path tracing. Caustics are produced by light shining through refractive objects or being bounced by highly reflective materials. The only caustic algorithm currently implemented is via photon mapping. You must first pick a number of photons to shoot into the scene. Each light source will shoot this many photons, so be carefull if you have many lights in the scene. Pay attention to the messages in the console to see exactly what is going on.
~1 min read
Sunflow is an open-source global illumination rendering system written in Java. The project is currently inactive; the last announcement on the program's official page was made in 2007.
==References==
Excerpt from the source-code README · 8,354 chars · not written by Vinony
via Wikidata · CC0
Discovered by embedding cosine similarity (sentence-transformers MiniLM, 384-dim).