Skip to content

Releases: Azure/azure-remote-rendering

Release 1.2.32

26 Jul 15:06
Compare
Choose a tag to compare

Important Service Updates

  • SDK updated to version 1.2.32

API Changes

  • All spatial query methods now take a new parameter OverlapTestMode in SpatialQueryAabb/SpatialQuerySphere/SpatialQueryObb.
    • This mode determines the granularity at which overlap tests are performed.
    • Default mode is OverlapTestMode.PartBoundingBox, which uses old behavior.
    • The new mode, OverlapTestMode.Primitives tests the volume against actual triangles/points of the mesh parts.
    • While the new mode is much more accurate when testing against actual model surfaces, the PartBoundingBox mode has its justification when the test should report hits when the test volume is completely inside a closed shape without touching the surface.

Sample Updates

Release 1.2.30

02 Jul 09:20
Compare
Choose a tag to compare

Important Service Updates

  • SDK updated to version 1.2.30.

Bug Fixes

  • Fixed more promises and async APIs to be properly failed on graceful or ungraceful disconnect, which were missed in 1.2.20.
  • Fixed a rare bug where the client could crash on connect, if session is disconnected before connection was fully established.

Release 1.2.29

07 Jun 10:16
Compare
Choose a tag to compare

Important Service Updates

  • SDK updated to version 1.2.29

API Changes

  • Outlines can now be color-tinted by a screen-aligned texture mask. See additional parameters in global RenderingConnection.OutlineSettings object. See Outline Rendering documentation page for details.

Release 1.2.28

28 May 14:36
Compare
Choose a tag to compare

Important Service Updates

  • SDK updated to version 1.2.28

Bug Fixes

  • Unity: Fixed Azure Remote Rendering not considering Quality-level URP settings.
  • Conversion service: Fixed output json file. The numFaces entry (input statistics section) and the numPrimitives entry (output statistics section) did not consider geometry instancing, so it was not a valid metric for the render size limit. For future conversions, these numbers have been fixed and can now be used to determine whether a model fits into Standard SKU.

Sample Updates

  • Showcase: Added support for loading model thumbnails when using AAD for authentication by loading thumbnails via Storage SDK instead of generating SAS URLs.

1.2.27

03 May 11:11
Compare
Choose a tag to compare

Important Service Updates

  • SDK updated to version 1.2.27

Sample Updates

  • Improved documentation for Showcase

Release 1.2.26

29 Apr 11:58
Compare
Choose a tag to compare

Important Service Updates

  • SDK updated to version 1.2.26

Features

  • The HierarchicalStateOverrideComponent can now be used to render subgraphs of models with a single material. This can be used to implement certain highlighting effects without cumbersome per-node material switches. This feature is exposed through the new HierarchicalStates.UseOverrideMaterial flag and the HierarchicalStateOverrideComponent.OverrideMaterial property.
  • The ColorMaterial now exposes a mode to define the generation mode of texture coordinates. Beside using the UV sets from the source model, there are now two new modes TextureCoordinateGenerationMode.PlanarWorldSpace and TextureCoordinateGenerationMode.PlanarObjectSpace. These modes generate the texture coordinates from vertex distance to two user-defined planes. The two planes are exposed through ColorMaterial.TexCoordPlaneU and ColorMaterial.TexCoordPlaneV. Use case for these texturing modes are highlighting effects where a texture is projected in world/object space.
  • Added proper support for MRC capture on HoloLens 2 / OpenXR. Captures will now have 3D content rendered in the camera's view instead of the left eye view. This requires more rendering resources. To restore the old behaviour, check "Disable First Person Observer" in the "OpenXR / Mixed Reality Features" section of the Unity project's settings.

Bug Fixes

  • Unity: Fixed ARRServiceUnity not fully resetting and unable to start new session after calling ForgetSession while a session is still starting.

Release 1.2.25

18 Apr 08:57
Compare
Choose a tag to compare

Important Service Updates

  • SDK updated to version 1.2.25

Features

  • Added a SolidEdgeSize parameter to CutPlaneComponent, which allows to customize the pixel width of the hard color edge rendered at intersections of cutplanes with geometry.

API Changes

  • Added a new struct Plane in the runtime API. In case this collides with Unity's plane class, use an explicit namespace.

Bug Fixes

  • Conversion: Better handling of edge cases when model contains broken UTF-8 text encodings.

Sample Updates

  • Tutorial-Complete: Fixed PC Standalone builds due to missing import settings on "Microsoft.Identity.Client.dll".
  • Showcase: Fixed non-build-breaking errors showing in the console when building for PC Standalone or Quest.

Release 1.2.24

28 Mar 10:11
Compare
Choose a tag to compare

Important Service Updates

  • SDK updated to version 1.2.24

API Changes

  • The Unity package includes a new extension method IsValid() to check if UnityEngine.Bounds are valid.

Sample Updates

  • Quickstart and Showcase: use the new IsValid() check.
  • Showcase: Reworked remote casting for pointers, fixing multi stepped pointers like the ParabolicTeleportPointer and providing a more smooth and responsive remote pointer UX in general.

Release 1.2.23

21 Mar 14:14
Compare
Choose a tag to compare

Important Service Updates

  • SDK updated to version 1.2.23
  • Conversion service:
    • For triangular mesh conversions, the number of output primitives (triangles/lines) has been added to the "outputstatistics" section of the .info.json file.
    • When converting an .fbx with unsupported geometry types (Splines/NURBS) an output warning is issued through the result.json file. If the converted arrAsset ends up with no valid geometry at all, another warning is issued.

Bug Fixes

  • Fixed edge case on HoloLens and Desktop where remote content could partially disappear despite not occluded by local content.
  • Fixed a bug for triangular meshes converted with an unsupported texture UV index causing a crash when loading the model.

Sample Updates

Release 1.2.21

01 Mar 11:52
Compare
Choose a tag to compare

Important Service Updates

  • SDK updated to version 1.2.21

API Changes

New scene graph traversal helpers

The following new client-side runtime API functions have been added to accelerate some special purpose scene graph traversal use cases:

  • Entity.GetRootPath : Builds a path string that consists of entity names with separators up to the root level, for example "root\path\to\this\entity".
  • Entity.FindByPath / TryFindByPath : Finds one or more entities with a given path under an entity.
  • Entity.FindComponentsOfTypeInHierarchy / TryFindComponentsOfTypeInHierarchy : Finds all occurrences of a specific component in the graph under an entity.
  • Entity.FindEntitiesByNameInHierarchy / TryFindEntitiesByNameInHierarchy : Finds all entities with a matching name in the graph under an entity.

The same functionality could have been accomplished through manual traversal / the visitor function, however these functions have been implemented purely on the native side, so they are orders of magnitudes faster than their counterparts implemented in C#.

⚠️Caution: The new API introduces a new enum RemoteRendering.StringComparison. This might collide with the System.StringComparison type. To fix issues with this, you'll have to fully qualify the name of these enums in your code.

Utility class to find the best rendering region based on ping times

A useful utility function has been added to the Unity binding code. It allows for pinging endpoints for a selectable set of rendering regions and then returns the list of regions ordered by best ping times. This utility function can either be used as-is in production, or it can serve as sample code for similar implementations.

Here is some sample code:

List<RegionPingResult> sortedResults = await RegionPingUtility.PingArrRegionsAsync(null);
string bestRegion = sortedResults[0].Region