HOOPS/3dGS supports a ‘sphere’ primitive. It is tessellated at draw time which can greatly reduce the memory footprint of your application if spheres are widely used. It is inserted via a center point, radius, and axis/ortho vectors. The axis/ortho vectors would typically be NULL, but are provided to more easily allow application of a texture (a sphere that is tessellated using axis/ortho vectors has ‘poles’ and thus a texture can be applied by ‘wrapping’ it around the sphere as you would around a cylinder) A sample call is as follows:

    float center[] = {1, 1, 1};
    HC_Insert_Sphere(center, 2, NULL, NULL);

The tessellation of the sphere is controlled by the “sphere” option within the “tessellation” rendering option. An example of a tessellation setting would be:

    HC_Set_Rendering_Options("tessellation=(sphere=((20,15), (5,4), 1, 0, -1 )");

As with cylinders, 0 and -1 have special meaning. 0 means draw a point at the center. -1 means draw nothing at all.