Helix Toolkit 3D for .NET

Release 2.6.0

[2.6.0] - 2019-01-04

Potential Breaking Changes:

  1. Material UV Transform has been changed from Matrix to UVTransform struct. (WPF.SharpDX/UWP/Core)
  2. Material Texture has been changed from Stream to TextureModel. This change allows more powerful texture support in future. In most cases, Stream will be implicit convert to TextureModel to reduce breaking changes. However, it may have issue if you are using XAML binding to a Texture stream in ViewModel. (WPF.SharpDX/UWP/Core)
  3. GroupModel3D and ItemsModel3D will no longer support using XAML Children and ItemsSource at the same time (To be consistent with other WPF controls such as ListView).(WPF.SharpDX/UWP/Core)
  4. PBR material RMAMap property has been renamed and separated into RoughnessMetallicMap and AmbientOcclusionMap.
  5. AmbientColor in InstancingParams has been removed.(WPF.SharpDX/UWP/Core)
  6. Remove Core namespace on Vector3Collection/Vector2Collection/IntCollection. Base class is changed to FastList<T>.

### Added

  1. Volume 3D Texture Rendering. Demo is added. (WPF.SharpDX/UWP/Core)
  2. Supports ImGui (using ImGui.NET) for SharpDX.Core. Details refer to CoreTest demo. (WPF.SharpDX and UWP)
  3. Supports Line/Point non-fixedSize thickness rendering. (WPF.SharpDX/UWP/Core)
  4. Supports SSAO. (WPF.SharpDX/UWP/Core)
  5. Adds Assimp Import/Export support for SharpDX versions. (WPF.SharpDX/UWP/Core)
  6. Demo Winform Integration. CoreTest demo

### Improvement and Changes

  1. Add FastList and change Vector3Collection/IntCollection base class to FastList for direct underlying array access. (WPF.SharpDX and UWP)
  2. Improved off-screen texture pooling. (WPF.SharpDX/UWP/Core)
  3. Improved post effects quality. (WPF.SharpDX/UWP/Core)
  4. Fixed Material creation performance issue. #1015, #1022 (WPF.SharpDX/UWP/Core)
  5. Adding BeginAnimation function to SharpDX Camera #1039 (WPF.SharpDX and UWP)
  6. Improves scene node for direct usage. (WPF.SharpDX/UWP/Core)
  7. Merge common Viewport3DX extension functions into shared project. (WPF.SharpDX/UWP/Core)
  8. Improve unnecessary graphics resource dispose/recreate after switching tab in TabControl. Ref #1013 (WPF.SharpDX/UWP)
  9. Improve rotation around mouse down point #1028 (WPF)
  10. SortingVisual causes lag when using large models #1036 (WPF)
  11. GroupModel3D and ItemsModel3D supports ObservableCollection.Move. Ref #1048 (WPF.SharpDX and UWP)

### Fixed

  1. Make DPFCanvas work over Remote Desktop again #998. (WPF.SharpDX and UWP)
  2. Transparent sorting and materials (SharpDX) #994. (WPF.SharpDX and UWP)
  3. Fixed manual render order not working issue. (WPF.SharpDX/UWP/Core)
  4. TaskCanceledException not caught in OnDetached #988. (WPF.SharpDX/UWP/Core)
  5. ViewCube is acting on Mouse Move #969. (WPF.SharpDX and UWP)
  6. LookDirection length in FitView #1009 (WPF)
  7. D3D Counter is negative (SharpDX) SharpDX bug #1040(WPF.SharpDX and UWP)
  8. Zooming at small look directions causes camera shaking. #1032 (WPF)

Release 2.5.1

[2.5.1] - 2018-10-24


Hot fix for v2.5.0.

  1. Fixed wrong type cast while using custom ViewBox Texture in HelixToolkit.SharpDX and UWP.

Release 2.5.0

[2.5.0] - 2018-10-19


  1. Physics Based Rendering Material. (WPF.SharpDX and UWP)
  2. ScreenQuadModel3D for background full screen texture rendering.(WPF.SharpDX and UWP)
  3. Supports EmissiveMap for PhongMaterial. (WPF.SharpDX and UWP)
  4. Supports Billboard 2D Rotation. Added Angle property in TextInfo and BillboardSingleImage. (WPF.SharpDX and UWP)
  5. Add BillboardImage3D to support sub image texture billboard. (WPF.SharpDX and UWP)
  6. Supports custom bitmap font for BillboardText3D. (WPF.SharpDX and UWP)
  7. Supports Billboard Text Batching Wiki. (WPF.SharpDX and UWP)
  8. Supports UnLit for DiffuseMaterial. (WPF.SharpDX and UWP)

