helix-toolkit

Helix Toolkit is a collection of 3D components for .NET.

MIT License

Stars
1.9K
Committers
94

Bot releases are hidden (Show)

helix-toolkit - v2.25.0 Latest Release

Published by holance 8 months ago

[2.25.0] Release - 2024-02-27

Added

  1. Add CombinedSelectionCommand. (WPF)
  2. Allow importer to load obj,off,ply,stl from application resources. (WPF)
  3. Add AngleProperty for BillboardTextVisual3D (WPF)
  4. Add Angle Property for TextVisual3D. (WPF)
  5. Added ability to create tiled image materials with controlled vertical and horizontal scale factor. (WPF)
  6. Support color inner rectangle of RectangleAdorner. (WPF)
  7. Add FillRectangleBrush property for RectangleSelectionCommand, CombinedSelectionCommand. (WPF)

Improvement

  1. Re-implmenet zoom extents algorithm.(WPF.SharpDX/UWP/WinUI)
  2. Get rid of the sync context in RenderHostBase. Get rid of unnecessary parallel frustum tests. Change SceneNode ItemsInternal from ObservableCollection to own implementation.(WPF.SharpDX/UWP/WinUI)
  3. Improve dual depth peeling implementation. (WPF.SharpDX/UWP/WinUI)

Fixed

  1. Fixed NullRefrenceException in CuttingPlaneGroup.CuttingPlanes (WPF)
  2. Fixed null exception XamlExporter (WPF)
  3. Fix outline highlight not showing up while rending backface only. (WPF.SharpDX/UWP/WinUI)
  4. Fix particle system not able to render 2x2 particle texture. (WPF.SharpDX/UWP/WinUI)
  5. Fix rendering doesn't update after removing item from Viewport3DX.Items.(WPF.SharpDX/UWP/WinUI)
  6. Fix OIT mode switch not working in UWP demo.(WPF.SharpDX/UWP/WinUI)
  7. Fix WinUI crash. (WinUI)

Full Changelog: https://github.com/helix-toolkit/helix-toolkit/compare/v2.24.0...v2.25.0

helix-toolkit - V2.24.0 Release

Published by holance over 1 year ago

[2.24.0] - 2023-05-09

Added

  1. Adding IncreaseSwapchainFPS property for sharpdx wpf viewport for disable/enable FPS increasing feature. (WPF.SharpDX/UWP/WinUI)
  2. Adds additional 2D offset property for billboards. (WPF.SharpDX/UWP/WinUI)

Improvement

  1. Simplify topology setting in device context. (WPF.SharpDX/UWP/WinUI)
  2. Adds dedicated thread for processing non-rendering related tasks in DefaultRenderHost. (WPF.SharpDX/UWP/WinUI)
  3. Make the guid setter of ShaderResourceViewProxy public. (WPF.SharpDX/UWP/WinUI)
  4. Imporve GC by remvoing static reference to NullSceneNode in SceneNode. (WPF.SharpDX/UWP/WinUI)
  5. Improve node animation to avoid accumulated time dependency. (WPF.SharpDX/UWP/WinUI)

Breaking Change

  1. Change animation updater to absolute timestamp based. (WPF.SharpDX/UWP/WinUI)

Fixed

  1. Fixed HelixToolkit.WinUI package severe memory leak. (WinUI)
  2. Fixed bounding sphere is not properly transformed with non-uniform scaling matrix. (WPF.SharpDX/UWP/WinUI)
  3. Fixed the difference size of ZoomExtends of Viewport3DX between different cameras. (WPF.SharpDX/UWP/WinUI)
  4. Fix memory leak by disposing entire tree if top node is being disposed. (WPF.SharpDX/UWP/WinUI)
  5. Fix missing edge clicking, incorrect model updirection in ViewCubeVisual3d (WPF)
helix-toolkit - V2.23.0 Release

Published by holance almost 2 years ago

[2.23.0] - 2022-11-28

Added

  1. Add feature of enabling rotation/translation/scale control in every axis for TransformManipulator3D (WPF.SharpDX/UWP/WinUI)
  2. Decouple HelixToolkit.Wpf and HelixToolkit.Core.Wpf packages from HelixToolkit core library. HelixToolkit package will no longer be a dependency for both HelixToolkit.Wpf and HelixToolkit.Core.Wpf. (WPF)

