Helix Render service

The Helix Render service is in Technical Preview. Features offered in Technology Preview are experimental and not guaranteed to always work as expected. If you have feedback and functionality suggestions, email [email protected].

Overview

Helix Render is a service that takes 3D assets from Helix Search's render queue and creates a preview of the image. The previews are stored in the Helix Core Server as an attribute on the assets versioned revision file. The previews can then be used by Helix Search for Artificial Intelligence (AI) tagging and generating thumbnail or blur images.

The Helix Render service uses background processes, called workers, to poll the render queue in Helix Search. You can have multiple workers to help manage the render queue load. Helix Render can be installed on multiple hosts or be used as an AWS Lambda.

In this release, Helix Render is provided as a Docker image available on DockerHub: https://hub.docker.com/repository/docker/perforce/helix-render/general

System diagram

Helix Render service

When an asset is submitted and suitable for rendering Helix Search adds it to the render queue. Workers poll the Helix Search render queue looking for a new asset to process. When a worker finds a new asset to process it fetches the asset and associated texture files from Helix Core Server using p4 print. The worker then renders the 3D asset files producing a preview file JPEG (and optional GLB). These generated files are then added back to Helix Core Server as binary attributes using p4 attributes on the 3D asset's revision (with attribute names 'preview' and 'model').

The update to the asset revision's attributes triggers a further re-index of the asset now using the rendered preview for thumbnail, blur, and AI detection.

Requirements

Deployment as a local render service

To launch Helix Render with Docker run the following Docker commands on your local host:

  1. Fetch the Helix Render Docker container:

    docker pull perforce/helix-render

  2. Run Helix Render service providing the X-Auth-Token and the IP address of Helix Search:

    docker run -p 1602:1602 -d perforce/helix-render python3 preview_generator.py -m worker -S http://<helix-search-url>:1601 -x <X-Auth-Token>

Next step

Configure the Helix Render service for Helix Search, see Rendering configuration.

For more information about the render queue API endpoints, see Access the Swagger REST API .