It has been a few months of joining McGill University. I have realized why it is invariably designated as one of the best schools in the world. Besides giving the best resources a student can possibly get, it has a few amazing courses. The most interesting of them being Realistic Image Synthesis. I would like to give a very brief description of this course.
This course mainly deals with the algorithms that can generate real-looking but artificial images. Efficient generation of such images is crucial in movies, games, advertisements, various kinds of simulations, and other related fields.
Here is the link to such an example in the movie ‘Life of Pi’. Although this is an oversimplistic demonstration of the science of such effects, this would possibly give you a rough idea of what this course is all about. Here is another link to one other piece of art out of thousands others that has been made possible due to development in this field.
Such an endeavor requires emulating behaviors of real light rays with the surroundings. However, there is a formidable gap between the complexity of real world processes and the upper bound of the amount of calculation we can do per unit time. Hence, to generate a near to real image, we have to design smart algorithms that can perform similar operations in lesser computations which are paramount especially in games where the graphical scenes change very rapidly.
A very commonly used technique to do so is called ray-tracing which only computes the rays that reach the assumed viewing spot, just like our eyes processes only those rays that reach it. However, it has to be complemented with other techniques like Monte-Carlo estimators, photon-mapping, importance sampling, and so on. So far, no combination of techniques is versatile enough for different kinds of lighting conditions, objects, and environments.
Improving upon this aspect will help us to experience games, and movies like never before. However, a lot also depends on the development of our computing abilities. Any gain in computation limits will allow us to render even more intense computations faster, hence giving us better quality images.