Share via


HolographicCameraRenderingParameters.SetFocusPoint Method

Definition

Overloads

SetFocusPoint(SpatialCoordinateSystem, Vector3)

Sets the stationary point in the holographic space that the user will likely focus on for the current frame.

SetFocusPoint(SpatialCoordinateSystem, Vector3, Vector3)

Sets the stationary point in the holographic space that the user will focus on, as well as the normal for a focus plane through that point.

SetFocusPoint(SpatialCoordinateSystem, Vector3, Vector3, Vector3)

Sets the moving point in the holographic space that the user will focus on, as well as the normal for a focus plane through that point.

SetFocusPoint(SpatialCoordinateSystem, Vector3)

Sets the stationary point in the holographic space that the user will likely focus on for the current frame.

public:
 virtual void SetFocusPoint(SpatialCoordinateSystem ^ coordinateSystem, float3 position) = SetFocusPoint;
/// [Windows.Foundation.Metadata.Overload("SetFocusPoint")]
void SetFocusPoint(SpatialCoordinateSystem const& coordinateSystem, float3 const& position);
[Windows.Foundation.Metadata.Overload("SetFocusPoint")]
public void SetFocusPoint(SpatialCoordinateSystem coordinateSystem, Vector3 position);
function setFocusPoint(coordinateSystem, position)
Public Sub SetFocusPoint (coordinateSystem As SpatialCoordinateSystem, position As Vector3)

Parameters

coordinateSystem
SpatialCoordinateSystem

The coordinate system of the position vector.

position
Vector3 Vector3

float3

The location of the focus point in the specified coordinate system.

Attributes

Remarks

There are two types of LSR your app can use - Planar LSR and Depth LSR. Planar LSR is used by HoloLens and Windows Mixed Reality devices. Depth LSR is available on HoloLens 2.

Planar LSR is the default mode where the platform stabilizes a single plane in the scene. This function allows you to specify that plane. If you set a manual focus point, you must set it again each frame, or it will reset to its default. Otherwise, the default focus point will be 2 meters away from the headset, with a normal facing the headset.

Depth LSR is obtained by calling CommitDirect3D11DepthBuffer. Your app will generally achieve optimal visual quality by calling CommitDirect3D11DepthBuffer to commit an accurate depth buffer whose pixels can be mapped back to meters using your specified near and far planes.

LSR will use head velocity and stabilize things to the world, but if the application knows that something is moving through the scene and that the user is following it, then the FocusPoint velocity can be used to stabilize things to that moving object.

If your app is using Depth LSR, SetFocusPoint is still important if you wish to stabilize to a moving object in the scene.

See also

Applies to

SetFocusPoint(SpatialCoordinateSystem, Vector3, Vector3)

Sets the stationary point in the holographic space that the user will focus on, as well as the normal for a focus plane through that point.

public:
 virtual void SetFocusPoint(SpatialCoordinateSystem ^ coordinateSystem, float3 position, float3 normal) = SetFocusPoint;
/// [Windows.Foundation.Metadata.Overload("SetFocusPointWithNormal")]
void SetFocusPoint(SpatialCoordinateSystem const& coordinateSystem, float3 const& position, float3 const& normal);
[Windows.Foundation.Metadata.Overload("SetFocusPointWithNormal")]
public void SetFocusPoint(SpatialCoordinateSystem coordinateSystem, Vector3 position, Vector3 normal);
function setFocusPoint(coordinateSystem, position, normal)
Public Sub SetFocusPoint (coordinateSystem As SpatialCoordinateSystem, position As Vector3, normal As Vector3)

Parameters

coordinateSystem
SpatialCoordinateSystem

The coordinate system of the position and normal vectors.

position
Vector3 Vector3

float3

The location of the focus point in the specified coordinate system.

normal
Vector3 Vector3

float3

The normal of the focus point in the specified coordinate system, if known. If there is no obvious normal, have it face the user.

Attributes

Remarks

There are two types of LSR your app can use - Planar LSR and Depth LSR. Planar LSR is used by HoloLens and Windows Mixed Reality devices. Depth LSR is available on HoloLens 2.

Planar LSR is the default mode where the platform stabilizes a single plane in the scene. This function allows you to specify that plane. If you set a manual focus point, you must set it again each frame, or it will reset to its default. Otherwise, the default focus point will be 2 meters away from the headset, with a normal facing the headset.

Depth LSR is obtained by calling CommitDirect3D11DepthBuffer. Your app will generally achieve optimal visual quality by calling CommitDirect3D11DepthBuffer to commit an accurate depth buffer whose pixels can be mapped back to meters using your specified near and far planes.

LSR will use head velocity and stabilize things to the world, but if the application knows that something is moving through the scene and that the user is following it, then the FocusPoint velocity can be used to stabilize things to that moving object.

If your app is using Depth LSR, SetFocusPoint is still important if you wish to stabilize to a moving object in the scene.

See also

Applies to

SetFocusPoint(SpatialCoordinateSystem, Vector3, Vector3, Vector3)

Sets the moving point in the holographic space that the user will focus on, as well as the normal for a focus plane through that point.

public:
 virtual void SetFocusPoint(SpatialCoordinateSystem ^ coordinateSystem, float3 position, float3 normal, float3 linearVelocity) = SetFocusPoint;
/// [Windows.Foundation.Metadata.Overload("SetFocusPointWithNormalLinearVelocity")]
void SetFocusPoint(SpatialCoordinateSystem const& coordinateSystem, float3 const& position, float3 const& normal, float3 const& linearVelocity);
[Windows.Foundation.Metadata.Overload("SetFocusPointWithNormalLinearVelocity")]
public void SetFocusPoint(SpatialCoordinateSystem coordinateSystem, Vector3 position, Vector3 normal, Vector3 linearVelocity);
function setFocusPoint(coordinateSystem, position, normal, linearVelocity)
Public Sub SetFocusPoint (coordinateSystem As SpatialCoordinateSystem, position As Vector3, normal As Vector3, linearVelocity As Vector3)

Parameters

coordinateSystem
SpatialCoordinateSystem

The coordinate system of the position, normal and velocity vectors.

position
Vector3 Vector3

float3

The location of the focus point in the specified coordinate system.

normal
Vector3 Vector3

float3

The normal of the focus point in the specified coordinate system, if known. If there is no obvious normal, have it face the user.

linearVelocity
Vector3 Vector3

float3

The velocity vector of the focus point in the specified coordinate system.

Attributes

Remarks

There are two types of LSR your app can use - Planar LSR and Depth LSR. Planar LSR is used by HoloLens and Windows Mixed Reality devices. Depth LSR is available on HoloLens 2.

Planar LSR is the default mode where the platform stabilizes a single plane in the scene. This function allows you to specify that plane. If you set a manual focus point, you must set it again each frame, or it will reset to its default. Otherwise, the default focus point will be 2 meters away from the headset, with a normal facing the headset.

Depth LSR is obtained by calling CommitDirect3D11DepthBuffer. Your app will generally achieve optimal visual quality by calling CommitDirect3D11DepthBuffer to commit an accurate depth buffer whose pixels can be mapped back to meters using your specified near and far planes.

LSR will use head velocity and stabilize things to the world, but if the application knows that something is moving through the scene and that the user is following it, then the FocusPoint velocity can be used to stabilize things to that moving object.

If your app is using Depth LSR, SetFocusPoint is still important if you wish to stabilize to a moving object in the scene.

See also

Applies to