Improvement

  1. Automatic invert up direction for rotation mode = turntable (WPF.SharpDX/UWP/Core/WinUI)
  2. Improve swapchain framerate under SharpDX.WPF (WPF.SharpDX)
  3. Adds function to invalidate bone matrices/morph target weights manually (WPF.SharpDX/UWP/Core/WinUI)

Fixed

  1. Fix models are not rendered by adding them directly into viewport3DX.Items. (WPF.SharpDX)
  2. Correct y axis color typo (WPF.SharpDX/UWP/Core/WinUI)
  3. Fix potential null ref exception in HelixToolkit.WinUI. (WinUI)
  4. Fix null reference exception in GeometryRenderCore.OnAttachBuffers(). (WPF.SharpDX/UWP/Core/WinUI)
  5. Fix shadow map light camera property update does not trigger re-rendering. (WPF.SharpDX/UWP/Core/WinUI)
helix-toolkit - V2.22.0 Release

Published by holance about 2 years ago

[2.22.0] - 2022-8-29

Improvement

  1. Change SceneNode.Attach to accept IEffectsManager instead of IRenderHost. This change will allow scene graph to be built and pre-attached in separate thread (all graphics resources are created during attaching). UI thread is still required to add generated sub graph back to the main graph which is associated with the Viewport. Example can be found here. (WPF.SharpDX/UWP/Core/WinUI)
  2. Re-implement logging to use Microsoft.Extensions.Logging.Abstractions logging interface. To override the internal debug logger, set HelixToolkit.Logger.LogManager.Factory on app start up to provide your own logging implementation.
  3. Due to logging change, minimum dot net version has been changed for all Helixtoolkit libraries.
    + .Net Framework 4.6.2 
    - .Net Framework 4.5
    + netstandard 2.0
    - netstandard 1.3
    

Fixed

  1. Fix intersecting hit test in CrossSectionMeshGeometryModel3D. (WPF.SharpDX/UWP/Core/WinUI)
  2. Fix depth peeling not working after Viewport resizing. (WPF.SharpDX/UWP/Core/WinUI)
  3. Fix missing depth peeling shader passes for batched mesh. (WPF.SharpDX/UWP/Core/WinUI)
helix-toolkit - V2.21.1 Release

Published by holance over 2 years ago

[2.21.1] - 2022-06-16

Improvement

  1. Allow environment map to skip rendering but still available for other object to do reflection. (WPF.SharpDX/UWP/Core/WinUI)
  2. Remove unnecessary scene graph re-creation during loading/unloading. (UWP/WinUI)
  3. Update WinUI AppSDK to 1.1.1. (WinUI)

Fixed

  1. Fix MSAA enable causes incorrect rendering on screenspaced objects. (WPF.SharpDX/UWP/Core/WinUI)
  2. Fix binding erorr: Converter failed to convert value of type of Element3D. (UWP/WinUI)
  3. Fix missing TeapotGeometry in Helixtoolkit.Core.Wpf. (Core.Wpf)
  4. Fix custom viewcube texture not working. (WPF.SharpDX/UWP/Core/WinUI)
helix-toolkit - V2.21.0 Release

Published by holance over 2 years ago

[2.21.0] 2022-05-28

We did some major code refactoring and changes in this release.

New

  1. Support Depth peeling based order independent transparency rendering. (WPF.SharpDX/UWP/Core)

Improvement

  1. Improved constant buffer array management in MaterialVariable and ConstantBufferComponent. Use single array to hold all structs used by material with same size.(WPF.SharpDX/UWP/Core)
  2. Simplified DisposeObject base class. Remove Collect function and object dictionary. All graphics resources must call RemoveAndDispose to free either on OnDispose if the resource is created in constructor or OnDetach if the resource is created in OnAttach. (WPF.SharpDX/UWP/Core)
  3. Improved all buffer upload functions to avoid creating DataStream object to reduce GC during rendering.(WPF.SharpDX/UWP/Core)
  4. Upgraded the Dot Net minimum requirements from 4.5 to 4.6 on HelixToolkit.SharpDX.Wpf. (WPF.SharpDX)
  5. Upgraded net standard from 1.1 to 1.3 on Helixtoolkit.SharpDX.Core. (Core)
  6. Improved resource pool implementation. (WPF.SharpDX/UWP/Core)
  7. Relax manipulator binding target type to Elements instead of GeometryModel3D (WPF.SharpDX)
