Helix Render service
The Helix Render service is in Technology 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 processes 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 asset's versioned revision file. The previews can then be used by Helix Search for Artificial Intelligence (AI) tagging and for 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 accessed as an AWS Lambda service.
In this release, Helix Render is provided as a Docker image on Docker Hub.
System diagram
When an asset is submitted and is 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, the worker fetches the asset and associated texture files from Helix Core Server by using the p4 print command. The worker then renders the 3D asset files to produce a preview file in JPEG format (and, optionally, in GLB format). These generated files are then added back to Helix Core Server as binary attributes using p4 attributes on the 3D asset's revision (with the 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
-
The host system must support Docker, and the user deploying the Docker container must have permissions to access Docker. For more information about Docker, see:
-
(Optional) 3D graphics card, to improve render performance.
-
Helix Render requires the Helix Search index user to use an all-host ticket.
Deployment as a local render service
To launch Helix Render with Docker, run the following Docker commands on your local host:
-
Fetch the Helix Render Docker container:
docker pull perforce/helix-render
-
Run the 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 /opt/perforce/helix-render/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 .