I'm in the process of putting together a proposal for my MS Thesis - and I want to justify using Lux as a basis for my work. (originally I was planning to use PBRT) I still don't have a real topic to research, but I'm getting there. As part of the background I will present, I started putting together some of the "high points" about Lux that I think make it more suited for academic research than other tools that are available. After some refinement, it seems like the type of thing that might go well in the wiki somewhere. No?
Since PBRT was conceived as a learning tool, I think Lux should explicitly try to continue that. It should be even more useful because of its advanced capabilities, and I see no reason Lux shouldn't be widely adopted by academia as well as hobbyist and professional users. Pushing Lux in this way seems like it would be a big benefit to the individual researchers, and to the Lux community. I believe I would have greatly benefited from using PBRT as an undergraduate, and probably even more so from Lux. (but neither was available at that time)
Please let me know what you all think of this.
Here are the reasons I think Lux is a good base to work from:
Unbiased and Rigorous: Algorithms are mathematically proven from fundamentals. Can be used to produce high quality reference images for judging other techniques. Provides measurable error bounds, allowing comparison of results based on more than subjective judgement. Images can be useful beyond being "pretty pictures."
Mature: The essential functionality is complete, and well debugged. It's a proven system, designed by acknowledged experts, extended and maintained by experienced users. No "reinventing the wheel" is required.
Modular: Easy to extend or replace existing functionality for testing possible improvements. Allows focus on details in a particular area of interest without requiring comprehensive knowledge of the entire system.
Open Source: Zero cost, and free of encumbrances. There are no patent, copyright, or intellectual property issues for non-commercial users. Additions can and will be widely exposed to others without legal risk, and can inspire further development.
Actively Developed: The code is reasonably modern. Questions can and will be answered by someone who either wrote or has a deep understanding of the code in question. If bugs are found, they will be fixed - probably quite quickly.
Cross Platform: Unix/Linux, Windows, and Macintosh are all supported reasonably well, with identical features and interface.
Well Documented: The PBRT book is very detailed, and reasonably easy to understand. The rest of the documentation (wiki, mantis, forums) is not complete, but is still usable. It compares favorably to most other open source rendering tools, and will likely only improve over time.
Advanced Features: Development reflects current academic research topics. Working MLT and ERPT implementations can help provide insight and understanding of these difficult concepts, and will be the basis for future state-of-the-art techniques and algorithms.
Model Complexity: No need to "hand build" scene files, or write custom scene building tools, since there is a useful Blender exporter. In situations where programmatic constructions are necessary, the SDL is fairly simple to emit and parse.
HDR Input and Output: True to life lighting requires high dynamic range. Some tone mapping is in-built for convenience, but "raw" HDR (in OpenEXR format) output is supported.
Room For Expansion: Despite its rich feature set, there are still plenty of missing features that will allow for meaningful contributions to be made.
