This page contains an overview of the project's structure for you to quickly find the documentation or source code that you need. Photon is not a single library, it is composed of multiple libraries and programs. Together, they form a toolset for ultra realistic image synthesis.
Programs
- Editor: GUI for scene editing, rendering and debugging
- PhotonCLI: Command-line interface of the renderer
- SDLGenCLI: Command-line interface for generating Photon Scene Description Language (PSDL) bindings
- FilmMerger: Combine the output from multiple rendering sessions
- IntersectError: A small internal tool for estimating the accuracy of different ray-primitive intersection strategies
Plugins
- PhotonBlend: Blender Add-on for Photon
Libraries
- Common: Common functionalities, definitions and utilities for Photon projects
- CEngine: C API of the render engine
- Engine: Rendering algorithms and core functionalities
- EditorLib: Core editor functionalities of the renderer
- SDLGen: Core of SDLGenCLI
Tests
- EngineTest: Unit tests for the engine
- EditorTest: Unit tests for the editor
- RenderTest: End-to-end tests for the renderer
Miscellaneous
- Example Scenes: Simple scenes for testing out the renderer
- Scripts: Various scripts for setup and development
- Resource: Additional resources for Photon
- ThirdParty: Customized third-party libraries for Photon
Deprecated Modules
- JNI: Java bindings for the engine
- PhotonStudio: GUI for scene editing, rendering and debugging, with various utilities (e.g., Minecraft map parser, PSDL Java bindings, etc.)