-
Notifications
You must be signed in to change notification settings - Fork 7
Database ISET3d
- 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)
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 knows how to find, download, and if needed unpack them into the data folder of iset3d (or of 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.
We store about 20 PBRT scenes on an Archiva webserver. Read about how to list and download these scene on the Archiva database page.
We store many graphics assets for automotive scenes in a Flywheel.io database. By randomly sampling from the assets, we create a large variety of scenes. Read about the assets, scenes, and Flywheel on the Flywheel database page.
A typical asset is created via Cinema 4D (C4D). We adjust the materials and positions and labels using C4D. Then we save them using the PBRT exporter, which is a C4D plugin. We have been using a directory on Gray.
The output files from C4D are
- The asset master file (e.g., Car_007.pbrt)
- A file that is included by the master describing the geometry (Car_007_geometry.pbrt)
- A file that describes the materials for different parts of the mesh geomtry (Car_007_materials.pbrt)
There are sub-directories containing texture files (texture) and mesh components (scene) used by this asset.
After additional processing using iset3d, we create a default render recipe just for this asset. The recipe is also stored in the directory as a JSON file (Car_007.json) that includes the rendering parameters for the default view.
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 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.
ISET3d development is led by Brian Wandell's Vistalab group at Stanford University and supported by contributors from other research institutions and industry.
- Introduction
- Installation
- Workflow
- Camera
- Assets
- Materials Overview
- Textures
- Lights
- Rendering
- Scene data
- Programming overview
- [General Notes on moving to v4]
- Dockerized pbrt-v4 on the GPU