External Display
The External Display component displays static meshes stored in a publicly accessible URL without running them through Grasshopper. This is ideal for optimization purposes when the definition needs to display several times the same identical geometry or when you want to enhance the scene of your definition without compromising the performance.
URL
File Settings
In order to be able to use this component, the requirements of your file and the URL where it gets stored are:
The file must use the glTF v2.0 format. Both
.gltfand binary.glbfiles are supported, although not all advanced glTF features are currently supported. You can also export gltf files directly from Rhino using the exporter that is included in the ShapeDiver plugin. Read more about the exporter here.The URL must be publicly accessible. You can dynamically change this URL by using our ShapeDiverTextInput component.
You must add the correct metadata to your URL file with Content-Type = application/octet-stream and if the file is compressed Content-Encoding = gzip.
Make sure the CORS configuration of the bucket allows access. An example of CORS configuration would be:
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3600</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
File storage
We recommend using a service such as Amazon S3 to store your external geometry. Most online storage services don't provide the flexibility to define MIME types and CORS configurations. Read more about it here.
Positioning & Transformations
All positioning, rotation, and scaling of external geometry must be applied to the URL input. To do this, transformations need to be explicitly attached to the URL text before it is connected to the External Display component.
Create the required transformations in Grasshopper. If multiple transformations are needed for one instance of the object, compound them.
Use the Attach Transformations component (from the ShapeDiver Plugin) to attach the transformation(s) to the URL text.
Connect the enhanced URL output to the External Display component's URL input.
Transformations are applied relative to the original size and position of the geometry stored in the original file. For predictable results, prepare external geometry with a known origin and known dimensions.
Geometry Placeholder
The geometry placeholder gets displayed in the Rhinoceros viewport as a visual reference for the external geometry shown in the ShapeDiver viewer.
Delete Placeholders
If your GH file size is over the limit of your ShapeDiver Plan (Check the limits here), you can bring down your file size by deleting the placeholders as they are not used to compute your definition.
The Geometry Placeholder is only a visual reference inside the Rhino viewport. It is not used to position, transform, or orient the external geometry in the ShapeDiver viewer. For best results, use the same geometry and apply the transformations attached to the URL (see the previous step).
Transforming the Geometry Placeholder does not affect the displayed geometry in the ShapeDiver viewer.
Materials
For now, the External Display component is only compatible with ShapeDiver materials defined with the Preset Material and the ShapeDiver Material component.
If your external geometry has texture coordinates, the material will be applied accordingly. If your geometry is stored in a GLB file, the External Display component will automatically use the materials and textures embedded in the file, and the Material input will be ignored.