Ab3d.DXEngine 8.0.9484

dotnet add package Ab3d.DXEngine --version 8.0.9484
                    
NuGet\Install-Package Ab3d.DXEngine -Version 8.0.9484
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Ab3d.DXEngine" Version="8.0.9484" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Ab3d.DXEngine" Version="8.0.9484" />
                    
Directory.Packages.props
<PackageReference Include="Ab3d.DXEngine" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Ab3d.DXEngine --version 8.0.9484
                    
#r "nuget: Ab3d.DXEngine, 8.0.9484"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Ab3d.DXEngine@8.0.9484
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Ab3d.DXEngine&version=8.0.9484
                    
Install as a Cake Addin
#tool nuget:?package=Ab3d.DXEngine&version=8.0.9484
                    
Install as a Cake Tool

Ab3d.DXEngine

Ab3d.DXEngine is a DirectX 11 rendering engine for Desktop .Net applications. Ab3d.DXEngine is built for advanced business and scientific 3D visualization.

IMPORTANT NOTE: Because this version of Ab3d.DXEngine does not require the SharpDX library, there are some breaking changes when you upgrade from version 7. If you just want new features and do not want to update your application, use v7.2 instead of v8.0 (it has all the features of v8.0). If you want to remove the dependency on SharpDX and use newer SIMD-enabled vector types, you will need to use .NET 10 and make a few code changes. - see the Upgrade Ab3d.DXEngine to v8.0.

Ab3d.DXEngine uses super fast rendering techniques that can fully utilize graphics cards and provide the ultimate performance. It also supports top quality visuals with PBR materials and shadows.

Ab3d.DXEngine package is the core package of the library. Usually, the Ab3d.DXEngine.Wpf package is also used.

It is also recommended to use Ab3d.PowerToys library that greatly simplifies working with 3D graphics.

Main features

  • DirectX 11 based rendering engine with full hardware rendering support.
  • Render millions of triangles with using instancing, smart optimizations and other techniques to get extreme GPU performance.
  • Render millions of hardware accelerated 3D lines (super-smooth lines with custom thickness, line color and line pattern).
  • Render millions of characters.
  • Multi-threaded rendering that can in some cases achieve more then 4 times the performance of a single thread.
  • With DirectX command list caching almost ANY number of objects can be rendered in practically no CPU time (can be used when only camera or lights are changed).
  • Super-fast per pixel lighting and super-sampling for improved visual quality.
  • Support standard and PBR (Physically Based Rendering) materials.
  • Many post processing effects.
  • The most versatile 3D engine - the same application can run on systems from high end graphics card (full hardware acceleration) to computers without graphics card (DirectX 11 software rendering). The same application can also run on an old computers with operating systems that do not support DirectX 11 (using WPF 3D rendering).
  • The rendered 3D scene can be composed with existing WPF objects so that standard WPF controls can be added on top of the 3D scene or seen through the scene.
  • Fully managed code that works with AnyCpu (x86 or x64) build targets and can be used in C# and VB.Net. DXEngine uses SharpDX as DirectX wrapper.
  • Highly customizable: use custom shaders, rendering techniques, mesh data, etc.
  • Support for virtual reality with split-screen and anaglyph rendering.
  • Use new engine with just a few changes of the existing WPF 3D code. The engine fully supports Ab3d.PowerToys and Abd3.Reader3ds libraries.
  • Great customer support by forum or email.

Samples

Ab3d.DXEngine.Wpf.Samples on GitHub Ab3d.DXEngine.WinForms.Samples on GitHub

Homepage

Ab3d.DXEngine Homepage

Online reference help

Ab3d.DXEngine Reference help

Change log

Ab3d.DXEngine change log

Usage

This version of Ab3d.DXEngine can be used as an evaluation and as a commercial version.

Evaluation usage: On the first usage of the library, a dialog to start a 60-days evaluation is shown. The evaluation version offers full functionality of the library but displays an evaluation info dialog once a day and occasionally shows a "Ab3d.DXEngine evaluation" watermark text. When the evaluation is expired, you can ask for evaluation extension or restart the evaluation period when a new version of the library is available.

You can see the prices of the library and purchase it on Ab3d.DXEngine price list

