Overview

The DIRSIG Bundle Inventory is a collection of bundled objects and materials for quick and convenient use in DIRSIG scenes. The files are intended to be stored in a central location (e.g. C:\My Documents\DIRSIG or ~/Documents/DIRSIG) which will be referenced by DIRSIG via the $DIRSIG_BUNDLE_PATH environment variable. Once this is set up, these bundled objects and materials can be used in DIRSIG scenes without copying any of the files into the scene folder.

Inventory Setup

The DIRSIG Bundle Inventory can be set up by completing the following steps:

  • Download dirsig_bundle_inventory.zip from myDIRSIG

  • Unzip the file to a central folder, such as ~/Documents/DIRSIG

  • Add that folder to the DIRSIG_BUNDLE_PATH environment variable:

    • In Linux/Mac, add the following line to one of the startup scripts on your system (.profile, .bashrc, etc.): export DIRSIG_BUNDLE_PATH=/path/to/bundles where /path/to/bundles is the location of the unzipped inventory

    • In Windows, this can be accomplished through the system settings (see the screenshot below) or by running the DOS command setx DIRSIG_BUNDLE_PATH "C:\DIRSIG\bundles" /M where C:\DIRSIG\bundles is the location of the unzipped inventory. Note the /M sets the variable at the system level and can be omitted to set the variable at the user level.

windowsvar
Figure 1. Adding paths to environment variables via Windows System Settings.

Included Materials

The materials included in the bundle inventory have descriptive names. The .mat.hdf files contain metadata that includes information such as where spectral measurements were recorded, spectrometer model, geographic location, etc. when applicable. To view more information about the materials, use the mat_bundler inspect command (e.g. mat_bundler inspect sand_therm.mat.hdf). See the figure and table below for information about the included materials.

Important Materials with the _therm and _mwir suffixes are able to be used in THERM and have spectra defined through the MWIR/LWIR. The _mwir suffix indicates the material has spectral coverage through 3.2µm. The _therm suffix includes the _mwir band and also includes coverage through 14µm. Some _therm materials even extend out to 25µm.
materials
Figure 2. Some of the included materials from the bundle inventory.
Filename Description

asphalt_new_therm.mat.hdf

New (fresh), black asphalt from Megascene1.

asphalt_old_therm.mat.hdf

Old, gray asphalt measured near Rochester, NY.

boat_side_XXXXX_therm.mat.hdf

Three boat coating materials. Options include gelcoat_white, gelcoat_black, and metal_white.

brick_XXXXX_therm.mat.hdf

Various colors of bricks. Color options are tan, caramel, brown1, and brown2.

brick_YYYYY_therm.mat.hdf

Some alternative brick options from various locations in the Rochester, NY area. Named after the locations in which they were measured. Options include sidewalk_roadway, charlestowne, savannah_gray, hampton, old_school_red, old_school_brown, ashgrove_light, ashgrove_dark, and brick_plymouth_red.

busloop_terrain_XXXXX.mat.hdf

Terrain materials from the RITBusLoop scene. Available materials: asphalt, concrete, grass, mulch, orangepaint_asphalt, rocks, and whitepaint_asphalt

canvas_green_therm.mat.hdf

Green canvas material from MegaScene1.

concrete_block_therm.mat.hdf

Concrete Block (cinder block) material.

diffuse_nn_percent.mat.hdf

A set of diffuse reflectors, including 10, 20, 30, 40, 50, 60, 70, 80, and 90 percent reflectors

dirt_dark_wet.mat.hdf

A dark, wet dirt material used in many of the demos as a ground material

glass_diffuse.mat.hdf

Diffuse glass spectra. This material is opaque, and can be mixed with other materials to create a representative glass material (see below)

glass_therm.mat.hdf

This glass material is defined for thermal sims. It includes spectral reflectance data, Ward BRDF, and an extinction property.

grass_healthy_therm.mat.hdf

Healthy grass measured near Rochester, NY.

grass_mixed_therm.mat.hdf

Mixed grass measured near Rochester, NY.

mirror.mat.hdf

A perfect reflector. This material can be mixed with other materials to create a representative glass material (see below)

parking1_XXXXX_car_paint.mat.hdf

Glossy car paints from the parking1 demo. Available colors: red, green, blue

plastic_dock_gray_therm.mat.hdf

A plastic material of a dock seen near a body of water.

plastic_pvc_USGS.mat.hdf

USGS plastic PVC pipe from the USGS spectral database

plastic_tarp_USGS.mat.hdf

USGS plastic blue tarp from the USGS spectral database

pool_lining_therm.mat.hdf

Plastic material used as lining of a swimming pool.

roof_gravel_gray_therm.mat.hdf

Roof gravel material.

roof_metal_gray_therm.mat.hdf

