Simulating a Physical Camera in Computer Graphics
This was my master thesis, where I study how a real digital camera works and discusses different camera models to approximate a real camera. If we want to insert a computer generated monster into a real image, then to get a convincing result the camera model used to render the monster have to be as close to the real camera as possible.
Bidirectional Path Tracer
In a classic path tracer we only create light paths starting from the camera, this makes it difficult to capturer effects such as caustics. With a bidirectional path tracer we can create paths starting from both the camera and light source and then combine the two subpaths to create a single path. This method is very effective for creating caustics.
Every time you manipulate a light source, using traditional shading methods, it can take hours to see the result. Especially in large scenes that contains tens of millions of polygons. In this project I try to solve this problem by using a relighting technique called deferred shading.
In this project we have created a small terrain, with a flat water surface. The water surface contains a small disturbance to simulate small waves on the water surface. Reflection and refraction is used to create a more realistic looking water surface. Furthermore, we simulate the absorption of light resulting in the light changing color when it’s transmitted through the water.
Subsurface scattering is the effect of light hitting a surface and instead of being reflected, it penetrates the material, is scattered inside of the material, and then exits in a different point on the surface. In this project we implement a method that, by using a precalculation step can renderer materials with subsurface scattering in real time.
Lighting is used to light a scene. To create a cinematic look, it should be possible to control thing such as the intensity, color and direction of the light source. In this project we implement a lighting model that can simulate different types of light sources, for objects with a plastic surface, that can fit inside a single Cg shader.