Improvement and Changes

  1. Clean up render core. Obsolete RenderCoreBase. Move to material based rendering. (WPF.SharpDX and UWP)
  2. Remove “On” prefix from events. #924 (WPF.SharpDX and UWP)
  3. Upgrade SharpDX version to 4.2.0. (WPF.SharpDX and UWP)
  4. Shader common buffer and sampler changes. Use single surface sampler for all surface maps in pixel shader. Obsolete NormalMapSampler, AlphaMapSampler etc. in PhongMaterial. Please update common.hlsl if you are using custom shaders. (WPF.SharpDX and UWP)
  5. Improve MaterialVariable. (WPF.SharpDX and UWP)


  1. Transparency of the material SharpDX UWP bug #925 (WPF.SharpDX and UWP)
  2. stl material issue #917 (WPF)
  3. Is it possible to render the content of a Viewport3DX to an image (png/bmp) with higher DPI? #920 (WPF.SharpDX and UWP)
  4. NullRef Exception in BufferComponent (SharpDX) SharpDX UWP bug taken #966 (WPF.SharpDX and UWP)

Release 2.4.0

[2.4.0] - 2018-8-26


  1. Axis aligned plane grid. (WPF.SharpDX and UWP)
  2. CMO Reader. (WPF.SharpDX and UWP)
  3. Animation KeyframeUpdater. (WPF.SharpDX and UWP)
  4. Added UV Transform in PhongMaterial/DiffuseMaterial (WPF.SharpDX and UWP).
  5. Added custom billboard texture sampler.

Improvement and Changes

  1. Move render environment map and render shadow map properties into PhongMaterial. (WPF.SharpDX and UWP)
  2. Includes material sorting if EnableRenderOrder = true. Update RenderOrder to ushort. Update sorting key to be uint = [RenderOrder, MaterialID]. (WPF.SharpDX and UWP)
  3. MaterialVariable pooling. (WPF.SharpDX and UWP)
  4. Obsolete BoneMatrices struct. Improve BoneSkinnedGeomerty3D. Directly Martix array binding for bones. Add BoneGroupModel3D for bone sharing. Implemented basic key frame animation support and Demo. (WPF.SharpDX and UWP)
  5. Performance improvement.


  1. Fix bug on DisposeAndClear not called during detaching scene node. (WPF.SharpDX and UWP)
  2. Fix bug on invalidate scene graph not working on detaching scene node. (WPF.SharpDX and UWP)
  3. Instanced models are not properly exported using ObjExporter #902 (WPF.SharpDX)
  4. Coordinate system and view cube are clipped when resizing the Viewport3DX #892 (WPF.SharpDX and UWP)
  5. Wrong Y texture coordinate #870 (WPF.SharpDX and UWP)
  6. ObjExporter export MeshGeometryModel3D fails #857 (WPF.SharpDX)

Release 2.3.0

[2.3.0] - 2018-7-22


  1. Dynamic Buffer Support for geometry data streaming. (WPF.SharpDX and UWP) Wiki
  2. New TransformManipulator. See Manipulator Demo. (WPF.SharpDX and UWP)
  3. Ply format reader. (All)
  4. Support Order Independent Transparency for DiffuseMaterial. (WPF.SharpDX and UWP)
  5. Add BatchedMeshGeometryModel3D for mesh batching, supports multiple material color properties.(WPF.SharpDX and UWP)
  6. Support Manual Render Ordering. (WPF.SharpDX and UWP)

Improvement and Changes

  1. Move tessellation parameters into PhongMaterial. (WPF.SharpDX and UWP)
  2. Obsolete Ray3D. Use SharpDX.Ray instead. (WPF.SharpDX and UWP)
  3. Optimize all gesture handlers. (WPF.SharpDX and UWP)
  4. Move camera to shared project. (WPF.SharpDX and UWP)
  5. Rearrange the order of DefaultVertex struct. Separate Texture Cooridnates and Vertex Colors into own buffers. (WPF.SharpDX and UWP)
  6. Change to use CanRenderFlag in render core instead of calling CanRender during rendering. Use UpdateCanRenderFlag or SetAffectsCanRenderFlag to update the flag during property change. (WPF.SharpDX and UWP)
  7. Add Geometry property in HitTestResult. (WPF.SharpDX and UWP)
  8. Change shader byte array to lazy loading. (WPF.SharpDX and UWP)
  9. Obsolete Viewport3DX.WorldMatrix.


  1. Fixed model transform matrix multiplication wrong sequence on HitTest with GroupModel and Instancing.(WPF.SharpDX and UWP)
  2. Rectangle selection: why returns Models3D instead of Visuals3D? #841 (WPF)
  3. ZoomExtentsWhenLoaded not work when model transformed. #832 (WPF.SharpDX and UWP)
  4. stl import error. #827 (All)
  5. 3ds import error. #816 (All)