Table of Contents

Class ScreenSpacedNode

Namespace
HelixToolkit.SharpDX.Model.Scene
Assembly
HelixToolkit.SharpDX.dll

Screen Spaced node uses a fixed camera to render model (Mainly used for view box and coordinate system rendering) onto screen which is separated from viewport camera.

Default fix camera is perspective camera with FOV 45 degree and camera distance = 20. Look direction is always looking at (0,0,0).

User must properly scale the model to fit into the camera frustum. The usual maximum size is from (5,5,5) to (-5,-5,-5) bounding box.

User can use SizeScale to scale the size of the rendering.

public class ScreenSpacedNode : GroupNode, IDisposable, IComparable<SceneNode>, IAnimationNode, IHitable
Inheritance
ScreenSpacedNode
Implements
Derived
Inherited Members
Extension Methods

Constructors

ScreenSpacedNode()

public ScreenSpacedNode()

Properties

AbsolutePosition3D

Gets or sets the absolute position. AbsolutePosition3D

public Vector3 AbsolutePosition3D { get; set; }

Property Value

Vector3

The absolute position.

CameraType

Only being used when Mode is RelativeScreenSpaced

public ScreenSpacedCameraType CameraType { get; set; }

Property Value

ScreenSpacedCameraType

FarPlane

Gets or sets the far plane for screen spaced camera

public float FarPlane { get; set; }

Property Value

float

The far plane.

Mode

Gets or sets the mode. Includes RelativeScreenSpaced and AbsolutePosition3D

public ScreenSpacedMode Mode { get; set; }

Property Value

ScreenSpacedMode

The mode.

NearPlane

Gets or sets the near plane for screen spaced camera

public float NearPlane { get; set; }

Property Value

float

The near plane.

NeedClearDepthBuffer

Gets or sets a value indicating whether [need clear depth buffer].

protected bool NeedClearDepthBuffer { get; set; }

Property Value

bool

true if [need clear depth buffer]; otherwise, false.

RelativeScreenLocationX

Gets or sets the relative screen location x.

public float RelativeScreenLocationX { get; set; }

Property Value

float

The relative screen location x.

RelativeScreenLocationY

Gets or sets the relative screen location y.

public float RelativeScreenLocationY { get; set; }

Property Value

float

The relative screen location y.

SizeScale

Gets or sets the size scale.

public float SizeScale { get; set; }

Property Value

float

The size scale.

Methods

OnAttach(IEffectsManager)

Called when [attach].

protected override bool OnAttach(IEffectsManager effectsManager)

Parameters

effectsManager IEffectsManager

The effectsManager.

Returns

bool

OnCoordinateSystemChanged(bool)

protected virtual void OnCoordinateSystemChanged(bool isRightHand)

Parameters

isRightHand bool

OnCreateRenderCore()

Called when [create render core].

protected override RenderCore OnCreateRenderCore()

Returns

RenderCore

OnDetach()

Called when [detach].

protected override void OnDetach()

OnHitTest(HitTestContext?, Matrix4x4, ref List<HitTestResult>)

Called when [hit test].

protected override bool OnHitTest(HitTestContext? context, Matrix4x4 totalModelMatrix, ref List<HitTestResult> hits)

Parameters

context HitTestContext

The context.

totalModelMatrix Matrix4x4

The total model matrix.

hits List<HitTestResult>

The hits.

Returns

bool