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.

top_level:2 prog_guide:0 prog_guide/3DGS:1