Commercial usage: In case you have purchased a license, you can get the license parameters from your User Account web page (https://www.ab4d.com/UserLogIn.aspx). Then set the parametes with adding the following code before the library is used:

Ab3d.Licensing.DXEngine.LicenseHelper.SetLicense(licenseOwner: "[CompanyName]", licenseType: "[LicenseType]", license: "[LicenseText]");

Note that the version that is distributed as NuGet package uses a different licensing mechanism then the commercial version that is distributed with a windows installer. Also the LicenseText that is used as a parameter to the SetLicense method is different then the license key used in the installer.

Supported platforms

  • .NET Framework 4.5+
  • .NET Core 3.1
  • .NET 5.0
  • .NET 6.0
  • .NET 7.0
  • .NET 8.0

See also

Ab3d.PowerToys.Wpf.Samples on GitHub

Product Compatible and additional computed target framework versions.
.NET net10.0-windows7.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0-windows7.0

    • No dependencies.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Ab3d.DXEngine:

Package Downloads
Ab3d.DXEngine.Wpf

Ab3d.DXEngine.Wpf library provides support for using Ab3d.DXEngine rendering engine in WPF applications and supports rendering WPF 3D objects with the engine. IMPORTANT NOTE: Because this version of Ab3d.DXEngine does not require the SharpDX library, there are some breaking changes when you upgrade from version 7. If you just want new features and do not want to update your application, use v7.2 instead of v8.0 (it has all the features of v8.0). If you want to remove the dependency on SharpDX and use newer SIMD-enabled vector types, you will need to use .NET 10 and make a few code changes - see the Upgrade Ab3d.DXEngine to v8.0 guide (https://github.com/ab4d/Ab3d.DXEngine.Wpf.Samples/Upgrade-DXEngine-to-v8.md).

Ab3d.DXEngine.Assimp

Ab3d.DXEngine.Assimp provides importing 3D models from many 3D file formats for Ab3d.DXEngine rendering engine. It is using a native Assimp importer (https://github.com/assimp/assimp). Ab3d.DXEngine is a super fast DirectX 11 rendering engine for Desktop .Net applications. Ab3d.DXEngine is built for advanced business and scientific 3D visualization. The following objects are created: - MeshObjectNode for objects with meshes - SceneNode objects for groups of objects - SimpleMesh<PositionNormalTexture> for meshes - StandardMaterial for materials Known issues in v1.1: - Silk.NET.Assimp depends on Ultz.Native.Assimp library that should copy the native assimp library into the application's output folder. But this works only for .Net Core and .Net 5.0 project and not for .Net Framework project. See the sample for .Net framework project on https://github.com/ab4d/Ab3d.DXEngine.Assimp for more information. Github page with samples project: https://github.com/ab4d/Ab3d.DXEngine.Assimp See also: https://www.ab4d.com/DXEngine.aspx - Ab3d.DXEngine library (DirectX rendering engine) https://www.ab4d.com/PowerToys.aspx - Ab3d.PowerToys library (the ultimate 3D helper library) Supported platforms: - .NET Framework 4.6.1+ - .NET Core 3.1 - .NET 5.0

Ab3d.DXEngine.glTF

Ab3d.DXEngine.glTF library provides a glTF 2.0 importer that can import 3D objects from glTF files to Ab3d.DXEngine 3D objects.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
8.0.9484 238 12/19/2025
7.2.9484 231 12/19/2025
7.1.9105 4,241 12/5/2024
7.0.8976 1,011 7/29/2024
7.0.8959 416 7/12/2024
7.0.8881 573 5/3/2024
7.0.8865 1,173 4/11/2024
6.1.8746 6,378 12/14/2023
6.0.8585 5,877 7/5/2023
5.2.8348 4,532 11/9/2022
5.1.8153 8,234 4/28/2022
5.1.8147 1,386 4/28/2022
5.0.8000 8,128 11/26/2021
4.4.7874 5,141 7/26/2021
4.4.7848 1,421 6/28/2021
4.3.7763 2,061 4/3/2021
4.3.7760 1,322 4/2/2021
4.2.7697 2,178 1/27/2021
4.2.7695 1,340 1/25/2021
4.2.7655 1,500 12/17/2020
4.1.7619 1,581 11/11/2020
4.0.7447 2,515 5/29/2020
3.3.7279 2,630 12/11/2019
3.2.7234 2,046 10/22/2019

Ab3d.DXEngine v8.0.9484 change log:
- Created a special build (v8.0) that does not require the third-party SharpDX library and includes all the required DirectX interop code directly in Ab3d.DXEngine. This version requires .Net 10 (for new extension methods) and comes with a few breaking changes. There is also a new v7.2, which has all the features of v8.0 but still depends on SharpDX. This version requires no code changes when upgrading from a previous version.
- Added .Net 10 build.
- Added DXScene.RenderToGpuBitmap method that can render the current scene to a 2D texture. The method returns the Texture2D DirectX object that is not copied to the main CPU memory.
- Added ReadSinglePixelColor and ReadColors methods to DXDevice. They can be used to read a single pixel color or color data from a specified area of the Texture2D that is stored in the GPU memory.
- Added Point3DTo2D and multiple Points3DTo2D methods to DXScene. The methods can be used to project 3D points to 2D screen coordinates. The new methods use Vector3, Vector2 and PositionNormalTexture structs instead of Point3D and Vector3D as the methods with the same name from Ab3d.PowerToys cameras. The new methods are significantly faster than the same method from the Ab3d.PowerToys.
- Updated RenderToBitmap method to render the scene with the changes that were made just before calling RenderToBitmap.
- Fixed RenderToBitmap method when it is called before the scene is rendered for the first time or when InitializeScene is called before the Width and Height are set.
- Prevented throwing an exception on Windows 11 when the window is set to full screen and then the primary monitor is changed.
- Prevented throwing an exception when calling MeshUtils.CalculateTangentVectors and when MeshGeometry3D does not have normals defined.
- Fixed using emissive color in PBR material (PhysicallyBasedMaterial) that also defines the emissive texture.
- Fixed MeshOctTree.GetNodesCountInLevel when nodeLevel is bigger than 1.
- Fixed GetAllHitObjects method that in some cases returned duplicate hit results that lie on the same triangle edge event when ReportAllHitTrianglesWhenEdgeIsHit was set to false.
- Prevented calculating the bounding box in SimpleMesh when the user manually sets the Bounds property before the DirectX resources are initialized.
- Prevented Null reference exception when creating RenderableMeshPrimitive and mesh's Bounds were not yet initialized.
- Improved DXEngineSnoop when strated with /auto parameter. The new version will not inject into process with Ab3d.PowerToys instead of a process with Ab3d.DXEngine process.
- Added "Reset camera Offset" option to Diagnostics window. It sets Camera's Offset to (0,0,0) and adjust TargetPosition accordingly.
- Updated Ab3d.DXEngine.glTF to v 7.2.9484. The new version supports using thrid-party Draco compression decoder (for example Openize.Drako) to read Draco compressed glTF files. To use that, set the glTFImporter.DracoMeshReaderFactory property (see the updated DXEngineOther/GltfImporterSample). Also added glTFImporter.IsDracoMeshCompressionUsed property that is set to true, when Draco compression is used.