My research into the lighting of computer graphics leads me to explore certain concepts and considerations that determine what to calculate and what to leave out, based on the viewing requirements. Advances in computation have now made it possible to create accurate simulations of real-world lighting today.
I will introduce some of the concepts in this post.
Types of Light Sources
Point Light: Light emanating from a source in all directions, with the intensity of light decreases as a function of space. Eg: Light bulb
Directional Light: Uniform lighting from one direction, such as sunlight. The source is modelled to be infinitely far away from the object being illuminated, and the intensity of the light stays constant (the change or decrease in intensity as a function of space is negligible) Eg: Sunlight
SpotLight: A directional cone of light, with the intensity being brightest in the central axis of the cone. Eg: Flashlight
Ambient light: No source is modelled. Ambient light is uniformly distributed throughout the scene and is independent of the direction, intensity or distance of the object being illuminated.
A few other types of light are volume lights and area lights, but these are just particular use-cases of the four types of light sources.
Diffuse Lighting: This models how light interacts with the surface of the object, creating lighter and darker pixels to simulate dark and light parts. This simulates the material and texture of the object.
Ambient Lighting: Makes the shape of the object visible even when no light source is modelled. It gives a flat, 2-dimensional representation of the object for a given perspective.
Specular Lighting: This models the highlights and shininess of the object, depicting smoothness and metallicity or reflexivity of the object.
Local Illumination: Light interactions are calculated only with individual objects in the scene separately. This gives a more unrealistic or simulated lighting effect, but it is much faster and takes comparatively lesser computational power.
Global illumination: Light interactions are calculated considering all objects in the scene, including secondary interactions based on reflection and refraction of light with other objects. This gives a more realistic effect but at the cost of higher computational power.
One smart way to reduce the number of calculations through the scene is to go backwards from the viewers perspective to the light source, which ensures that the only interactions calculated are the ones that are relevant to the viewer’s perspective.