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
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
trueif [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
effectsManagerIEffectsManagerThe effectsManager.
Returns
OnCoordinateSystemChanged(bool)
protected virtual void OnCoordinateSystemChanged(bool isRightHand)
Parameters
isRightHandbool
OnCreateRenderCore()
Called when [create render core].
protected override RenderCore OnCreateRenderCore()
Returns
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
contextHitTestContextThe context.
totalModelMatrixMatrix4x4The total model matrix.
hitsList<HitTestResult>The hits.