HOOPS Visualize 2021
What’s New – BIM Workflows, Performance and Scalability, and User Experience
We focused our efforts on three main initiatives this past year: Supporting BIM workflows, improving performance and scalability, and enhancing user experience.
Supporting BIM Workflows
Support for Large Transform Matrices
HOOPS Visualize (HPS) now includes enhanced support for models that include very large transformations relative to their size. There are two types of these models: models which contain a large translation that places it far from the origin, and models that contain geometry which is defined very far from the origin. Both of these types of models can suffer from the same rendering problems due to converting data down to single-precision values for HPS. These rendering problems include triangle z-fighting and jittery camera movement.
The HOOPS Exchange Sprocket now provides an option to have HPS solve this issue automatically using the new HPS::Exchange::ImportOptionsKit::SetLargeTranslationExtraction method. When this setting is enabled translations that are much larger than the model size are ignored, and a user option is inserted where they would have been found (retaining the information if needed later). For models inserted into HPS through other methods we provide two different workflow solutions. All the methods are detailed in the Programming Guide.
HOOPS Communicator Sprocket
HOOPS Communicator is Tech Soft 3D’s framework for cloud and web-based applications. One of its main features is the ability to efficiently stream models over a network. Using the new HOOPS Communicator sprocket you can now load or stream files from HOOPS Communicator directly into HOOPS Visualize. This is particularly useful for partners that have built their main application on HOOPS Communicator but want to build native desktop and mobile applications using HOOPS Visualize which consume HOOPS Communicator files or connect to a HOOPS Communicator server.
HOOPS Communicator enables applications to load very large models which exceed the available memory for a native application by streaming data from a HOOPS Communicator server. Files must be preprocessed by HOOPS Communicator into its file formats, which can then be loaded via HTTP or streaming depending on the output file type requested. Data is streamed based on a combination of camera position and geometry visibility, progressing from largest objects to smallest.
Measurement Operators for Tessellated Data
HOOPS Visualize 2021 has added new measurement operators which do not require the HOOPS Exchange sprocket. Previous measurement operators were limited to models which were imported through HOOPS Exchange, preventing measurement on many forms of data.
Performance & Scalability
Improvements for Static Model
Several changes have been made to the static model algorithm, the HOOPS Visualize method of preprocessing the scene graph for optimal viewing experience. Most of these were done inside the algorithm and require no code changes to enable. One enhancement requiring a code change is Static Model’s new ability to respect conditional values in the scene graph. This will result in faster rendering of data sets with many conditional expressions. This enhancement is available as HPS::PerformanceKit::SetStaticCondtions (and the matching Unset and Show methods). More information is available here.
FPS Improvements through HOOPS Exchange Sprocket
HOOPS Exchange Sprocket has been improved to provide better rendering performance by generating a more optimized scene graph. This will impact any application which loads files through the HOOPS Exchange sprocket.
FPS Improvements with Many Hidden Objects
Improvements have been made where scenes with large numbers of objects which have been hidden, now see a reduced performance impact compared to previous behavior.
Support for Headless and Virtual Environments
We have added a software only version of the OpenGL2 driver. This driver provides support for headless and virtual environments which may not have dedicated graphics hardware, and which could not previously use the OpenGL2 driver. This new driver is based on Mesa, a common approach across the industry, and is named the OpenGL2Mesa driver.
Support for Apple Silicon (Beta)
Apple’s recent shift from Intel-based chips to their new ARM-based architecture requires partners to port their applications to provide the best user experience. In our 2021 release, we are providing a beta build of our toolkits to enable this process. This new platform will be fully supported when we have sufficient hardware available to ensure the testing and quality levels meet our partners’ requirements.
QT Quick Support
To better serve new cross-platform application development we have added support for QT Quick. To assist our partners in developing their Quick based apps as easily as possible, we have added a new QT Quick Sandbox application which shows how to integrate HPS into Quick. This sandbox also includes a model browser for applications which include the HOOPS Exchange sprocket.
2D PDF Output Improvements
HOOPS Visualize 2021 includes several improvements for outputting 2D PDFs such as:
- Embedded font support: Fonts can now be embedded in a PDF, which guarantees text using the font will look correct when it is opened in Acrobat, even if the font is not present on the user’s system.
- Text embedded as PDF text: Previously text was inserted into PDFs as stroked geometry. Inserting them now as text enables output from HPS to act as normal text in Acrobat. It can be searched and copied just as any other text.