Namespace HelixToolkit.Avalonia.SharpDX
Classes
- BatchedMeshGeometryModel3D
Static mesh batching. Supports multiple BatchedMaterials. All geometries are merged into single buffer for rendering. Indivisual material color infomations are encoded into vertex buffer.
Material is used if BatchedMaterials = null. And also used for shared material texture binding.
- BoneGroupModel3D
Used to share bone matrices for multiple BoneSkinMeshGeometryModel3D
- Camera
Specifies what portion of the 3D scene is rendered by the Viewport3DX element.
- CameraController
Provides a control that manipulates the camera by mouse and keyboard gestures.
- CameraExtensions
Provides extension methods for the cameras.
- CompositeModel3D
Represents a composite Model3D.
- ContinuousRender3D
Use this model to keep update rendering in each frame.
Default behavior for render host is lazy rendering. Only property changes trigger a render inside render loop. However, sometimes user want to keep updating rendering each frame while doing shader animation using TimeStamp. Use this model to invalidate rendering in each frame and keep render host busy.
- DepthPrepassElement3D
Do a depth prepass before rendering.
Must customize the DefaultEffectsManager and set DepthStencilState to DefaultDepthStencilDescriptions.DSSDepthEqualNoWrite in default ShaderPass from EffectsManager to achieve best performance.
- Element3D
Base class for renderable elements.
- Geometry3DExtensions
Contains extension methods for geometry.
- GeometryModel3D
Provides a base class for a scene model which contains geometry
- GeometryModel3DOctreeManager
Use to create geometryModel3D octree for groups. Each ItemsModel3D must has its own manager, do not share between two ItemsModel3D
- GroupElement3D
Supports both ItemsSource binding and Xaml children. Binds with ObservableElement3DCollection
- InputBinding
Binds a InputGesture to an ICommand implementation.
- InputGesture
Defines an input gesture that can be used to invoke a command.
- ManipulationActionConverter
Converts a ManipulationAction object to and from other types.
- ManipulationBinding
Binds a ManipulationGesture to an ICommand implementation.
- ManipulationEventArgs
Provides data for the manipulation events.
- ManipulationGesture
Defines a touch input gesture that can be used to invoke a command.
- ManipulationGestureConverter
Converts a ManipulationGesture object to and from other types.
- ModelContainer3DX
Use to contain shared models for multiple viewports.
Suggest to bind effects manager in viewmodel. Assign effect manager from code behind may cause memory leak
- NormalMaterial
Render color by triangle normal
- NormalVectorMaterial
Render color by triangle normal
- NotNullToVisibilityConverter
A not-null reference to Visibility value converter.
- ObservableElement3DCollection
Provides an observable collection of Element3D.
- OrthographicCamera
Represents an orthographic projection camera.
- PerspectiveCamera
Represents a perspective projection camera.
- PhongMaterial
Implements a phong-material with its all properties Includes Diffuse, Normal, Displacement, Specular, etc. maps
- PositionColorMaterial
Render color by mesh vertex position
- PostEffectMeshBorderHighlight
Highlight the border of meshes
- PostEffectMeshOutlineBlur
Highlight the border of meshes
- ProjectionCamera
An abstract base class for perspective and orthographic projection cameras.
- SceneNodeGroupModel3D
Used to hold scene nodes without WPF/UWP dependencies. Used for code behind only. Avoid performance penalty from Dependency Properties.
- ScreenDuplicationModel
Limitation: Under switchable graphics card setup(Laptop with integrated graphics card and external graphics card), only monitor outputs using integrated graphics card is fully supported. Trying to clone monitor outputs by external graphics card, the clone window must reside in those monitors which is rendered by external graphics card, or error will be occurred. Ref: https://support.microsoft.com/en-us/help/3019314/error-generated-when-desktop-duplication-api-capable-application-is-ru
- ScreenSpacedElement3D
ScreenSpacedElement3D 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.
- ScreenSpacedGroup3D
ScreenSpacedGroup3D 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.
- TopMostGroup3D
Provides a way to render child elements always on top of other elements This is rendered at the same level of screen spaced group items. Child items do not support post effects.
- VertColorMaterial
Render color by mesh vertex color
- ViewBoxModel3D
Viewbox replacement for Viewport using swapchain rendering.
To replace box texture (such as text, colors), bind to custom material with different diffuseMap.
Create a image with 1 row and 6 evenly distributed columns. Each column occupies one box face. The face order is Front, Back, Down, Up, Left, Right
- Viewport3DX
Provides a Viewport control.
- ViewportExtensions
Provides extension methods for Viewport3DX.
- VisualWrapper
The VisualWrapper simply integrates a raw Visual child into a tree of FrameworkElements.
- VisualWrapper<T>
The VisualWrapper simply integrates a raw Visual child into a tree of FrameworkElements. https://blogs.msdn.microsoft.com/dwayneneed/2007/04/26/multithreaded-ui-hostvisual/
- VolumeTextureDDS3DMaterial
Default Volume Texture Material. Supports 3D DDS memory stream as VolumeTexture
- VolumeTextureDiffuseMaterial
Used to use gradient data as Volume 3D texture. User must create their own data reader to read texture files as pixel byte[] and pass the necessary information as VolumeTextureParams
Pixel Byte[] is equal to Width * Height * Depth * BytesPerPixel.
- VolumeTextureRawDataMaterial
Used to use raw data as Volume 3D texture. User must create their own data reader to read texture files as pixel byte[] and pass the necessary information as VolumeTextureParams
Pixel Byte[] is equal to Width * Height * Depth * BytesPerPixel.
Structs
- CameraSetting
Represents camera settings.
Interfaces
Enums
- ManipulationAction
Specifies constants that define actions performed by manipulation.