HOOPS Visualize Desktop 2026.8.0

Overview

HOOPS Visualize 2026.8.0 delivers a more robust foundation for high-performance desktop and mobile engineering applications. This release expands data accessibility with enhanced point cloud workflows, modernizes security standards through automated SBOM reporting, and optimizes the user experience for complex architectural models. With a modernized deployment architecture, Visualize 2026.8.0 ensures seamless distribution and industry-leading rendering performance across all major platforms.

What’s New

  • Enhanced Point Cloud Workflows: New support for E57 image textures and spherical coordinate conversion makes importing massive datasets faster and more detailed.
  • Optimized SketchUp Performance: New in-memory texture handling significantly reduces load times for complex SketchUp models, boosting user productivity.
  • Security Transparency: Automated SBOM generation provides the transparency needed to meet modern compliance and security standards effortlessly.
  • Simplified Deployment: A new relocatable binary architecture for Linux and macOS ensures your applications install and run correctly regardless of the path.

Technology Updates

Library Compatibility Information

Library name Version Windows Linux OS X Android iOS Notes
Android NDK r27 unsupported unsupported unsupported supported unsupported  
HOOPS Exchange 2026.8.0 supported supported supported supported supported Android support is limited. See the programming guide.
HOOPS Communicator HTML Sprocket 2025.4.0 supported unsupported unsupported supported supported HC Sprocket only works with Visual Studio toolset 142.
HOOPS Communicator Streaming Sprocket (HCA) 2025.3.0 supported unsupported unsupported supported supported HC Sprocket only works with Visual Studio toolset 142.
.NET Framework 4.8 supported unsupported unsupported unsupported unsupported Required for Visual Studio v14.2 libraries and samples.
.NET Standard 2.0 supported unsupported unsupported unsupported unsupported Required for Visual Studio 2019 (toolset 142) and 2022 (toolset 143).
.NET Core 8.0 supported unsupported unsupported unsupported unsupported Required for Visual Studio 2022 (toolset 143).
Parasolid 35.1 supported supported supported unsupported supported For iOS platforms, support is limited to 64-bit platforms for the Parasolid Sprockets (hps_sprk_parasolid and hps_sprk_exchange_parasolid).
RealDWG 2023 supported unsupported unsupported unsupported unsupported RealDWG 2023 is only compatible with Visual Studio 2019 (v142 toolchain)
RealDWG 2025 supported unsupported unsupported unsupported unsupported RealDWG 2025 is only compatible with Visual Studio 2022 (v143 toolchain)
Qt 5.12.7 supported supported supported unsupported unsupported  
SketchUp 2026.1 supported unsupported unsupported unsupported unsupported VS2022 (v143) toolset required for the latest SDK version.

Third-Party Library Updates

Library New Version
SketchUp SDK 2026.1

Platform Changes

  • Software Bill of Materials (SBOM): Versioned SBOM artifacts are now being provided in both SPDX 2.3 and CycloneDX 1.6 formats for all customer packages. This enhancement supports transparency, security review, and compliance workflows for our partners. A beta-version of the SBOM is provided in this release in order for partners to test integration into their CI/CD systems.

  • Improved deployment on Linux and macOS Shipped shared libraries and executables on Linux and macOS now locate their dependencies relative to their own directory, instead of an absolute path recorded at build time. This means the package can be installed anywhere and will still load correctly.

    • Linux uses a $ORIGIN RPATH. In earlier releases, the libraries recorded absolute paths from the build machine, which could cause load failures after deployment.
    • macOS uses an @loader_path RPATH. In earlier releases, macOS binaries carried no relative RPATH at all, which could cause load failures after deployment.

    See the Linux platform section for deployment details.

  • Upcoming Change Affecting All Platforms: Beginning with HOOPS Visualize Desktop 2027.1.0, planned for release in January 2027, Tech Soft 3D will require C++17 as the minimum supported C++ language standard for building and developing HOOPS Visualize. This change affects customers who compile Visualize-related source code, including source code provided with Visualize distributions such as samples and sandbox applications.