helix-toolkit - V2.20.2 Release

Published by holance over 2 years ago

[2.20.2] - 2022-02-01

Fixed

  1. Fix viewcube edge hit test is not working properly. #1702 (WPF.SharpDX/UWP/Core)
  2. Fix environment map getting black area under certain conditions when using orthographic camera. (WPF.SharpDX/UWP/Core)
  3. Fix null pointer exception if effects manager is not being set on viewport3DX. (WPF.SharpDX/UWP/Core)
helix-toolkit - V2.20.1 Release

Published by holance almost 3 years ago

[2.20.1] - 2022-01-19

Fixed

  1. Fix stl reader failed to read any ASCII STL file. (WPF)
helix-toolkit - V2.20.0 Release

Published by holance almost 3 years ago

[2.20.0] - 2021-10-31

Added

  1. Post effect support in screen spaced group. (WPF.SharpDX/UWP/Core)
  2. Supports software rendering as config for effects manager. (WPF.SharpDX/UWP/Core)
helix-toolkit - V2.19.0 Release

Published by holance about 3 years ago

[2.19.0] - 2021-10-11

Fixed

  1. Fix shadow is showing on the back of the object #1649 (WPF.SharpDX/UWP/Core)
  2. Fix UWP memory leak due to event handlers are not being released properly. #1185 (UWP)
helix-toolkit - V2.18.0 Release

Published by holance about 3 years ago

[2.18.0] - 2021-09-04

Added

  1. Add hit test support for AxisPlaneGridNode.(WPF.SharpDX/UWP/Core)
  2. Add walkaround camera mode support for Orthographic camera. (WPF.SharpDX/UWP/Core)
  3. Cursor position and Cursor On Element position added to viewport3DX (WPF.SharpDX)

Improvement

  1. Adds Batched Mesh hit test result to include more batched mesh specific properties. (WPF.SharpDX/UWP/Core)

Fixed

  1. Fix zooming flips by enabling ZoomAroundMouseDownPoint in UWP.(UWP/Core)
  2. Fix topmost group is not rendered correctly if screenspaced group is being rendered before it.(WPF.SharpDX/UWP/Core)
  3. Fix duplicate key exception while importing glb file with embedded texture. (WPF.SharpDX/UWP/Core)
  4. Fix embedded texture is not loaded from FBX. (WPF.SharpDX/UWP/Core)
  5. Missing property in HitTest.ShallowCopy. (WPF.SharpDX/UWP/Core)
helix-toolkit - V2.17.0 Release

Published by holance over 3 years ago

Added

  1. Adds TopMostGroupNode and TopMostGroup3D to support top most rendering. Ref: #1572 (Limitations: Top most meshes are rendered at same level as screen spaced items, which are not supported by post effects and render ordering.) (WPF.SharpDX/UWP/Core)
  2. Add supprot for shadow map to automatically cover complete scene. (Limitations: May not be able to properly cover the scene if contains boneskinned animation.) (WPF.SharpDX/UWP/Core)

Fixed

  1. Added null check in IRenderMetricesExtensions.UnProject().(WPF.SharpDX/UWP/Core)
  2. Fix BatchedMeshGeometryModel3D blinking when BatchedGeometries update.(WPF.SharpDX/UWP/Core)
  3. Small problem in PointAndLinesBinding example, SetPoints() method.(WPF)
  4. Fixed glitches in various examples and project build.(WPF, WPF.SharpDX)
  5. Fix memory leak if same reference counted object gets collected multiple times.(WPF.SharpDX/UWP/Core)
helix-toolkit - V2.16.1 Release

Published by holance over 3 years ago

[2.16.1] - 2021-05-02

Fixed

  1. Fix RenderContext.BoundingFrustum for non-perspective cameras. (WPF.SharpDX/UWP/Core)
  2. Handle too many SurfaceD3D_IsFrontBufferAvailableChanged. (WPF.SharpDX/UWP/Core)
helix-toolkit - V2.16.0 Release

Published by holance over 3 years ago

[2.16.0] - 2021-04-24

Added

  1. Adds coordinate system axis color dependency properties for Viewport3DX. (WPF.SharpDX/UWP)
  2. Support for loading .obj and .mtl from stream. (WPF)

