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
whereC:\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.
-
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.
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 .
|
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 |
brick_XXXXX_therm.mat.hdf |
Various colors of bricks. Color options are |
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
|
busloop_terrain_XXXXX.mat.hdf |
Terrain materials from the RITBusLoop scene. Available materials: |
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 |
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: |
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 |
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 |
siding_XXXXX_therm.mat.hdf |
Various siding materials measured in the Rochester, NY area. Names indicate
the siding material and color. Options include |
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 |
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 |
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 |
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 }
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.
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>