Workflows

You can incorporate Beast into your pipeline in several different ways, summarized in the following sections.

Note that the lines in the flow diagrams represent the flow of different kinds of data, not necessarily actual calls or messages. All data exchanges are always initiated from your application.

Standard on-demand baking

You can invoke the Beast API to carry out a rendering of your scene on demand. You provide Beast with all the input data it needs, run the rendering job, and retrieve the generated data.

This workflow offers a conceptually straightforward integration, and complete control over the type of lighting data that gets baked (i.e. lighting only, direct light only, ambient occlusion, shadowmaps, etc.). You can bake the lighting data from your level design tool when an artist requests it, when the artist saves changes to a level, when the artist quits, etc. Since no user interaction is required for this workflow, you can also launch an on-demand baking from a script or automated process, like a nightly build. However, in this setup the scene is static and baking is non-iterative: if a change is made to the game level in your level editor, you have to re-create the scene and run a new rendering job to bake new lighting data for the whole scene.

Live preview in eRnsT

You can give your artists an interactive preview of the final lighting results for your level using the standalone eRnsT interface provided with the Beast SDK. Artists can navigate around the level in the eRnsT viewer to check out the lighting effects, and even edit light sources and Beast configuration parameters.

In this kind of workflow, you set up the rendering job the same way as for on-demand baking. However, while the artist is working in the eRnsT interface, you can retrieve any changes they make to the Beast scene and apply those changes back to your game level.

The main advantage of this workflow lies in reducing the iteration time between the time an artist authors a scene and its global illumination settings and the time the artist gets to see the final results in context. However, when using eRnsT you do not have control over the types of data baked into your lightmaps. Typically, the eRnsT session is used only to ensure that the scene is set up correctly; once the artist has validated the scene in the eRnsT viewer, an on-demand baking is usually launched to create the final high-quality lighting data that will be used in the game.

Live preview in your own level editor

Instead of using the standalone eRnsT viewer, you can integrate the live lighting preview provided by eRnsT directly into your own level design tool. Artists can therefore continue working in their normal environment while they preview the lighting, reducing iteration time to zero. Baked lightmaps are streamed back to the level editor progressively, with each iteration improving on the quality delivered in the previous iteration. As artists make changes in the level, you update the Beast scene to reflect those changes. eRnsT automatically re-bakes the lightmaps when necessary; you retrieve the updates and apply the generated data back to your level editor.

Like in the eRnsT workflow described above, a final on-demand bake is usually performed at some point after the live eRnsT session is closed, in order to prepare the actual lightmaps that will be used in the game at runtime.

This workflow offers the most streamlined approach for the artist. They simply work uninterrupted in the level design tool, and can preview the global illumination at any time. However, this may be the most challenging workflow for the integration programmer to set up.