Improvement

  1. Avoid GPU resources getting destroyed and re-created unnecessarily. (WPF.SharpDX/UWP/Core)
  2. Improves texture loading. Re-implemented TextureModel and provides ITextureInfoLoader interface to allow user defined texture repository.(WPF.SharpDX/UWP/Core)
  3. Auto caching Stream and TextureModel pair to avoid duplicated texture resources.(WPF.SharpDX/UWP/Core)
  4. TextureModel changes to be Guid based. TextureModel with same Guid will be treated as same texture.(WPF.SharpDX/UWP/Core)
  5. Aggregate hit test function parameters into single hit test context. (WPF.SharpDX/UWP/Core)
  6. Move FXAA to the end of rendering, so FXAA applies onto screen spaced object. (WPF.SharpDX/UWP/Core)
  7. Add preliminary hit check with hit thickness for PointNode. (WPF.SharpDX/UWP/Core)

Fixed

  1. Fixed viewport crash during display configuration change #1531. (WPF.SharpDX)
  2. Fixed cursor is wrong after pressing multiple mouse button simultaneously (WPF.SharpDX/UWP)
  3. Bugfix export without material (Assimp)
  4. Fixed bounding box is not updated properly. #1555 (WPF.SharpDX/UWP/Core)
  5. Fixed Frustum test bug. (WPF.SharpDX/UWP/Core)
  6. Fixed shadow map OrthoWidth dependency property is setting to wrong property in scene node.(WPF.SharpDX/UWP)

Breaking Change

  1. Hit test function signature has been changed.
helix-toolkit - V2.15.0 Release

Published by holance over 3 years ago

[2.15.0] - 2021-02-20

Added

  1. Supports morph target animation. (WPF.SharpDX/UWP/Core)
  2. Supports animation playback speed. (WPF.SharpDX/UWP/Core)
  3. Supports releasing geometry data after loading into GPU. Call Geometry3D.SetAsTransient() to enable this feature. (WPF.SharpDX/UWP/Core)
    (Restrictions: View only; no hit test support; geometry must not be shared with multiple models; Must enable before attaching geometry3D onto a Model3D/Node, or before the Model3D/node being attached to a viewport.)
  4. Supports billboard alignment relative to the origin. (WPF.SharpDX/UWP/Core)
  5. Supports animation updater group. (WPF.SharpDX/UWP/Core)
  6. Added extension helper method to create animation updaters from animation list. (WPF.SharpDX/UWP/Core)

Improvement

  1. Improved thread buffer management. (WPF.SharpDX/UWP/Core)
  2. Changed return type for SceneNodeGroupModel3D AddNode RemoveNode. #1443 (WPF.SharpDX/UWP/Core)

Fixed

  1. Fixed border highlights and outline blur Post Effect blending issues #1491. (WPF.SharpDX/UWP/Core)
  2. Fixed environment map is still being used on object after disabling it. (WPF.SharpDX/UWP/Core)
  3. Fixed UWP assimp nuget spec is missing files. #1505 (UWP)
  4. Fixed UnmapSubresource is not called after MapSubresource during hit test for bone skinning mesh. #1499 (WPF.SharpDX/UWP/Core)
  5. Fixed wrong padding(bottom/right) in billboard single text. #1520 (WPF.SharpDX/UWP/Core)
helix-toolkit - V2.14.0 Release

Published by holance almost 4 years ago

[2.14.0] - 2021-01-09

Added

  1. Added CameraType property for screen space group. Allows to use orthographic camera for screen space group under RelativeScreenSpaced mode.

Improvement

  1. Make projects in new format (vs2017) also use the global AssemblyInfo.cs.
  2. Update NuGet version to v5.8.
  3. Update UWP min version to Win SDK 1903. (UWP)
  4. Update Cyotek.Drawing.BitmapFont to 2.0.0. (WPF.SharpDX/UWP/Core)
  5. Supports group model under screen space group. (WPF.SharpDX/UWP/Core)

Fixed

  1. ZoomExtents: confusion between horizontal and vertical fov. #1441 (WPF.SharpDX/UWP/Core)
  2. Render bitmap custom size. #1439 (WPF.SharpDX/UWP/Core)
  3. Fix UWP nuget package missing .cso shader files. (UWP)
  4. Fix AssimpNet version in nuget spec. (WPF.SharpDX/UWP/Core)
  5. Fix mesh outline post effect not visible under white background #1466 (WPF.SharpDX/UWP/Core)
  6. Fix data binding fails on button2D #1385 (WPF.SharpDX)
  7. Fix billboard/line/point hit test not working properly with Dpi scaling enabled. (WPF.SharpDX/UWP/Core)
  8. Fix billboard/line/point not able to do hit test inside screen space group. (WPF.SharpDX/UWP/Core)
  9. Fixes DataTemplate3D not supporting Binding-elements #1480 (Wpf)