Thin sheet metal roofing material.

roof_shingle_XXXXX_therm.mat.hdf

A variety of roof shingles measured around the Rochester, NY area. Names indicate location of measurement and color. Options include harmony_gold, harmony_gray, harmony_sequoia, eclipse_green, harmony_black, eclipse_brown, eclipse_gray, eclipse_rock, eclipse_black, generic_white1, generic_black1, generic_brown1, shed_brown, shed_light, generic_tan, generic_black2, generic_brown2, generic_black3, generic_black4, generic_brown3, generic_white2, generic_brown4, and generic_brownred.

rubber_coating_black_therm.mat.hdf

Black rubber coating, assumed to be more firm than the tire rubber.

sand_therm.mat.hdf

Sand material from Megascene1. Measured sand for use in a baseball diamond.

shutter_vinyl_XXXXX_therm.mat.hdf

A variety of vinyl materials used as shutters on or near windows. Options include wineberry, clay, black, white, green, blue.

siding_XXXXX_therm.mat.hdf

Various siding materials measured in the Rochester, NY area. Names indicate the siding material and color. Options include wood_gray_new, wood_white_new, aluminum_yellow_new, aluminum_yellow_fair, wood_rust_fair, wood_stained_dark1, wood_stained_dark2, wood_stained_dark3, wood_offwhite_fair, aluminum_green_fair1, aluminum_green_fair2, wood_brown1, aluminum_white, aluminum_lightgreen1, vinyl_tan1, wood_tan_fair1, wood_tan_smooth, wood_tan_poor, vinyl_white, wood_tan_fair2, wood_white, aluminum_lightgreen3, aluminum_darkgreen, wood_brown2, vinyl_blue1, vinyl_cream, vinyl_tan3, vinyl_gray, vinyl_blue2, vinyl_brown, stone1, and stone2.

tennis_court_XXXXX_therm.mat.hdf

Some standard tennis court surface materials. Assumed to be over an asphalt base. There is a white line material as well as red and green surfaces. Options include red, green, and white_line.

tire_black_mwir.mat.hdf

Black rubber tire material from MegaScene1.

tree_XXXXX_therm.mat.hdf

A selection of tree bark and leaf materials found in the Rochester, NY area. Options include maple_bark, blackoak_bark, dogwood_leaf, blackoak_leaf, norwaymaple_leaf, redmaple_leaf, silvermaple_leaf.

Ward_20_10.mat.hdf

Ward BRDF 20% diffuse, 10% specular

wood_beam_pine_USGS.mat.hdf

USGS pine wood 2x4 beam from the USGS spectral database

wood_stained_red_weatheredX_therm.mat.hdf

Two varieties of stained red wood. Options include weathered1, and weathered2.

zero.mat.hdf

100 percent absorber

thermal
Figure 3. Thermal simulation using THERM materials from the bundle inventory.

Using a bundled material from the inventory

A bundled material can be used in a material database (.mat file) by simply defining a material with the .mat.hdf filename. Below is an example MATERIAL_ENTRY.

MATERIAL_ENTRY {
    ID           = busloop_terrain_grass
    NAME         = Grass - RITBusloop Terrain
    BUNDLE_FILENAME = busloop_terrain_grass.mat.hdf
}
Note No path was provided for busloop_terrain_grass.mat.hdf because it is defined in the $DIRSIG_BUNDLE_PATH variable.

The material can be assigned to an object using the Material ID busloop_terrain_grass. A simple example is shown below.

<basegeometry>
  <obj>
    <filename>terrain.obj</filename>
    <assign id="busloop_terrain_grass">default</assign>
  </obj>
</basegeometry>

Creating glass from included materials

A glass material can be created by combining the glass_diffuse, mirror, sand_therm, and null materials.

To accomplish this, assign these materials to a mixture map. In our example (below), we used a mixture map with 10 bands. This allowed us to control the percentages of each material in increments of 10%. For example, assigning each of the materials one time and leaving the rest as null would create a glass that is 10% diffuse (glass), 10% diffuse (dirt), 10% specular, and 70% transmissive (null material). These percentages can be altered to create glass with different appearances. The 10 band mixture map can be downloaded here.

Below is a set of example MATERIAL_ENTRY definitions that create a glass material:

MATERIAL_ENTRY {
    ID           = clean_glass
    NAME         = Example
    DOUBLE_SIDED = TRUE
    MIXTURE_MAP {
        NAME = Terrain Map
        ENABLED = TRUE
        IMAGE_FILENAME = 10p.img
        UV_PROJECTOR {
            ORIGIN = CARTESIAN
            FLIPX = FALSE
            FLIPY = FALSE
            EXTENDX = MIRROR
            EXTENDY = MIRROR
        }
        BAND_MATERIAL_LABELS = 0,0,0,0,0,0,mirror,0,glass_diffuse,glass_diffuse
    }
}

