You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/remote-rendering/overview/features/color-materials.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,9 +31,9 @@ The following material properties are exposed in the runtime API, for instance o
31
31
*`AlbedoMap`: A [2D texture](../../concepts/textures.md) for per-pixel albedo values.
32
32
33
33
*`AlphaClipThreshold`: If the `AlphaClipped` flag is set on the `ColorFlags` property, all pixels where the albedo alpha value is lower than the value of `AlphaClipThreshold` won't be drawn. Alpha clipping can be used even without enabling transparency and is much faster to render. Alpha clipped materials are still slower to render than fully opaque materials, though. By default alpha clipping is disabled.
34
-
35
-
*`TexCoordScale` and `TexCoordOffset`: The scale is multiplied into the UV texture coordinates, the offset is added to it. Can be used to stretch and shift the textures. The default scale is (1, 1) and offset is (0, 0).
36
-
34
+
*`TexCoordMode`: Defines the mode that is used to produce texture coordinates for the albedo texture. This mode is ignored if this material doesn't use a texture. By default, the texture coordinates are fetched from the mesh's input vertex streams (mode `TextureCoordinateGenerationMode.SourceUv0` or `TextureCoordinateGenerationMode.SourceUv1`) and then transformed through `TexCoordScale` and `TexCoordOffset`. When setting up a material through code, this mode can also be set to `TextureCoordinateGenerationMode.PlanarObjectSpace` or `TextureCoordinateGenerationMode.PlanarWorldSpace` to generate the coordinates as the vertex distance to two configurable 3D planes `TexCoordPlaneU` and `TexCoordPlaneV`. This is referred to as 'planar texture mapping'.
35
+
*`TexCoordScale` and `TexCoordOffset`: For texture coordinates from source mesh, an extra linear transform can be applied. The scale is multiplied into the UV texture coordinates, the offset is added to it. Can be used to stretch and shift the textures. The default scale is (1, 1) and offset is (0, 0).
36
+
*`TexCoordPlaneU` and `TexCoordPlaneV`: For planar mapping modes, these define the texture planes for the u-coordinate and v-coordinate respectively. Planes are defined in standard normal form (A,B,C,D), so a coordinate is calculated as t = A*x + B*y + C*z + D, where (x,y,z) is the vertex position in either world or object space.
37
37
*`FresnelEffectColor`: The fresnel color used for this material. Only important when the fresnel effect flag has been set on this material (see above). This property controls the base color of the fresnel shine (see [fresnel effect](../../overview/features/fresnel-effect.md) for a full explanation). Currently only the RGB-channel values are important and the alpha value will be ignored.
38
38
39
39
*`FresnelEffectExponent`: The fresnel exponent used for this material. Only important when the fresnel effect flag has been set on this material (see above). This property controls the spread of the fresnel shine. The minimum value 0.01 causes a spread across the whole object. The maximum value 10.0 constricts the shine to only the most grazing edges visible.
Copy file name to clipboardExpand all lines: articles/remote-rendering/overview/features/outlines.md
+5-2Lines changed: 5 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ ms.custom: devx-track-csharp
12
12
13
13
Selected objects can be highlighted visually by adding outline rendering via the [Hierarchical state override component](../../overview/features/override-hierarchical-state.md). This chapter explains how global parameters for outline rendering are changed through the client API.
14
14
15
-
Outline properties are a global setting. All objects that use outline rendering will use the same setting - it isn't possible to use a per-object outline color.
15
+
Outline properties are a global setting. All objects that use outline rendering use the same setting - it isn't possible to use a per-object outline color.
16
16
17
17
> [!NOTE]
18
18
> The outline rendering effect can't be applied to point clouds.
@@ -26,9 +26,12 @@ Class `OutlineSettings` holds the settings related to global outline properties.
26
26
|`Color`| Color4Ub | The color that is used for drawing the outline. The alpha portion is ignored. |
27
27
|`PulseRateHz`| float | The rate at which the outline oscillates per second|
28
28
|`PulseIntensity`| float | The intensity of the outline pulse effect. Must be between 0.0 for no pulsing and 1.0 for full pulsing. Intensity implicitly sets the minimum opacity of the outline as `MinOpacity = 1.0 - PulseIntensity`. |
29
+
|`MaskTexture`| 2D texture | If specified, the color of the outline will be tinted by this texture. The texture is sampled in screen-space coordinates and various parameters (`MaskScale`, `MaskScaleToFit`, `MaskOffset`, `MaskScrollSpeed`, `MaskRotationCenter`, `MaskRotationAngle`, `MaskRotationSpeed`) affect the stretching, rotation, and scrolling of that mapping. This feature can be used to achieve effects like a color gradient or dashed outlines. See second example image below. |
29
30
30
31
 The effect of changing the `color` parameter from yellow (left) to magenta (center) and `pulseIntensity` from 0 to 0.8 (right).
31
32
33
+
 The effect of applying a mask texture to the outlines: Screen aligned color gradients (left) or dashed outlines simulated by using a tiling texture with stripes (right).
34
+
32
35
## Example
33
36
34
37
The following code shows an example for setting outline parameters via the API:
Outline rendering may have a significant impact on rendering performance. This impact varies based on screen-space spatial relation between selected and non-selected objects for a given frame.
63
+
Outline rendering may have a significant impact on rendering performance. This impact varies based on screen-space spatial relation between selected and nonselected objects for a given frame.
Copy file name to clipboardExpand all lines: articles/remote-rendering/overview/features/override-hierarchical-state.md
+8-3Lines changed: 8 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -41,7 +41,7 @@ The fixed set of states that can be overridden are:
41
41
> [!NOTE]
42
42
> The see-through effect is ignored for point clouds.
43
43
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 unimportant 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:
45
45
46
46

47
47
@@ -60,11 +60,16 @@ The fixed set of states that can be overridden are:
60
60
61
61
***`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.
62
62
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.
64
64
65
65
***`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.
***`UseOverrideMaterial`**: If enabled, the material stored in `OverrideMaterial` is used to render the geometry with that material. It's an efficient way to switch rendering of larger model parts to 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
+
68
73
69
74
> [!TIP]
70
75
> 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(
111
116
112
117
### Tint color
113
118
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.
0 commit comments