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/concepts/components.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ ms.topic: conceptual
11
11
12
12
Azure Remote Rendering uses the [Entity Component System](https://en.wikipedia.org/wiki/Entity_component_system) pattern. While [entities](entities.md) represent the position and the hierarchical composition of objects, components are responsible for implementing behavior.
13
13
14
-
The most frequently used types of components are [mesh components](meshes.md), which add meshes into the rendering pipeline. Similarly, [light components](../overview/features/lights.md) are used to add lighting and [cut plane components](../overview/features/cut-planes.md) are used to cut open meshes.
14
+
The most frequently used types of components are [:::no-loc text="mesh components":::](meshes.md), which add meshes into the rendering pipeline. Similarly, [light components](../overview/features/lights.md) are used to add lighting and [cut plane components](../overview/features/cut-planes.md) are used to cut open meshes.
15
15
16
16
All these components use the transform (position, rotation, scale) of the entity they are attached to, as their reference point.
Copy file name to clipboardExpand all lines: articles/remote-rendering/how-tos/conversion/configure-model-conversion.md
+12-12Lines changed: 12 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -69,7 +69,7 @@ The final scaling factor is applied to the geometry vertices and the local trans
69
69
Centering is important if the source model is displaced far from the origin, since in that case floating point precision issues may cause rendering artifacts.
70
70
71
71
*`opaqueMaterialDefaultSidedness` - The rendering engine assumes that opaque materials are double-sided.
72
-
If that is not the intended behavior, this parameter should be set to "SingleSided". For more information, see [single sided rendering](../../overview/features/single-sided-rendering.md).
72
+
If that is not the intended behavior, this parameter should be set to "SingleSided". For more information, see [:::no-loc text="single sided"::: rendering](../../overview/features/single-sided-rendering.md).
73
73
74
74
### Material overrides
75
75
@@ -85,7 +85,7 @@ The rendering engine expects color values to be in linear space.
85
85
If a model is defined using gamma space, then these options should be set to true.
86
86
87
87
*`gammaToLinearMaterial` - Convert material colors from gamma space to linear space
88
-
*`gammaToLinearVertex` - Convert vertex colors from gamma space to linear space
88
+
*`gammaToLinearVertex` - Convert :::no-loc text="vertex"::: colors from gamma space to linear space
89
89
90
90
> [!NOTE]
91
91
> For FBX files these settings are set to `true` by default. For all other file types, the default is `false`.
@@ -122,12 +122,12 @@ The `none` mode has the least runtime overhead and also slightly better loading
122
122
123
123
*`axis` - To override coordinate system unit-vectors. Default values are `["+x", "+y", "+z"]`. In theory, the FBX format has a header where those vectors are defined and the conversion uses that information to transform the scene. The glTF format also defines a fixed coordinate system. In practice, some assets either have incorrect information in their header or were saved with a different coordinate system convention. This option allows you to override the coordinate system to compensate. For example: `"axis" : ["+x", "+z", "-y"]` will exchange the Z-axis and the Y-axis and keep coordinate system handedness by inverting the Y-axis direction.
124
124
125
-
### Vertex format
125
+
### :::no-loc text="Vertex"::: format
126
126
127
-
It is possible to adjust the vertex format for a mesh, to trade precision for memory savings. A lower memory footprint allows you to load larger models or achieve better performance. However, depending on your data, the wrong format can significantly impact rendering quality.
127
+
It is possible to adjust the :::no-loc text="vertex"::: format for a mesh, to trade precision for memory savings. A lower memory footprint allows you to load larger models or achieve better performance. However, depending on your data, the wrong format can significantly impact rendering quality.
128
128
129
129
> [!CAUTION]
130
-
> Changing the vertex format should be a last resort when models don't fit into memory anymore, or when optimizing for the best possible performance. Changes can easily introduce rendering artifacts, both obvious ones and subtle ones. Unless you know what to look out for, you should not change the default.
130
+
> Changing the :::no-loc text="vertex"::: format should be a last resort when models don't fit into memory anymore, or when optimizing for the best possible performance. Changes can easily introduce rendering artifacts, both obvious ones and subtle ones. Unless you know what to look out for, you should not change the default.
131
131
132
132
These adjustments are possible:
133
133
@@ -154,11 +154,11 @@ The following `vertex` section in the `.json` file is optional. For each portion
154
154
155
155
By forcing a component to `NONE`, it is guaranteed that the output mesh does not have the respective stream.
156
156
157
-
#### Component formats per vertex stream
157
+
#### Component formats per :::no-loc text="vertex"::: stream
158
158
159
159
These formats are allowed for the respective components:
@@ -173,7 +173,7 @@ These formats are allowed for the respective components:
173
173
174
174
The memory footprints of the formats are as follows:
175
175
176
-
| Format | Description | Bytes per vertex |
176
+
| Format | Description | Bytes per :::no-loc text="vertex"::: |
177
177
|:-------|:------------|:---------------|
178
178
|32_32_FLOAT|two-component full floating point precision|8
179
179
|16_16_FLOAT|two-component half floating point precision|4
@@ -192,11 +192,11 @@ The memory footprints of the formats are as follows:
192
192
193
193
#### Example
194
194
195
-
Assume you have a photogrammetry model, which has lighting baked into the textures. All that is needed to render the model are vertex positions and texture coordinates.
195
+
Assume you have a photogrammetry model, which has lighting baked into the textures. All that is needed to render the model are :::no-loc text="vertex"::: positions and texture coordinates.
196
196
197
-
By default the converter has to assume that you may want to use PBR materials on a model at some time, so it will generate `normal`, `tangent`, and `binormal` data for you. Consequently, the per vertex memory usage is `position` (12 bytes) + `texcoord0` (8 bytes) + `normal` (4 bytes) + `tangent` (4 bytes) + `binormal` (4 byte) = 32 bytes. Larger models of this type can easily have many millions of vertices resulting in models that can take up multiple gigabytes of memory. Such large amounts of data will affect performance and you may even run out of memory.
197
+
By default the converter has to assume that you may want to use PBR materials on a model at some time, so it will generate `normal`, `tangent`, and `binormal` data for you. Consequently, the per vertex memory usage is `position` (12 bytes) + `texcoord0` (8 bytes) + `normal` (4 bytes) + `tangent` (4 bytes) + `binormal` (4 byte) = 32 bytes. Larger models of this type can easily have many millions of :::no-loc text="vertices"::: resulting in models that can take up multiple gigabytes of memory. Such large amounts of data will affect performance and you may even run out of memory.
198
198
199
-
Knowing that you never need dynamic lighting on the model, and knowing that all texture coordinates are in `[0; 1]` range, you can set `normal`, `tangent`, and `binormal` to `NONE` and `texcoord0` to half precision (`16_16_FLOAT`), resulting in only 16 bytes per vertex. Cutting the mesh data in half enables you to load larger models and potentially improves performance.
199
+
Knowing that you never need dynamic lighting on the model, and knowing that all texture coordinates are in `[0; 1]` range, you can set `normal`, `tangent`, and `binormal` to `NONE` and `texcoord0` to half precision (`16_16_FLOAT`), resulting in only 16 bytes per :::no-loc text="vertex":::. Cutting the mesh data in half enables you to load larger models and potentially improves performance.
200
200
201
201
## Typical use cases
202
202
@@ -210,7 +210,7 @@ There are certain classes of use cases that qualify for specific optimizations.
210
210
211
211
* When you need to move parts around, that typically also means that you need support for raycasts or other [spatial queries](../../overview/features/spatial-queries.md), so that you can pick those parts in the first place. On the other hand, if you don't intend to move something around, chances are high that you also don't need it to participate in spatial queries and therefore can turn off the `generateCollisionMesh` flag. This switch has significant impact on conversion times, loading times, and also runtime per-frame update costs.
212
212
213
-
* If the application does not use [cut planes](../../overview/features/cut-planes.md), the `opaqueMaterialDefaultSidedness` flag should be turned off. The performance gain is typically 20%-30%. Cut planes can still be used, but there won't be back-faces when looking into the inner parts of objects, which looks counter-intuitive. For more information, see [single sided rendering](../../overview/features/single-sided-rendering.md).
213
+
* If the application does not use [cut planes](../../overview/features/cut-planes.md), the `opaqueMaterialDefaultSidedness` flag should be turned off. The performance gain is typically 20%-30%. Cut planes can still be used, but there won't be back-faces when looking into the inner parts of objects, which looks counter-intuitive. For more information, see [:::no-loc text="single sided"::: rendering](../../overview/features/single-sided-rendering.md).
Copy file name to clipboardExpand all lines: articles/remote-rendering/how-tos/performance-tracing.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,11 +11,11 @@ ms.topic: conceptual
11
11
12
12
There are many reasons why the performance of Azure Remote Rendering may not be as good as desired. Apart from pure rendering performance on the cloud server, especially the quality of the network connection has a significant influence on the experience. To profile the server's performance, refer to chapter [Server-side performance queries](../overview/features/performance-queries.md).
13
13
14
-
This chapter focuses on how to identify potential client-side bottlenecks through *performance traces*.
14
+
This chapter focuses on how to identify potential client-side bottlenecks through *:::no-loc text="performance traces":::*.
15
15
16
16
## Getting started
17
17
18
-
If you are new to the Windows performance tracing functionality, this section will mention the most fundamental terms and applications to get you started.
18
+
If you are new to the Windows :::no-loc text="performance tracing"::: functionality, this section will mention the most fundamental terms and applications to get you started.
19
19
20
20
### Installation
21
21
@@ -46,7 +46,7 @@ To identify ARR performance issues you should prefer to do a trace directly on a
46
46
47
47
### WPR configuration
48
48
49
-
1. Launch the [Windows Performance Recorder](https://docs.microsoft.com/windows-hardware/test/wpt/windows-performance-recorder) from the *start menu*.
49
+
1. Launch the [:::no-loc text="Windows Performance Recorder":::](https://docs.microsoft.com/windows-hardware/test/wpt/windows-performance-recorder) from the *start menu*.
50
50
1. Expand **More Options**
51
51
1. Click **Add Profiles...**
52
52
1. Select the file *AzureRemoteRenderingNetworkProfiling.wprp*. You can find this file in the ARR SDK under *Tools/ETLProfiles*.
@@ -76,7 +76,7 @@ To record a trace on a HoloLens, boot up your device and enter its IP address in
76
76
77
77
1. On the left, navigate to *Performance > Performance Tracing*.
78
78
1. Select **Custom profiles**
79
-
1. Click **Browse...**
79
+
1. Click **:::no-loc text="Browse...":::**
80
80
1. Select the file *AzureRemoteRenderingNetworkProfiling.wprp*. You can find this file in the ARR SDK under *Tools/ETLProfiles*.
81
81
1. Click **Start Trace**
82
82
1. The HoloLens is now recording a trace. Make sure to trigger the performance issues that you want to investigate. Then click **Stop Trace**.
Copy file name to clipboardExpand all lines: articles/remote-rendering/how-tos/unity/install-remote-rendering-unity-package.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -38,9 +38,9 @@ More comprehensive instructions are given in the [Tutorial: Setting up a Unity p
38
38
39
39
## Unity render pipelines
40
40
41
-
Remote Rendering works with both the **Universal render pipeline** and the **Standard render pipeline**. For performance reasons, the Universal render pipeline is recommended.
41
+
Remote Rendering works with both the **:::no-loc text="Universal render pipeline":::** and the **:::no-loc text="Standard render pipeline":::**. For performance reasons, the Universal render pipeline is recommended.
42
42
43
-
To use the **Universal render pipeline**, its package has to be installed in Unity. This can either be done in Unity's **Package Manager** UI (package name **Universal RP**, version 7.2.1 or newer), or through the `Packages/manifest.json` file, as described in the [Unity project setup tutorial](../../tutorials/unity/project-setup.md#configure-the-projects-manifest).
43
+
To use the **:::no-loc text="Universal render pipeline":::**, its package has to be installed in Unity. This can either be done in Unity's **Package Manager** UI (package name **Universal RP**, version 7.2.1 or newer), or through the `Packages/manifest.json` file, as described in the [Unity project setup tutorial](../../tutorials/unity/project-setup.md#configure-the-projects-manifest).
Copy file name to clipboardExpand all lines: articles/remote-rendering/how-tos/unity/objects-components.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -83,7 +83,7 @@ The code samples above used the model loading path via SAS because the built-in
83
83
84
84
Creating a Unity game object implicitly adds a `RemoteEntitySyncObject` component to the game object. This component is used to synchronize the entity transform to the server. By default `RemoteEntitySyncObject` requires the user to explicitly call `SyncToRemote()` to synchronize the local Unity state to the server. Enabling `SyncEveryFrame` will synchronize the object automatically.
85
85
86
-
Objects with a `RemoteEntitySyncObject` can have their remote children instantiated and shown in the Unity editor through the **Show Children** button.
86
+
Objects with a `RemoteEntitySyncObject` can have their remote children instantiated and shown in the Unity editor through the **:::no-loc text="Show children":::** button.
Copy file name to clipboardExpand all lines: articles/remote-rendering/overview/features/color-materials.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@ Color materials are more efficient to render than [PBR materials](pbr-materials.
17
17
18
18
These properties are common to all materials:
19
19
20
-
***albedoColor:** This color is multiplied with other colors, such as the *albedoMap* or *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. Default is white.
20
+
***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. Default is white.
21
21
22
22
> [!NOTE]
23
23
> Since color materials don't reflect the environment, a fully transparent color material becomes invisible. This is different for [PBR materials](pbr-materials.md).
@@ -28,15 +28,15 @@ These properties are common to all materials:
28
28
29
29
***textureCoordinateScale** and **textureCoordinateOffset:** 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).
30
30
31
-
***useVertexColor:** If the mesh contains vertex colors and this option is enabled, the meshes' vertex colors are multiplied into the *albedoColor* and *albedoMap*. By default vertex colors are disabled.
31
+
***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.
32
32
33
-
***isDoubleSided:** 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 [Single-sided rendering](single-sided-rendering.md).
33
+
***isDoubleSided:** 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).
34
34
35
35
## Color material properties
36
36
37
37
The following properties are specific to color materials:
38
38
39
-
***vertexMix:** This value between `0` and `1` specifies how strongly the vertex color in a [mesh](../../concepts/meshes.md) contributes to the final color. At the default value of 1, the vertex color is multiplied into the albedo color fully. With a value of 0, the vertex colors are ignored entirely.
39
+
***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.
40
40
41
41
***transparencyMode:** Contrary to [PBR materials](pbr-materials.md), color materials distinguish between different transparency modes:
The following properties are exposed on a cut plane component:
57
57
58
-
* **Enabled:** You can temporarily switch off cut planes by disabling the component. Disabled cut planes don't incur rendering overhead and also don't count against the global cut plane limit.
58
+
* `Enabled`: You can temporarily switch off cut planes by disabling the component. Disabled cut planes don't incur rendering overhead and also don't count against the global cut plane limit.
59
59
60
-
* **Normal:** Specifies which direction (+X,-X,+Y,-Y,+Z,-Z) is used as the plane normal. This direction is relative to the owner entity's orientation. Move and rotate the owner entity for exact placement.
60
+
* `Normal`: Specifies which direction (+X,-X,+Y,-Y,+Z,-Z) is used as the plane normal. This direction is relative to the owner entity's orientation. Move and rotate the owner entity for exact placement.
61
61
62
-
* **FadeColor** and **FadeLength:**
62
+
* `FadeColor` and `FadeLength`:
63
63
64
64
If the alpha value of *FadeColor* is non-zero, pixels close to the cut plane will fade towards the RGB part of FadeColor. The strength of the alpha channel determines whether it will fade fully towards the fade color or only partially. *FadeLength* defines over which distance this fade will take place.
Copy file name to clipboardExpand all lines: articles/remote-rendering/overview/features/late-stage-reprojection.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,7 +19,7 @@ Both LSR modes improve hologram stability, although they have their distinct lim
19
19
20
20
## Choose LSR mode in Unity
21
21
22
-
In the Unity editor, go to *File > Build Settings*. Select *Player Settings* in the lower left, then check under *Player > XR Settings > Virtual Reality SDKs > Windows Mixed Reality* whether **Enable Depth Buffer Sharing** is checked:
22
+
In the Unity editor, go to *:::no-loc text="File > Build Settings":::*. Select *:::no-loc text="Player Settings":::* in the lower left, then check under *:::no-loc text="Player > XR Settings > Virtual Reality SDKs > Windows Mixed Reality":::* whether **:::no-loc text="Enable Depth Buffer Sharing":::** is checked:
Copy file name to clipboardExpand all lines: articles/remote-rendering/overview/features/lights.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,13 @@
1
1
---
2
-
title: Lights
2
+
title: Scene lighting
3
3
description: Light source description and properties
4
4
author: florianborn71
5
5
ms.author: flborn
6
6
ms.date: 02/10/2020
7
7
ms.topic: article
8
8
---
9
9
10
-
# Lights
10
+
# Scene lighting
11
11
12
12
By default the remotely rendered objects are lit using a [sky light](sky.md). For most applications this is already sufficient, but you can add further light sources to the scene.
0 commit comments