Helix Toolkit 3D for .NET

Release 2.6.1

[2.6.1] - 2019-02-16


  1. Flat Normal Shading Mode for Phong/PBR/Diffuse Material. Use EnableFlatShading = true to enable this mode.(WPF.SharpDX/UWP/Core)
  2. Add LimitPFS option to prevent FPS over shoot on mouse move (WPF)
  3. ManipulationBinding allows to map ManipulationGesture for Wpf.SharpDX (WPF.SharpDX)

Improvement and Changes

  1. Add LimitFPS option in HelixToolkit.WPF Viewport3D. Prevents mouse movement causes FPS overshooting. (WPF)
  2. Add SnapMouseDownPoint for CameraController and Viewport #1082. (WPF)
  3. Prevent zoom lock if look direction is too small (WPF.SharpDX/UWP/Core)


  1. Fix Camera Rotation with ZoomAroundMouseDownpoint=true (SharpDX) #1068 (WPF.SharpDX/UWP/Core)
  2. Fix exception in Closest3DPointHitTester #1085 (WPF)
  3. Fix panning sometimes not working issue.(WPF.SharpDX/UWP/Core)
  4. ViewportExtensions.Project does not get correct projection #1090. (WPF.SharpDX/UWP/Core)
  5. Fix cube map auto mipmap generation #1087. (WPF.SharpDX/UWP/Core)
  6. Fix Transform3DHelper.CombineTransform creates too nested Transform3DGroup #1089 (WPF)
  7. Fix local transform not getting calculated for UIElement3D in Visual3DHelper.GetTransform(). This solve mouse rotate getting reversed issue in Rotate Manipulator. (WPF)
  8. Fix Bound one dimension is zero on single point or single axis align line and causes hit test failed.(WPF.SharpDX/UWP/Core)
  9. Fix rounding issue in TextGroupVisual3D CreateTextMaterial #1075 (WPF)

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)