Hammer Visual Engineering Inventor 2.0 / VRML 1.0 Converters to Rayshade, POV, and Renderman / BMRT

Here is the original file (bob.wrl - as can be found in my free stuff pages) shown inside SGI's ivview Inventor / VRML file viewer.

Here is an image produced by running bob.wrl through iv2pov and then rendering with POV 3.0 on Irix 5.3:

Here is an image produced by running bob.wrl through iv2ray and then rendering using rayshade 4.0 on Irix 5.3

Here is the same file converted usingIv2Rib and then rendered using RenderMan 3.4 (prman) from Nextstep 3.2.

Here is the same file converted using Iv2Rib -bmrt and then rendered using BMRT 2.3.5a for Irix 5.3 (rendrib)

In all cases the only changes made to bob.wrl was to replace the header (from "#VRML V1.0 ascii" to "#Inventor V2.0 ascii"), and the addition of a PointLight situated directly above the camera.

Iv2Ray does a pretty good job replicating the material, textures, and lighting produced by Inventor. The only exception to this I've noted is with Inventor primitives (i.e.: Sphere, Cone, Cylinder) wherein the texture mapping is somewhat different. To maintain identical texture mapping, use TextureCoordinates with IndexedTriangeStripSets, instead of the primitives. The Rayshade "reflectance" variable is not supported under Inventor, and is derived from the specularity variable instead:

reflectance = (specularity.red + specularity.green + specularity.blue) / 30.0

All of the programs supports backface removal. This can save a fair chunk of memory and time during rendering. Keep in mind, though, that a scene with reflections may reveal the removal. In other words, if you remove the back side of a sphere (that side not facing the camera) and then place a mirrored surface behind the sphere, the camera will see the it has been sliced in half.

Iv2POV estimates materials and textures using a less hearty scheme and requires more in the way of hand-tweaking. This is because the the nature of POV materials and textures. POV uses a fundamental color and then allows the author to alter the brilliance of the diffuse, ambient, and specular portions of the surface. This is very different from the Inventor scheme, which provides for seperate colors for each quality. Also Inventor's UV mapping of texture files is not even attempted in POV. The texture is simply mapped onto the surface using the POV default X, Y texture mapping and otherwise left alone.

Iv2Rib uses the "paintedplastic" shader for all of the Inventor materials. It produces Polygons for all geometry. Hopefully, given time more complex constructs will replace both. Iv2Rib supports the -bmrt flag, allowing for BMRT's use of .tif files for textures and for turning on the shadowing option:

Attribute "light" "shadows" "on"

Normal generation is optional with Iv2Rib, and requires the use of the -n flag. Pointlight and spotlight intensity is calculated based on a bounding box containing the entire scene.

In terms of fixes from the last version of Iv2Ray, the IndexedFaceSet problems have been repaired and 2D text is now translated into 3D text. Other 2D primitives are still not supported - so no lines or points. New fixes allow for better camera manipulation, better output formatting, SoTriangleStripSets without specified normals no longer cause a core dump on Iv2Ray.

I am told by Mike Heck of TGS, that all of the converters will work with VRML2.0 files if recompiled using TGS's newest version of Inventor. I don't know if this is the case because I am still using Inventor 2.0 on SGI.

Iv2Ray, Iv2POV, and Iv2Rib are freely available for downloading. All I ask is that you respect my copyrights (leave them in) and do not claim this work as your own. You may otherwise distribute the source and executable for either program, but you may not charge money for it. As always, I want to hear about any problems you may have. I would also like to hear how you are putting these programs to use. I don't promise to fix any bugs you may find (there are a few) - but if you send me examples, I'll be glad to take a look at them and get back to you.

Download Iv2Ray V0.12 Binary

Download Iv2Ray V0.12 Source

Download Iv2POV V0.12 Binary

Download Iv2POV V0.12 Source

Download Iv2Rib V0.11 Binary

Download Iv2Rib V0.11 Source