Like most ray tracing environments, DIRSIG offers a number of convenient primitive objects to use in place of facetized geometry. Aside from offering a quick way to construct a (simple) scene, primitives have mathematically defined surfaces so there is no reason to worry about edges between facets. In contrast to vertex normal interpolation which helps smooth the appearance of facetized objects, primitives offer true, smooth geometry which can be convenient for working out precise radiometry problems.
We've already made some of these primitive objects available under the old object database (ODB) inputs, which has been shown in the PrimitiveObjects1 demo. These objects are shown below.
The primitives shown are a box, a sphere, a cylinder, a ground plane, a disk, and a two material disk (introduced to quickly model a Secchi disk for virtually measuring turbidity).
We've now updated the "glist" format to support these primitives and to provide previously unavailable primitives that we have used over the years in support of various projects. Aside from the cleaner XML interface offered by the glist format, the update allows the user to use primitives as instances -- allowing for scaling and rotating just like facetized objects. The new primitives are shown below and will be in a PrimitiveObjects2 demo in the next release.
The new scene demonstrates some of the old primitives under various instance transformations, shows some new options (like the ability to uncap the cylinder), and gives examples of some of the new primitives. The new primitives include curved frusta (useful for modeling ramps and piles), a cone (a special case of the curved frustum), a checkerboard surface (useful as a ground plane and allows each check to be indexed and individually painted), and a sinusoid surface and volume (with customizable amplitude and phase, along with orientation relative to the bounding box shape)
We've already made some of these primitive objects available under the old object database (ODB) inputs, which has been shown in the PrimitiveObjects1 demo. These objects are shown below.
The primitives shown are a box, a sphere, a cylinder, a ground plane, a disk, and a two material disk (introduced to quickly model a Secchi disk for virtually measuring turbidity).
We've now updated the "glist" format to support these primitives and to provide previously unavailable primitives that we have used over the years in support of various projects. Aside from the cleaner XML interface offered by the glist format, the update allows the user to use primitives as instances -- allowing for scaling and rotating just like facetized objects. The new primitives are shown below and will be in a PrimitiveObjects2 demo in the next release.
The new scene demonstrates some of the old primitives under various instance transformations, shows some new options (like the ability to uncap the cylinder), and gives examples of some of the new primitives. The new primitives include curved frusta (useful for modeling ramps and piles), a cone (a special case of the curved frustum), a checkerboard surface (useful as a ground plane and allows each check to be indexed and individually painted), and a sinusoid surface and volume (with customizable amplitude and phase, along with orientation relative to the bounding box shape)
Comments