New Features

New Functions / Capabilities

  • E57 point cloud import improvements E57 import through HPS::v2::PointCloud::File::Import gains the following in this release. See Notes on Point Cloud Files.
    • Images. HOOPS Visualize Desktop now reads the 2D images an E57 file declares, alongside the point data it already imported. HPS::v2::PointCloud::ImportResultsKit::ShowImageInfos returns one ImageInfo per image, with its guid, scan association, size, pose and camera model. ShowScanGuids reports per-scan guids the same way, and ShowPortfolio points to where each image’s pixel data, mask and generated UV texture were published. Images import by default; turn that off or pick your own destination portfolio with HPS::v2::PointCloud::ImportOptionsKit::SetImageImport and SetPortfolio. Projecting points onto an image, or coloring them from it, is still left to the implementer – HOOPS Visualize Desktop just provides the pieces.
    • Scans in spherical coordinates. Scans that store their points in spherical coordinates (range, azimuth, elevation), the form some laser scanners write, are now supported. HOOPS Visualize Desktop draws points in cartesian space only, so these points are converted to cartesian coordinates on import; the resulting point cloud is the same as one imported from a cartesian scan. In 2026.7.0, such a scan made the import throw an HPS::IOException; that exception is no longer raised.
    • Invalid points are skipped. Points a scan flags as invalid, meaning the scanner got no usable measurement for them (no return, or a target out of range), are now dropped. In earlier releases, those points were imported as real geometry, and typically showed up as a cluster at the origin or at the scanner’s maximum range. A scan can therefore import fewer points than it declares.

API Changes

New API Functions

Added

  • HPS::v2::PointCloud::ImageInfo (new class) - a single image declared by an E57 file.
    • ImageInfo& SetGuid(UTF8 const& in_guid)
    • bool ShowGuid(UTF8& out_guid) const
    • ImageInfo& SetAssociatedScanGuid(UTF8 const& in_guid)
    • bool ShowAssociatedScanGuid(UTF8& out_guid) const
    • ImageInfo& SetName(UTF8 const& in_name)
    • bool ShowName(UTF8& out_name) const
    • ImageInfo& SetImageName(UTF8 const& in_name)
    • bool ShowImageName(UTF8& out_name) const
    • ImageInfo& SetMaskName(UTF8 const& in_name)
    • bool ShowMaskName(UTF8& out_name) const
    • ImageInfo& SetTextureName(UTF8 const& in_name)
    • bool ShowTextureName(UTF8& out_name) const
    • ImageInfo& SetSize(unsigned int in_width, unsigned int in_height)
    • bool ShowSize(unsigned int& out_width, unsigned int& out_height) const
    • ImageInfo& SetProjection(Projection in_projection)
    • bool ShowProjection(Projection& out_projection) const
    • enum class Projection { None, Visual, Pinhole, Spherical, Cylindrical }
    • ImageInfo& SetPinhole(float in_pixel_width, float in_pixel_height, float in_focal_length, float in_principal_point_x, float in_principal_point_y)
    • bool ShowPinhole(float& out_pixel_width, float& out_pixel_height, float& out_focal_length, float& out_principal_point_x, float& out_principal_point_y) const
    • ImageInfo& SetSpherical(float in_pixel_width, float in_pixel_height)
    • bool ShowSpherical(float& out_pixel_width, float& out_pixel_height) const
    • ImageInfo& SetCylindrical(float in_pixel_width, float in_pixel_height, float in_principal_point_y, float in_radius)
    • bool ShowCylindrical(float& out_pixel_width, float& out_pixel_height, float& out_principal_point_y, float& out_radius) const
    • ImageInfo& SetPose(Quaternion const& in_rotation, Vector const& in_translation)
    • bool ShowPose(Quaternion& out_rotation, Vector& out_translation) const
    • ImageInfo& UnsetEverything()
  • HPS::v2::PointCloud::ImageInfoArray (new typedef) - typedef std::vector<ImageInfo, Allocator<ImageInfo>> ImageInfoArray
  • HPS::v2::PointCloud::ImportResultsKit
    • UTF8Array ShowScanGuids() const - per-scan guids, parallel to ShowPointCloudSegments(). E57 imports only.
    • ImageInfoArray ShowImageInfos() const - metadata for every image the imported file declares. E57 imports only, and only when image import is enabled.
    • bool ShowPortfolio(PortfolioKey& out_portfolio) const - the portfolio published images and textures were defined into.
  • HPS::v2::PointCloud::ImportOptionsKit
    • ImportOptionsKit& SetPortfolio(PortfolioKey const& in_portfolio)
    • ImportOptionsKit& UnsetPortfolio()
    • bool ShowPortfolio(PortfolioKey& out_portfolio) const
    • ImportOptionsKit& SetImageImport(bool in_state) - enabled by default.
    • ImportOptionsKit& UnsetImageImport()
    • bool ShowImageImport(bool& out_state) const

