Display

The ShapeDiver plugin was initially created as a material kit for facilitating and improving online rendering. It's not strictly necessary to use the plugin for uploading models on ShapeDiver and render them in the online viewer, but it is strongly recommended because it allows more advanced control over the rendering parameters and supports textures.
Without the plugin
Default material
Every geometry with the preview turned on in the Rhino viewport will be displayed in the online ShapeDiver viewer. For all components except Custom Preview and the ShapeDiver display components, the geometry will be displayed with a default material since no material information is contained in those components. In the online viewer, the default material is a bright blue that makes it easy to spot:

In most cases, you want to disable the preview for most components and only keep the display components with preview turned on.
Custom materials
In order to play with materials, one can use the standard preview components included in Grasshopper. Define a material with the Create Material component and preview how it looks directly in Grasshopper with the Custom Preview component.

This model will display the materials as expected after it is uploaded on ShapeDiver. We do our best to render the outputs of those components in a satisfying way. However, they will not make use of the advanced shaders of the online viewer using PBR (physically based rendering), and textures cannot be applied to them. This is the reason why we developed alternative components with more advanced possibilities. We recommend using them for all applications.
With the plugin
Overview
The ShapeDiver plugin contains components that can be used to replace Create Material and Custom Preview. Construct a material definition using one of the material components (glTF 2.0 Material, Preset Material or ShapeDiver Material) and send it to one of the display components (glTF 2.0 Display, ShapeDiver Display or External Display). See below an example using the ShapeDiver Material component and the ShapeDiver Display component:

The ShapeDiver display components let you define PBR materials that are optimized for viewing online, including the various textures used for those materials. For these reasons, we recommend to use them for any application where advanced rendering is needed.
Different approaches
The two main ways to define materials using the ShapeDiver plugin are the following:
Define a material using the ShapeDiver Material or the Preset Material component and display using the ShapeDiver Display component.
Define a material using the glTF 2.0 Material component and display using the glTF 2.0 Display component.
Each of these workflows have their pros and cons, depending on your application. We sum up the differences in the table below:
Reasons to use | |
---|---|
ShapeDiver Material or Preset Material + ShapeDiver Display workflow |
|
glTF 2.0 Material + glTF 2.0 Display workflow |
|
It is possible to use materials defined by the Preset Material component with the glTF 2.0 Display component. Please see this Note.
It is possible though not recommended to use materials defined by the ShapeDiver Material component with the glTF 2.0 Display component. Please see this Note.
Materials and the Viewer API
The API of our Viewer offers extensive functionality to change materials directly without involving computations of the Grasshopper model. This kind be used for quickly switching between materials in the frontend, e.g. for e-Commerce applications. Also it provides access to material properties that are not yet exposed in our material components. Please refer to section Materials for details about this.
An important hint related to this: Giving unique names to the material components in your model will make it easier to identify and replace materials using the viewer’s API.