See the HOOPS/3dAF Release Notes for details.
See the legacy text extent system option for details.
Hoops/3dGS now contains support for a new infinite line primitive. See the documentation for Insert_Infinite_Line for more details.
Show_Camera_Near_Limit now returns a Boolean value. The return value is true if the near limit is explicitly set on the camera, false if it is just using the global value controlled by the camera near limit system option.
A new legal value has been added to the Set_Heuristics 'culling' option. Users may now specify "maximum extent mode" to define the drawing behavior when a segment's bounding box goes below the "maximum extent".
Set_Window_Frame has been enhanced with two new options -- "decorative" and "inset" -- that allow the user to better control the window border with respect to the owning window and to other windows in the scene that also have visible borders.
The HOOPS Intermediate Mode (I.M.) interface contains new callbacks to allow the user to detect when generalized changes have occurred in the database. The new callback point -- "segment activity change" -- will be activated when there is a modification to the segment tree under the point where the callback is set.
We continue to make enhancements to our new DX9 driver. This release includes support for procedural shaders, among others.
A new heuristic -- static model -- allows HOOPS to create a compiled "draw tree" for the scene which should result in better rendering performance.
Segment-level culling allows HOOPS to avoid drawing all of the objects in a particular segment if the segment's camera angle meets certain criteria. See the Set_Heuristics 'vector' and Set_Heuristics 'vector tolerance' options for more details.
Enhancements to the internal normal-generation code have corrected some visual problems, specifically with respect to Boolean operations. The new normal generation code has a hard coded cutoff angle by which it will create a hard edge. This causes edge visibility (and shading) to be correct after a boolean subtraction of two spheres, for instance.
This release contains support for generating shadow maps, and enhanced control for the visibity of different types of shadows. Click on these links for more info.
The CGM3 Driver now contains support for font tables. See the Platform and Device Guide for details.
Users can define a "sky-box" texture that can then be used to apply a "sky-map" to the scene. See the enhancements to the source option for Define_Texture for details.
A new option -- "invisible" -- for Set_Window_Pattern creates a window pattern that is clear with the added behavior that it does not clear the z-buffer prior to drawing the geometry within the window. This allows geometry within the subwindow to interact with geometry contained in the parent window.
Users can now abort an update by setting the exit update driver option. This causes HOOPS to call a previously defined I.M. callback function at regular intervals during an update. In turn, all of the update functions including Update_Display and Update_Display_Timed and their variants now return a Boolean value indicating whether or not HOOPS completed drawing the scene in the last update. Note that Update_Display_Timed returns FALSE if the update did not complete within the specified time, and it may also return FALSE if the "exit update" callback interrupted the update. To determine the nature of a FALSE return value from Update_Display_Timed or one of its variants, users can pass the event interrupted option to Show_Device_Info.
Users can now defer drawing of a segment if that segment's bounding box goes above the "maximum extent" value. See the defer suboption for the "cullling" heuristic for more details.
Circular and elliptical shapes now use Bresenham's algorithm for drawing. This leads to rapidly drawn shapes that tend to be rounder than they were previously.
Applications that use HOOPS in stand alone mode (no GUI toolkit) can set hardware accelerated display drivers to use fullscreen mode, a new option for Set_Driver_Options.
A new update control -- set hidden line regeneration -- forces 3dGS to ignore its internal update flags and either completely regenerate or leave the hidden line geometry as it currently is. This option only applies when the hsra is set to "hidden line".
A new function gives the user the number of faces in a particular shell. See Show_Shell_Face_Count for details.
Rollback_Ink gives the user a way to easily delete points in a polyline that is being created dynamically using the Insert_Ink function. See the documentaion for details.
Users can now ask HOOPS to reference some data while the segment tree is being processed for rendering, without making a copy of the data. This is accomplished using the new function Reference_Geometry or its condtional variant Conditional_Reference. This allows geometry to be included from a segment without attributes or subsegments, and without additonal include segment traversal.
Users can control the distance between camera position and the stereo focal plane. See the new stereo distance option for details.
It is now possible to associate data with an I.M. callback, so that when a callback is triggered, the pointer to that data is passed to the callback function. See the documentation for Set_Callback_With_Data and Show_One_Callback_With_Data for details.
New settings for the display lists rendering option allow better control over the batching of geometry that is added to the display lists.
Selection events can now be asked to return the containing segment or containing segment tree of an item that was selected. See the new selection level heuristic option for details.
It is now possible to generate images from an OpenGL-rendered scene on any hardware that supports the OpenGL 'GL_ARB_pixel_buffer_object' extension. This can be particularly applicable on many Linux and possibly some Solaris systems.
Enhancements to the tristripping code reduces tristrip creation time by splitting up large shells into spatially coherent subparts before handing them off to the tristripper.
A new rendering option allows the user to tell HOOPS/3dGS to draw a reflection of the model on a given plane. See the simple reflection rendering option for details.
When using the CGM3 driver, the user can explicitly set the font table that is written into the output file. When used in conjunction with HIC_Set_Text_Font_Index, this allows the user to reference fonts installed on the system, so that a viewer application can use system fonts when displaying the CGM3 file.
Polyline routines have been enhanced to support disjointed polylines. By using a negative value for the count parameter, polylines can be made to appear as a series of 2-point line segments. This gives the user a method by which to insert a collection of line segments into the scene graph.
This release introduces a new type of surface that can be created by sweeping a given shell along a path. sFor details, see the documentation for Compute_Swept_Shell and its variants.
The default behavior of text bounding boxes has changed. To ensure that text bounding boxes extend beyond the width of a given text string, HOOPS/3dGS now adds the width of the letter 'X' to the bounding box before it is returned to the user. To revert to the pre-16.0 text bounding box behavior, users must set a new system option legacy text extent.
It is no longer painful to get the name of an image from an image key. Users may now query the name directly by calling Show_Image_Name.
Users can speed up the calculation of model info for large models using the new function Show_Shell_Tristrip_Count. This interface allows users to query the number of tristrips that 3dGS creates for a specific shell.
These keys are now mapped in 3dGS. To enable these buttons, use the "misc" group name in a call to Enable_Button_Events.
The 16.0 release presents enhanced support for simple reflection planes. Users may now control the blurring and attenuation of model reflections, by using two new sub-options for the 'simple reflection' rendering option.
A new shadow mapping option -- jitter -- has been added to reduce aliasing in shadow maps. Please note that the shadow map option is only supported in our DirectX driver.
Show_Geometry_Pointer references point data that is stored within the HOOPS database. This function is useful because it allows for access (read-only) without incurring the performance and memory costs of creating a new copy. In this release, we have enhanced the functionality of this interface by adding support for raster data. In practice, this means that users can now quickly query the raster data that is associated with an image.
HOOPS/3dGS now supports multiple instances of the Printf HDI driver.
It is now possible to force HOOPS to trigger a full update when only an incremental update is required, so that HOOPS resets the camera near limit. See the new system option near limit update promotion for details.