-
Notifications
You must be signed in to change notification settings - Fork 0
Model
ISET3d software renders three-dimensional spectral scenes. These scenes are used with ISETCam and ISETBio. The work flow is to
- create and edit a recipe that describes all the elements of the scene
- write out the recipe and invoke a docker container that uses PBRT to render the scene
- read the rendered data into an ISETCam scene or optical image (if the recipe has a lens).
piRead; piRecipeDefault; piRecipeCreate;
Some ISET3d principles are the same, no matter whether you are rendering on a remote machine or a local machine.
We assemble the data necessary to render a scene within a directory, identified by its scenename, such as ChessSet. When organized by ISET3d, the directory has three PBRT files. One is called scenename.pbrt, and two others are scenename.pbrt and scenename.pbrt. The scenename.pbrt file includes the geometry and materials files when PBRT executes. These files contain the rendering instructions used by PBRT.
Within Matlab, the information about the scenes is collected into a class that we call a 'recipe'. We edit the recipe parameters, which define the data files and rendering parameters, using recipe.set and recipe.get.
Once we are satisfied, we write PBRT files and collect up the necessary data files from the information in the recipe. The code looks something like this
thisR = piRecipeCreate('mySceneName');
... many edits in here ...
piWrite(thisR);
The function piWrite() creates the main scene directory and files, and it also creates specific subdirectories as needed to contain the data files. The scene data files include assets (object meshes), textures, materials, skymaps, spds (spectral power distributions), and lenses. The files in these subdirectories are also referenced within the *.pbrt files.
Finally, there is a subdirectory called renderings which will contain EXR files that are output from the PBRT execution.
The scene files can be created and processed in two different ways: using remote resources or local resources.
Matlab and the ISET3d editing always run on a local computer. But we often use data and rendering hardware (GPUs) that are on remote machines. A number of features need to be configured to work in this way. The pages on remote rendering describe the concepts and functions for remote rendering.
It is possible to assemble and render scenes on the local computer, without any remote resources. The pages on local rendering describe how to run locally.