Skip to content

Commit 3367ab9

Browse files
committed
Also add material overrides
1 parent 6bcd0d6 commit 3367ab9

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

articles/remote-rendering/overview/features/override-hierarchical-state.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ The fixed set of states that can be overridden are:
4141
> [!NOTE]
4242
> The see-through effect is ignored for point clouds.
4343
44-
* **`Shell`**: The geometry is rendered as a transparent, de-saturated shell. This mode allows fading out non-important parts of a scene while still retaining a sense of shape and relative positioning. To change the shell rendering's appearance, use the [ShellRenderingSettings](shell-effect.md) state. See the following image for the car model being entirely shell-rendered, except for the blue springs:
44+
* **`Shell`**: The geometry is rendered as a transparent, desaturated shell. This mode allows fading out nonimportant parts of a scene while still retaining a sense of shape and relative positioning. To change the shell rendering's appearance, use the [ShellRenderingSettings](shell-effect.md) state. See the following image for the car model being entirely shell-rendered, except for the blue springs:
4545

4646
![Shell mode used to fade out specific objects](./media/shell.png)
4747

@@ -60,11 +60,16 @@ The fixed set of states that can be overridden are:
6060
6161
* **`DisableCollision`**: The geometry is exempt from [spatial queries](spatial-queries.md). The **`Hidden`** flag doesn't affect the collision state flag, so these two flags are often set together.
6262

63-
* **`TransparencyWritesDepth`**: Activates depth writing for **`See-through`** and material transparencies in the component's entity's scene-tree. Using this flag, **`See-through`** transparencies can have depth writing either enabled or disabled in a subtree, even if `TransparencyWritesDepth` is globally forced. For material transparency, the flag behaves inclusively, meaning if `TransparencyWritesDepth` is enabled with either override, globally forced or via the material's flags, depth writing will be enabled for objects rendered with this material.
63+
* **`TransparencyWritesDepth`**: Activates depth writing for **`See-through`** and material transparencies in the component's entity's scene-tree. Using this flag, **`See-through`** transparencies can have depth writing either enabled or disabled in a subtree, even if `TransparencyWritesDepth` is globally forced. For material transparency, the flag behaves inclusively, meaning if `TransparencyWritesDepth` is enabled with either override, globally forced or via the material's flags, depth writing is enabled for objects rendered with this material.
6464

6565
* **`UseCutPlaneFilterMask`**: Use an individual filter bit mask to control the cut plane selection. This flag determines whether the individual filter mask should be used or inherited from its parent. The filter bit mask itself is set via the `CutPlaneFilterMask` property. For detailed information about how the filtering works, refer to the [Selective cut planes paragraph](cut-planes.md#selective-cut-planes). See the following example where only the tire and rim is cut while the rest of the scene remains unaffected.
6666
![Selective cut planes](./media/selective-cut-planes-hierarchical-override.png)
6767

68+
* **`UseOverrideMaterial`**: If enabled, the material stored in `OverrideMaterial` is used to render the geometry with that material. It's an effective way to switch rendering of larger model parts using a dedicated material without actually switching individual part materials. [Color materials](color-materials.md) may override [PBR materials](pbr-materials.md) and vice versa. However, it must be guaranteed that the model provides mandatory vertex streams, for instance, the vertex normal in case the overridden material is a [PBR material](pbr-materials.md). Furthermore, overrides that toggle on transparency, only work reliably in the *TileBasedComposition* [rendering mode](../../concepts/rendering-modes.md).
69+
70+
> [!NOTE]
71+
> The override material is ignored for point clouds.
72+
6873

6974
> [!TIP]
7075
> As an alternative to turning off the visibility and spatial queries for a full sub graph, the `enabled` state of a game object can be toggled. If a hierarchy is disabled, this has preference over any `HierarchicalStateOverrideComponent`.
@@ -111,7 +116,7 @@ component->SetState(
111116
112117
### Tint color
113118
114-
The `tint color` override is slightly special in that there's both an on/off/inherit state and a tint color property. The alpha portion of the tint color defines the weight of the tinting effect: If set to 0.0, no tint color is visible and if set to 1.0 the object will be rendered with pure tint color. For in-between values, the final color will be mixed with the tint color. The tint color can be changed on a per-frame basis to achieve a color animation.
119+
The `tint color` override is slightly special in that there's both an on/off/inherit state and a tint color property. The alpha portion of the tint color defines the weight of the tinting effect: If set to 0.0, no tint color is visible and if set to 1.0 the object is rendered with pure tint color. For in-between values, the final color is mixed with the tint color. The tint color can be changed on a per-frame basis to achieve a color animation.
115120
116121
## Performance considerations
117122

0 commit comments

Comments
 (0)