General Introduction
Light modelling generally involves three aspects:
- Global illumination model
- Light sources
- Local illumination model
Whereas the Global illumination model handles the actual light computation, the Light sources are the light-emitting elements, and the Local illumination model defines the optical properties of the scene objects.
In each aspect, computer graphics offers plenty of alternatives.
Several of them are implemented in GroIMP as ready-to-use tools.
GroIMP integrates two two main light model implementations, namely:
- Twilight, a CPU-based implementation
- GPUFlux, a GPU-based implementation
Both implementing different global illumination model for rendering and for light computation.
In the following, only light computation or light modelling will be discussed.
Regarding light sources, GroIMP provides a complete set of possible implementations. They all implement the Light and LightBase interfaces, which makes them easy to handle and exchange.
For the Local illumination model, which defines the optical properties of the scene objects such as values for absorption, transmission, and reflection, so-called shaders are used.
GroIMP provides a set of standard shader implementations, e.g., for Lambert and Phong shading. Whereas the Lambertian model supports only diffuse reflection, the Phong reflection model (Phong, 1973) combines ambient, diffuse, and specular light reflections.
References
Phong BT, Illumination of Computer-Generated Images, Department of Computer Science, University of Utah, UTEC-CSc-73-129, July 1973.