Skip to content

Database ISET3d

Brian Wandell edited this page Jul 9, 2022 · 4 revisions
  • We are storing assets and scenes on public websites, Archiva, and Flywheel)
  • We use Cinema4D and Blender to create quantitative assets (dimensions in meters, labeled components)

Getting Scenes via ieWebGet

Some common pbrt scenes (and other image assets) are stored on publicly-accessible web servers. To make working with them easier, ISETCam includes a wrapper function, ieWebGet, that finds, downloads, and if needed unzips them into a local folder of iset3d (or isetcam if appropriate). Most of our tutorials and scripts use this function already, so you can look at them for examples of pulling down scenes for yourself.

Assets

We are accumulating assets and PBRT scenes over time. Some of these are stored in our Flywheel instance, others in cardinal.stanford.edu and accessed via ieWebGet. The Flywheel assets require permission to download. The cardinal.stanford.edu assets are open. That site also includes various hyperspectral and high dynamic range images. See the ISETCam wiki page for more information.

Blender

Describe the blender exporter here a bit.

Flywheel

A session stores a collection of assets of a given type, such as cars, people or a buses. Each asset has a name, class, material, and geometry structure.

Each acquisition within a session includes a collection of files that describe a particular asset. These files are (c4d, obj, mtl, zip file of pbrt graphics resources). To do a PBRT rendering, we download the zip file, which contains everything we need to put this asset into a PBRT scene.

The PBRT resources file (zip)

The asset's resources file is a zip file. It contains critical information including the texture, asset-geometry, and materials.

The asset geometry file (e.g., Car_1_geometry.pbrt) describes the relative paths within the zip-file to the asset components, as well as the material assigned to each component. This file is a default. Typically in creating a scene we over-write the Car_1_geometry.pbrt file.

Each asset also has a mat-file in it (e.g., Car_1.mat). We use this information to modify parts of the asset, such as the material of its parts or the status of its lights. This file contains enough information to reproduce the Car_1_geometry.pbrt file. In fact, when we change a part position or property, we re-write the asset-geometry file.

This file includes the default position and rotation of each component of the whole object. For example, a car might have a set of lights, the main car, and a camera pointed at the object. Each of the

  struct with fields:

        size: [1×1 struct]
        name: 'SubaruXV'
      rotate: [0 0 0 0]
    position: [0 0 0]
       child: [1×73 struct]

Note - the asset geometry file is different from the scene geometry file, which describes how we place the assets in the scene. This is an example of an asset geometry file.

# PBRT geometry file converted from C4D exporter output on 2018/7/18 10:34:40.15 
  
ObjectBegin "SubaruXV"
NamedMaterial "SubaruXV_chrome"
Include "scene/PBRT/pbrt-geometry/1_SubaruXV.pbrt" 
NamedMaterial "SubaruXV_others_1"
Include "scene/PBRT/pbrt-geometry/2_SubaruXV.pbrt" 
NamedMaterial "SubaruXV_uber_black"
...

The Include defines the path to the mesh object, and the NamedMaterial describes the material properties for this mesh.

Clone this wiki locally