HolographicQuadLayerUpdateParameters
HolographicQuadLayerUpdateParameters
HolographicQuadLayerUpdateParameters
HolographicQuadLayerUpdateParameters
Class
Definition
Some information relates to pre-released product which may be substantially modified before it’s commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Prerelease APIs are identified by a Prerelease label.
[Contains prerelease APIs.]
Represents an update payload that lets an app configure a specific quad layer's parameters from a given frame forward.
public : sealed class HolographicQuadLayerUpdateParameters : IHolographicQuadLayerUpdateParameterspublic sealed class HolographicQuadLayerUpdateParameters : IHolographicQuadLayerUpdateParametersPublic NotInheritable Class HolographicQuadLayerUpdateParameters Implements IHolographicQuadLayerUpdateParameters// You can use this class in JavaScript.
- Attributes
| Device family |
Windows 10 Insider Preview (introduced v10.0.16257.0)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduced v5)
|
Remarks
To display quad layers, an app creates the necessary HolographicQuadLayer instances and adds them to a HolographicCamera's mutable QuadLayers list. To synchronize a retained quad layer update with a given immediate-mode holographic frame, an app requests an HolographicQuadLayerUpdateParameters instance from that frame by calling HolographicFrame.GetQuadLayerUpdateParameters. Any updates requested on that HolographicQuadLayerUpdateParameters instance will apply starting in that frame.
Methods
AcquireBufferToUpdateContent() AcquireBufferToUpdateContent() AcquireBufferToUpdateContent() AcquireBufferToUpdateContent()
Prerelease. Gets a Direct3D 11 back buffer whose contents will be displayed for this quad layer from this frame forward.
public : IDirect3DSurface AcquireBufferToUpdateContent()public IDirect3DSurface AcquireBufferToUpdateContent()Public Function AcquireBufferToUpdateContent() As IDirect3DSurface// You can use this method in JavaScript.
The Direct3D 11 surface that holds the back buffer.
Remarks
Apps must acquire a new buffer each time they need to change the texture.
To avoid repeated texture load costs, apps may load a single quad layer buffer containing a texture atlas and then call UpdateViewport to select a subset rectangle within the texture to display.
This method will make use of the Direct3D device you provided to the HolographicSpace. If you've specified the D3D11_CREATE_DEVICE_SINGLETHREADED flag on your device, be sure to call this method from your single Direct3D thread to avoid undefined behavior.
UpdateContentProtectionEnabled(Boolean) UpdateContentProtectionEnabled(Boolean) UpdateContentProtectionEnabled(Boolean) UpdateContentProtectionEnabled(Boolean)
Prerelease. Updates whether this quad layer contains protected content.
public : void UpdateContentProtectionEnabled(bool value)public void UpdateContentProtectionEnabled(Boolean value)Public Function UpdateContentProtectionEnabled(value As Boolean) As void// You can use this method in JavaScript.
- value
- bool Boolean Boolean Boolean
Whether content protection should be enabled for this quad layer.
Remarks
While content protection is enabled for an active quad layer, rendered content will be visible only in the headset, disabling the Mixed Reality Portal's preview.
UpdateExtents(Vector2) UpdateExtents(Vector2) UpdateExtents(Vector2) UpdateExtents(Vector2)
Prerelease. Updates the extents of this quad layer in world coordinates.
public : void UpdateExtents(Vector2 value)public void UpdateExtents(Vector2 value)Public Function UpdateExtents(value As Vector2) As void// You can use this method in JavaScript.
- value
- Vector2 Vector2 Vector2 Vector2
The full width and height of the quad layer in meters.
Remarks
You must also call UpdateLocationWithDisplayRelativeMode or UpdateLocationWithStationaryMode to specify the center point for the quad layer. The quad will be displayed centered around that location, with its full width and height specified by these extents.
Note that these extents are distinct from the HolographicQuadLayer's Size property, which defines the pixel size of the texture that backs the quad.
UpdateLocationWithDisplayRelativeMode(Vector3, Quaternion) UpdateLocationWithDisplayRelativeMode(Vector3, Quaternion) UpdateLocationWithDisplayRelativeMode(Vector3, Quaternion) UpdateLocationWithDisplayRelativeMode(Vector3, Quaternion)
Prerelease. Updates the center location of this quad layer relative to the center of the displays, setting it to remain at that display-relative location in future frames.
public : void UpdateLocationWithDisplayRelativeMode(Vector3 position, Quaternion orientation)public void UpdateLocationWithDisplayRelativeMode(Vector3 position, Quaternion orientation)Public Function UpdateLocationWithDisplayRelativeMode(position As Vector3, orientation As Quaternion) As void// You can use this method in JavaScript.
- position
- Vector3 Vector3 Vector3 Vector3
A point for the center of the quad plane, specified relative to the center of the displays.
- orientation
- Quaternion Quaternion Quaternion Quaternion
A rotation for the normal of the quad plane, specified relative to a normal facing the displays.
Remarks
For a display-relative quad, the app calls UpdateLocationWithDisplayRelativeMode to specify the spatial position and orientation in world coordinates relative to the center of the displays.
You must also call UpdateExtents to specify the width and height of the quad layer, centered around this point.
UpdateLocationWithStationaryMode(SpatialCoordinateSystem, Vector3, Quaternion) UpdateLocationWithStationaryMode(SpatialCoordinateSystem, Vector3, Quaternion) UpdateLocationWithStationaryMode(SpatialCoordinateSystem, Vector3, Quaternion) UpdateLocationWithStationaryMode(SpatialCoordinateSystem, Vector3, Quaternion)
Prerelease. Updates the center location of this quad layer in the world, setting it to remain at that world location in future frames.
public : void UpdateLocationWithStationaryMode(SpatialCoordinateSystem coordinateSystem, Vector3 position, Quaternion orientation)public void UpdateLocationWithStationaryMode(SpatialCoordinateSystem coordinateSystem, Vector3 position, Quaternion orientation)Public Function UpdateLocationWithStationaryMode(coordinateSystem As SpatialCoordinateSystem, position As Vector3, orientation As Quaternion) As void// You can use this method in JavaScript.
- coordinateSystem
- SpatialCoordinateSystem SpatialCoordinateSystem SpatialCoordinateSystem SpatialCoordinateSystem
The reference SpatialCoordinateSystem object.
- position
- Vector3 Vector3 Vector3 Vector3
A point for the center of the quad plane, specified relative to the origin of the reference coordinate system.
- orientation
- Quaternion Quaternion Quaternion Quaternion
A rotation for the normal of the quad plane, specified relative to the neutral orientation of the reference coordinate system.
Remarks
For a stationary quad, the app calls UpdateLocationWithStationaryMode to specify the spatial position and orientation in the world at which a quad layer should appear.
Stationary quads will continue to be rendered in the same place if their position is not changed, as if placed in a stationary frame of reference. To keep a quad more strongly anchored, for example to a spatial anchor or stage, the app must also update its location whenever that coordinate system adjusts. For apps with anchored content, it will likely be most straightforward to just update each quad’s location each frame.
You must also call UpdateExtents to specify the width and height of the quad layer, centered around this point.
UpdateViewport(Rect) UpdateViewport(Rect) UpdateViewport(Rect) UpdateViewport(Rect)
Prerelease. Updates the viewport rectangle within the quad layer's texture to display.
public : void UpdateViewport(Rect value)public void UpdateViewport(Rect value)Public Function UpdateViewport(value As Rect) As void// You can use this method in JavaScript.
Remarks
By default, quad layers display the full contents of the texture buffer to fill the specified extents. If the app fills the buffer with a texture atlas, it can then specify a viewport to fill the quad layer with jut a subset of the image.
For example, if the quad layer is used to display a reticle, the app can fill the texture buffer with one texture containing four reticle images. The app can then change just the viewport rectangle to select among those four images.