Functional Changes

  • Improved drawing import Drawings from CAD files, such as CATIA CATDrawing sheets, now display with the correct position and scale. When a drawing view has a clipping boundary, the initial view now frames the drawing itself instead of zooming out to include the clipping boundary, matching what CATIA shows. Applications that inspect the imported drawing structure should review their code; the details are in Importing Drawings in the programming guide.
  • E57 import skips invalid points E57 import now drops the points a scan flags as invalid, meaning the scanner got no usable measurement for them (no return, or a target out of range). In earlier releases, those points were imported as real geometry, and typically showed up as a cluster at the origin or at the scanner’s maximum range. A scan can therefore import fewer points than it declares. See Notes on Point Cloud Files.

Documentation Changes

  • Notes on Point Cloud Files now covers the images an E57 file declares, how scans stored in spherical coordinates are imported, and how points flagged as invalid are handled, alongside the per-scan point import behavior already documented there.

Deprecations

  • Visual Studio 2019 and .NET 8: Support for Visual Studio 2019 (toolchain 14.2) and .NET 8 will be discontinued starting with HOOPS Visualize Desktop 2027.1.0, planned for release in January 2027.
  • macOS on Intel: Support for macOS on Intel architecture will be discontinued starting with HOOPS Visualize Desktop 2027.1.0, planned for release in January 2027 due to the end of support in macOS 27.
  • HPS Core PointCloud (reminder, deprecated in 2026.6.0): HPS::PointCloud in HPS Core is deprecated in favor of HPS::v2::PointCloud, and targeted for removal in HPS 2028.1.0.
  • HOOPS Communicator sprocket (HCA): The HOOPS Communicator streaming sprocket (HCA) is deprecated and will be removed in HPS 2027.1.0.

Fixed Bugs

JSM Ticket Engineering Resolution
SDHV-21679 Fix status check that wasn’t checking all elements
SDHV-21665 Do not rescale coordinate system axis to generate valid snapshot
SDHV-21658 Fix shadow visibility problem with rendition lifecycle issue
SDHV-21640 Fixed unexpected behavior when enabling Static Model with PBR materials
SDHV-21634 Add relocatable parameters and install BUILD_WITH_INSTALL_RPATH
SDHV-21629 Fix static model raised condition
SDHV-21601 Fix a segment ordering issue while parsing prc
SDHV-21252 Optimized edge compilation in segment display lists for silhouette visibility
SDHC-20549 Replaced SKP texture temp-file round-trip with direct in-memory transfer
SDHC-20498 Added the ability to load definitions referenced by group only (SUComponentType_Group)
SDHC-20440 Resolved hang on texture-heavy SketchUp models via direct image transfer