helix-toolkit - V2.13.1 Release

Published by holance about 4 years ago

[2.13.1] - 2020-10-17

Fixed

  1. Fixed small triangle hit test is not working correctly in octree. #1428 (WPF.SharpDX/UWP/Core)
  2. Fixed PointVisual3D and LinesVisual3D invisible on mirrored transformation. #1340 (WPF)
helix-toolkit - V2.13.0 Release

Published by holance about 4 years ago

[2.13.0] - 2020-10-10

Added

  1. Added AlwaysHittable property for scene nodes. Allow mesh to be hittable even it is not being rendered(Visable = false). Ref #1393 (WPF.SharpDX/UWP/Core)

  2. Implemented high DPI rendering under DPI scaling to improve rendering quality. #1404 (WPF.SharpDX/UWP/Core)

    To turn this feature off if encounter issues, set Viewport3DX.EnableDpiScale = false.

Improvement and Changes

  1. Improved small triangle hit test. Ref #1353 (WPF.SharpDX/UWP/Core)
  2. Supports up to 8 clipping planes(cross section). Ref #1396 (WPF.SharpDX/UWP/Core)
  3. Supports Dot Net Core 3.1. (Core)
  4. Upgrades Assimp.net to 5.0 beta.

Fixed

  1. Fixed hit test in CrossSectionGeometryModel3D when uses octree or set CuttingOperation = Substract. Ref #1396 (WPF.SharpDX/UWP/Core)

  2. Fixed keybinding issue in Viewport3DX. Ref #1390 (WPF.SharpDX)

  3. Fixed UWP runtime error due to dependency property naming conflicts. #1365

    In order to fix the issue, following breaking changes have to be made: (UWP)

    • Transform3D renames to HxTransform3D. The Transform3D is a DP in UWP UIElement, which is not able to override.
    • Gesture bindings for UWP Viewport3DX have been moved into Viewport3DX.ManipulationBindings from Viewport3DX.InputBindings.
  4. Fixed small error in the calculation of the animation. #1405 (WPF.SharpDX/UWP/Core)

  5. Fixed typo in TextInfo. #1415 (WPF.SharpDX/UWP/Core)

helix-toolkit - V2.12.0 Releae

Published by holance over 4 years ago

[2.12.0] - 2020-05-25

Added

  1. Support Vertex Color blending for Phong/PBR/Diffuse materials with new VertexColorBlendingFactor property. (WPF.SharpDX/UWP/Core)

Fixed

  1. Fix billboardText not being call to initialize. (WPF.SharpDX/UWP/Core)
  2. Empty BillboardSingleText3D Causes Crash. (WPF.SharpDX/UWP/Core)
  3. Argument exception when using View.RenderTargetBitmap. (WPF.SharpDX/UWP/Core)
helix-toolkit - V2.11.0 Releae

Published by holance over 4 years ago

[2.11.0] - 2020-02-08

Added

  1. Add IsTopBottomViewOrientedToFrontBack property to view cube #1263. (WPF)
  2. Support color linear blending mode for Point Rendering. (WPF.SharpDX/UWP/Core)

Improvement and Changes

  1. Improve volume rendering. Properly renders other mesh along with volume. (WPF.SharpDX/UWP/Core)
  2. Properly render volume when camera is inside the volume cube. (WPF.SharpDX/UWP/Core)

Fixed

  1. Fix dependency property on HitTestThickness on both line/point model3D. Ref #1257 (WPF.SharpDX/UWP/Core)
  2. Fix MeshGeometryHelper.FindSharpEdges() not working properly. (MeshBuilder)
  3. Fix CreateView overloading wrong function. (WPF.SharpDX/UWP/Core)
  4. Fix GeometryBoundManager.GeometryValid is not updated when calling Geometry3D.UpdateVertices. (WPF.SharpDX/UWP/Core)
  5. Fix Assimp dll reference issue. (WPF.SharpDX/UWP/Core)
Badges
Extracted from project README
HelixToolkit License: MIT Build status Release Chat
Related Projects