How to properly use the Bullet ray tracing engine

I have Phobos images initialized with spice using a DSK shape model. I have an old IsisPreferences files and did not include the ShapeModel group and the RayTraceEngine. I’m not clear what happens by default.

I have added the ShapeModel group to my preference file and have left things commented out, but if I want to use Bullet (or Embree), do I need to reprocess my data or will ISIS simply use the specified ray trace engine in the preference file when I un-comment that section? Is there any way to know what it is using?

Is there documentation anywhere in regard to use of a DSK shape model in ISIS? I couldn’t find anything other than what has been documented by others outside of Astro (Bennu), which was useful, but not at the level of invoking it.


The ray tracing engine is selected based on your preferences file. By default it uses the NAIF low-level routines which are okay as long as you have the shapemodel on a very high speed drive. To use the Bullet engine set RayTraceEngine to Bullet in your preferences file’s ShapeModel group.

Group = ShapeModel
  RayTraceEngine = Bullet
  OnError = Continue

If you spiceinit a cube with your preferences set to use embree or bullet it will add the “RayTraceEngine” keyword to the kernels group on the cube. This will be used if later run an application and your preferences file does not specify a RayTraceEngine but the selection of Bullet or Embree in your Preferences file will take precedence over anything spiceinit adds.

So, you do not need to re-process your images. You can just modify your preferences file. I keep extra preferences files around for embree and bullet whenever I want to use them.

There’s a little bit more information here:

1 Like