Incremental Updates of Path-Traced Scenes during Editing

Bachelor Thesis
Student Project
Master Thesis
1

Description

Artists like to edit their scenes in software, such as Blender, and want to get accurate previews of the final scenes as quickly as possible. Luckily, with GPU ray tracing, this process has become acceptably interactive. Consider the workflow that is described in this video for an example. Updates can be made frequently, but whenever they happen, the entire image goes from a coarse, noisy rendering to a finer rendering. Whenever the image rendering is restarted, an artist must wait and view the process of the image being formed. This makes it difficult to focus on the actual changes that were caused by modifying the scene. Furthermore, many of these changes mostly affect only a small portion of the image, yet the entire image must be re-rendered for a completely accurate result. Instead, it would be much nicer to render likely affected image areas first to an acceptable level of detail and then replace them with the new results, before doing the rest of the image. 

Tasks

You should first find out what methods are common for updating renderings in the most widely used design suites (Blender, Maya, etc). Once you have a solid idea of what methods are available, you should try to come up with an ideal solution such that someone who is modifying a scene can quickly and easily focus on the impact of making certain changes. In its simplest form, you could use a method that detects the image areas most likely affected by changes of particular scene parameters (e.g., modifying a material), render those image areas to a basic level of detail and replace those image portions with new ones, before updating the rest. However, creative ideas and additional solutions are encouraged! Your solution should be implemented in Blender to make a comparison easy. This should be done so that the artist has an easier time focussing on what changes he/she has to do and, as a result, has an improved workflow for editing.  Finally, once you are done, your work should include a small user study to ensure that your changes actually make editing easier.

Requirements

  • Knowledge of English language (source code comments and final report should be in English)
  • Knowledge of Blender, rendering and 3D authoring
  • Knowledge of at least one programming language that can be used to modify Blender source code
  • Motivation to verify that what you did actually makes a difference for someone working with your solution
  • More knowledge is always advantageous

Environment

The project should be implemented in Blender. 

Responsible

For more information please contact Bernhard Kerbl.