Skip to content

Commit ba1e75a

Browse files
committed
Jan's suggestions
1 parent 98b5631 commit ba1e75a

File tree

2 files changed

+18
-17
lines changed

2 files changed

+18
-17
lines changed

articles/remote-rendering/overview/features/color-materials.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ Color materials are more efficient to render than [PBR materials](pbr-materials.
1717

1818
The following material properties are exposed in the runtime API, for instance on the [C# ColorMaterial class](/dotnet/api/microsoft.azure.remoterendering.colormaterial) or the [C++ ColorMaterial class](/cpp/api/remote-rendering/colormaterial), respectively.
1919

20-
* `ColorFlags`: Misc feature bits can be combined in this bit mask to enable the following features:
21-
* `UseVertexColor`: If the mesh contains :::no-loc text="vertex"::: colors and this option is enabled, the meshes' :::no-loc text="vertex"::: color is multiplied into the `AlbedoColor` and `AlbedoMap`. By default `UseVertexColor` is disabled.
20+
* `ColorFlags`: Miscellaneous feature flags can be combined in this bit mask to enable the following features:
21+
* `UseVertexColor`: If the mesh contains :::no-loc text="vertex"::: colors and this option is enabled, the mesh's :::no-loc text="vertex"::: color is multiplied into the `AlbedoColor` and `AlbedoMap`. By default `UseVertexColor` is disabled.
2222
* `DoubleSided`: If double-sidedness is set to true, triangles with this material are rendered even if the camera is looking at their back faces. By default this option is disabled. See also [:::no-loc text="Single-sided"::: rendering](single-sided-rendering.md).
23-
* `AlphaClipped`: Enables hard cut-outs on a per-pixel basis based on the alpha value being below the value of `AlphaClipThreshold` (see below). This works for opaque materials as well.
23+
* `AlphaClipped`: Enables hard cut-outs on a per-pixel basis, based on the alpha value being below the value of `AlphaClipThreshold` (see below). This works for opaque materials as well.
2424
* `TransparencyWritesDepth`: If the `TransparencyWritesDepth` flag is set on the material and the material is transparent, objects using this material will also contribute to the final depth buffer. See the color material property `ColorTransparencyMode` in the next section. Enabling this feature is recommended if your use case needs a more plausible [late stage reprojection](late-stage-reprojection.md) of fully transparent scenes. For mixed opaque/transparent scenes, this setting may introduce implausible reprojection behavior or reprojection artifacts. For this reason, the default and recommended setting for the general use case is to disable this flag. The written depth values are taken from the per-pixel depth layer of the object that is closest to the camera.
2525
* `FresnelEffect`: This material flag enables the additive [fresnel effect](../../overview/features/fresnel-effect.md) on the respective material. The appearance of the effect is governed by the other fresnel parameters `FresnelEffectColor` and `FresnelEffectExponent` explained below.
2626
* `AlbedoColor`: This color is multiplied with other colors, such as the `AlbedoMap` or *:::no-loc text="vertex"::: colors*. If *transparency* is enabled on a material, the alpha channel is used to adjust the opacity, with `1` meaning fully opaque and `0` meaning fully transparent. The default albedo color is opaque white.
@@ -30,13 +30,13 @@ The following material properties are exposed in the runtime API, for instance o
3030
3131
* `AlbedoMap`: A [2D texture](../../concepts/textures.md) for per-pixel albedo values.
3232

33-
* `AlphaClipThreshold`: If the `AlphaClipped` bit 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.
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.
3434

3535
* `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).
3636

37-
* `FresnelEffectColor`: The fresnel color used for this material. Only important when the fresnel effect bit 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.
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.
3838

39-
* `FresnelEffectExponent`: The fresnel exponent used for this material. Only important when the fresnel effect bit 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 gracing edges visible.
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.
4040

4141
* `VertexMix`: This value between `0` and `1` specifies how strongly the :::no-loc text="vertex"::: color in a [mesh](../../concepts/meshes.md) contributes to the final color. At the default value of 1, the :::no-loc text="vertex"::: color is multiplied into the albedo color fully. With a value of 0, the :::no-loc text="vertex"::: colors are ignored entirely.
4242

@@ -49,7 +49,7 @@ The following material properties are exposed in the runtime API, for instance o
4949
## Color material overrides during conversion
5050

5151
A subset of color material properties can be overridden during model conversion through the [material override file](../../how-tos/conversion/override-materials.md).
52-
The following table shows the mapping between runtime property documented above and the property name in the override file:
52+
The following table shows the mapping between runtime properties documented above and the corresponding property name in the override file:
5353

5454
| Material property name | Property name in override file|
5555
|:----------------------------|:---------------------|

articles/remote-rendering/overview/features/pbr-materials.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,20 @@ PBR materials aren't a universal solution, though. There are materials that refl
2323

2424
The following material properties are exposed in the runtime API, for instance on the [C# PbrMaterial class](/dotnet/api/microsoft.azure.remoterendering.pbrmaterial) or the [C++ PbrMaterial class](/cpp/api/remote-rendering/pbrmaterial), respectively.
2525

26-
* `PbrFlags`: Misc feature bits can be combined in this bit mask to enable the following features:
27-
* `TransparentMaterial`: For PBR materials, there's only one transparency setting: it's enabled or not. The opacity is defined by the albedo color's alpha channel. When enabled, a more complex rendering pipeline is invoked to draw semi-transparent surfaces. Azure Remote Rendering implements true [order independent transparency](https://en.wikipedia.org/wiki/Order-independent_transparency) (OIT).
26+
* `PbrFlags`: Misc feature flags can be combined in this bit mask to enable the following features:
27+
* `TransparentMaterial`: For PBR materials, there's only one transparency setting: it's enabled or not. The opacity is defined by the albedo color's alpha channel. When enabled, a more complex rendering method is invoked to draw semi-transparent surfaces. Azure Remote Rendering implements true [order independent transparency](https://en.wikipedia.org/wiki/Order-independent_transparency) (OIT).
2828
Transparent geometry is expensive to render. If you only need holes in a surface, for example for the leaves of a tree, it's better to use alpha clipping instead.
2929

3030
![Spheres rendered with zero to full transparency](./media/transparency.png)
3131
Notice in the image above, how the right-most sphere is fully transparent, but the reflection is still visible.
3232

3333
> [!IMPORTANT]
3434
> If any material is supposed to be switched from opaque to transparent at runtime, the renderer must use the *TileBasedComposition* [rendering mode](../../concepts/rendering-modes.md). This limitation does not apply to materials that are converted as transparent materials to begin with.
35+
3536
* `UseVertexColor`: If the mesh contains :::no-loc text="vertex"::: colors and this option is enabled, the meshes' :::no-loc text="vertex"::: color is multiplied into the `AlbedoColor` and `AlbedoMap`. By default `UseVertexColor` is disabled.
3637
* `DoubleSided`: If double-sidedness is set to true, triangles with this material are rendered even if the camera is looking at their back faces. For PBR materials lighting is also computed properly for back faces. By default this option is disabled. See also [:::no-loc text="Single-sided"::: rendering](single-sided-rendering.md).
37-
* `SpecularHighlights`: Enables specular highlights for this material.
38-
* `AlphaClipped`: Enables hard cut-outs on a per-pixel basis based on the alpha value being below the value of `AlphaClipThreshold` (see below). This works for opaque materials as well.
38+
* `SpecularHighlights`: Enables specular highlights for this material. By default, the `SpecularHighlights` flag is enabled.
39+
* `AlphaClipped`: Enables hard cut-outs on a per-pixel basis, based on the alpha value being below the value of `AlphaClipThreshold` (see below). This works for opaque materials as well.
3940
* `FresnelEffect`: This material flag enables the additive [fresnel effect](../../overview/features/fresnel-effect.md) on the respective material. The appearance of the effect is governed by the other fresnel parameters `FresnelEffectColor` and `FresnelEffectExponent` explained below.
4041
* `TransparencyWritesDepth`: If the `TransparencyWritesDepth` flag is set on the material and the material is transparent, objects using this material will also contribute to the final depth buffer. See the PBR material flag *transparent* in the next section. Enabling this feature is recommended if your use case needs a more plausible [late stage reprojection](late-stage-reprojection.md) of fully transparent scenes. For mixed opaque/transparent scenes, this setting may introduce implausible reprojection behavior or reprojection artifacts. For this reason, the default and recommended setting for the general use case is to disable this flag. The written depth values are taken from the per-pixel depth layer of the object that is closest to the camera.
4142

@@ -46,17 +47,17 @@ The following material properties are exposed in the runtime API, for instance o
4647
4748
* `AlbedoMap`: A [2D texture](../../concepts/textures.md) for per-pixel albedo values.
4849

49-
* `AlphaClipThreshold`: If the `AlphaClipped` bit is set on the `PbrFlags` property, all pixels where the albedo alpha value is lower than `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.
50+
* `AlphaClipThreshold`: If the `AlphaClipped` flag is set on the `PbrFlags` property, all pixels where the albedo alpha value is lower than `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.
5051

5152
* `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).
5253

53-
* `FresnelEffectColor`: The fresnel color used for this material. Only important when the fresnel effect bit 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.
54+
* `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.
5455

55-
* `FresnelEffectExponent`: The fresnel exponent used for this material. Only important when the fresnel effect bit 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 gracing edges visible.
56+
* `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.
5657

5758
* `PbrVertexAlphaMode`: Determines how the alpha channel of vertex colors is used. The following modes are provided:
5859
* `Occlusion`: The alpha value represents an ambient occlusion value and therefore only affects the indirect lighting from the sky box.
59-
* `LightMask`: The alpha value serves as scale factor for the overall amount of lighting applied, meaning the alpha can be used to darken areas. This affects both indirect and direct lighting.
60+
* `LightMask`: The alpha value serves as a scale factor for the overall amount of lighting applied, meaning the alpha can be used to darken areas. This affects both indirect and direct lighting.
6061
* `Opacity`: The alpha represents how opaque (1.0) or transparent (0.0) the material is.
6162

6263
* `NormalMap`: To simulate fine grained detail, a [normal map](https://en.wikipedia.org/wiki/Normal_mapping) can be provided.
@@ -70,14 +71,14 @@ The following material properties are exposed in the runtime API, for instance o
7071

7172
In the picture above, the sphere in the bottom-right corner looks like a real metal material, the bottom-left looks like ceramic or plastic. The albedo color is also changing according to physical properties. With increasing roughness, the material loses reflection sharpness.
7273

73-
* `AOMap` and `AOScale`: [Ambient occlusion](https://en.wikipedia.org/wiki/Ambient_occlusion) makes objects with crevices look more realistic by adding shadows to occluded areas. Occlusion value range from `0.0` to `1.0`, where `0.0` means darkness (occluded) and `1.0` means no occlusions. If a 2D texture is provided as an occlusion map, the effect is enabled and *aoScale* acts as a multiplier.
74+
* `AOMap` and `AOScale`: [Ambient occlusion](https://en.wikipedia.org/wiki/Ambient_occlusion) makes objects with crevices look more realistic by adding shadows to occluded areas. Occlusion value range from `0.0` to `1.0`, where `0.0` means darkness (occluded) and `1.0` means no occlusions. If a 2D texture is provided as an occlusion map, the effect is enabled and `AOScale` acts as a multiplier.
7475

7576
![An object rendered with and without ambient occlusion](./media/boom-box-ao2.gif)
7677

7778
## Color material overrides during conversion
7879

7980
A subset of color material properties can be overridden during model conversion through the [material override file](../../how-tos/conversion/override-materials.md).
80-
The following table shows the mapping between runtime property documented above and the property name in the override file:
81+
The following table shows the mapping between runtime properties documented above and the corresponding property name in the override file:
8182

8283
| Material property name | Property name in override file|
8384
|:----------------------------|:---------------------|

0 commit comments

Comments
 (0)