MATERIAL_ENTRY {
    ID           = mirror
    NAME         = mirror
    BUNDLE_FILENAME = mirror.mat.hdf
}

MATERIAL_ENTRY {
    ID           = glass_diffuse
    NAME         = sand
    BUNDLE_FILENAME = glass_diffuse.mat.hdf
}

Included Objects

The bundle inventory comes with a variety of objects that were hand-picked, bundled, and gathered from various scenes. Many of the objects in the first version of the inventory were from the warehouse and RITBusLoop scenes. While these object bundles can be copied into a scene’s geometry folder and instanced, they were designed to be used without the need to move them out of the inventory folder.

circled
Glist Filepath Description

bench/bench.glist

A simple bench from the RITBusLoop scene

concrete_barrier/concrete_barrier.glist

A barrier one might see on the side of a highway

concrete_parking_bumper/concrete_parking_bumper.glist

A concrete bumper commonly used in parking lots

drainage_pipe/drainage_pipe_Xm_Ycm.glist

Straight, shiny, metal drainage pipes that are X meters long and Y centimeters in diameter.

electrical_transformer/electrical_transformer.glist

White metal transformer box

firehydrant/firehydrant.glist

Standard fire hydrant

fuel_tank/fuel_tank.glist

Fuel storage tank, large, fixed

houses/houseN.glist

Houses from MegaScene1. Available options: house1.glist, house2.glist

ladder/ladder.glist

Standard tall ladder

macbeth/macbeth.glist

Macbeth Color Chart

picnic_table/picnic_table.glist

Standard wooden picnic table

shipping_container/shipping_container_20_ft.glist

20 foot shipping container

shipping_container/shipping_container_40_ft.glist

40 foot shipping container

shrubs/brushN.glist

Various shrub bushes. Options include: brush1, brush2, brush3, brush4, and brush5

steel_drum/steel_drum.glist

Standard steel drum barrel

steel_grate/steel_grate.glist

Small steel drainage grate

steel_work_table/steel_work_table.glist

Work table/cart made of steel with black tires

stepping_stone/stepping_stone.glist

Landscaping square stone

street_lights/Xm_Ybulb.glist

Various street lights X meters tall and with Y lights. Options include: 3m_1bulb, 4m_2bulb, 15m_3bulb

tire_and_wheel/tire_and_wheel.glist

A tire on the rim

traffic_cone/traffic_cone.glist

Standard traffic cone

trees/dogwood.glist

Dogwood tree from MegaScene1, 1m minimum GSD recommended

trees/red_maple.glist

Red Maple tree from MegaScene1, 1m minimum GSD recommended

trees/silver_maple.glist

Silver Maple tree from MegaScene1, 1m minimum GSD recommended

tribar/tribar.glist

Air Force bar target, 1m x 1m

vehicles/generic_pickup.glist

Pickup truck, random color. Alternates with specific colors available: generic_pickup_X.glist, where X can be black, blue, dark_gray, green, light_gray, red, white

vehicles/infiniti_g35.glist

Infiniti G35, random color. Alternates with specific colors available: infiniti_g35_X.glist, where X can be black, blue, dark_gray, green, light_gray, red, white

vehicles/nissan_Y.glist

Various Nissan models. Model options include fairlady, march, primera, skyline. Random color. Alternates with specific colors available: nissan_Y_X.glist, where X can be black, blue, dark_gray, green, light_gray, red, white. Example: nissan_march_red.glist

vehicles/toyota_corolla.glist

Toyota Corolla, random color. Alternates with specific colors available: toyota_corolla_X.glist, where X can be black, blue, dark_gray, green, light_gray, red, white

waste_bins/Dumpster1/dumpster1.glist

Large waste dumpster commonly seen around businesses such as restaurants, hotels, etc.

waste_bins/Dumpster2/dumpster2.glist

Larger waste bin for more industrial sites

waste_bins/heavy_duty_trash_can/heavy_duty_trash_can.glist

Large cylindrical trash can

waste_bins/trashcan/trashcan.glist

Trash can with decorative metal enclosure commonly seen in public areas such as parks

wood_pallet/wood_pallet.glist

Standard wooden pallet

Using a bundled object from the inventory

The $DIRSIG_BUNDLE_PATH variable acts as one of the search paths used by the scene compiler. If it is set up correctly, you can instance an object using the standard glist instancing method. An example is shown below.

<object enabled="true">
  <basegeometry>
    <glist>
      <filename>picnic_table/picnic_table.glist</filename>
    </glist>
  </basegeometry>
  <staticinstance>
    <translation><point><x>0</x><y>0</y><z>0</z></point></translation>
  </staticinstance>
</object>