Ab4d.SharpEngine
0.9.16-beta5
See the version list below for details.
dotnet add package Ab4d.SharpEngine --version 0.9.16-beta5
NuGet\Install-Package Ab4d.SharpEngine -Version 0.9.16-beta5
<PackageReference Include="Ab4d.SharpEngine" Version="0.9.16-beta5" />
paket add Ab4d.SharpEngine --version 0.9.16-beta5
#r "nuget: Ab4d.SharpEngine, 0.9.16-beta5"
// Install Ab4d.SharpEngine as a Cake Addin #addin nuget:?package=Ab4d.SharpEngine&version=0.9.16-beta5&prerelease // Install Ab4d.SharpEngine as a Cake Tool #tool nuget:?package=Ab4d.SharpEngine&version=0.9.16-beta5&prerelease
Ab4d.SharpEngine
Ab4d.SharpEngine is a cross-platform Vulkan based 3D rendering engine for desktop and mobile .Net applications.
Vulkan is a high performance graphics and cross-platform API that is similar to DirectX 12 but can run on multiple platforms.
The following features are supported by the current version:
- Core SharpEngine objects (Scene, SceneView)
- Many SceneNode objects (ported most of 3D objects from Ab3d.PowerToys)
- Object instancing (InstancedMeshNode)
- Cameras: TargetPositionCamera, FirstPersonCamera, FreeCamera, MatrixCamera
- Lights: AmbientLight, DirectionalLight, PointLight, SpotLight, CameraLight
- Effects: StandardEffect, SolidColorEffect, VertexColorEffect, ThickLineEffect
- ReaderObj to read 3D models from obj files
- Assimp importer that uses third-party library to import 3D models from almost any file format
Samples
Ab4d.SharpEngine.Samples on GitHub
Platforms and UI frameworks:
Windows:
- WPF full composition support with SharpEngineSceneView control (Ab4d.SharpEngine.Wpf library)
- AvaloniaUI support with SharpEngineSceneView control (Ab4d.SharpEngine.AvaloniaUI library)
- WinUI 3 support with SharpEngineSceneView control (Ab4d.SharpEngine.WinUI library)
- Using SDL or Glfw (using third-party Silk.Net library; the same project also works on Linux)
- MAUI
- WinForms support (coming soon)
Linux (including Raspberry PI 4):
- AvaloniaUI support with SharpEngineSceneView control (Ab4d.SharpEngine.AvaloniaUI library)
- Using SDL or Glfw (using third-party Silk.Net library; the same project also works on Windows)
- See "Vulkan on Resberry Pi 4" guide on how to use SharpEngine on Resberry Pi 4 with an external monitor.
Android:
- Using SurfaceView in C# Android Application
- Using SDL (using third-party Silk.Net library)
- MAUI
macOS:
- Using AvaloniaUI with SharpEngineSceneView control (Ab4d.SharpEngine.AvaloniaUI library). Requires MoltenVK library - see special project for macos.
- Using MAUI - requires MoltenVK library - see Building for macOS and iOS below.
iOS:
- Using MAUI - requires .Net 8 and MoltenVK library
Online help
Online Ab4d.SharpEngine Reference help
Expiration date:
The beta version of Ab4d.SharpEngine will expire 6 months after publishing.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- No dependencies.
NuGet packages (7)
Showing the top 5 NuGet packages that depend on Ab4d.SharpEngine:
Package | Downloads |
---|---|
Ab4d.SharpEngine.AvaloniaUI
Ab4d.SharpEngine.AvaloniaUI defines Avalonia controls that can show 3D scene rendered by Ab4d.SharpEngine rendering engine |
|
Ab4d.SharpEngine.WinUI
Ab4d.SharpEngine.WinUI defines WinUI controls that can show 3D scene rendered by Ab4d.SharpEngine rendering engine |
|
Ab4d.SharpEngine.Assimp
Ab4d.SharpEngine.Assimp provides classes that can use Assimp importer to import 3D objects into Ab4d.SharpEngine 3D rendering engine |
|
Ab4d.SharpEngine.Wpf
Ab4d.SharpEngine.Wpf defines WPF controls that can show 3D scene rendered by Ab4d.SharpEngine rendering engine |
|
Ab4d.SharpEngine.glTF
Ab4d.SharpEngine.glTF library provides a glTF 2.0 importer that can import 3D objects from glTF files to Ab4d.SharpEngine 3D objects. The library also provides a glTF exporter that can export the 3D scene created by Ab4d.SharpEngine to the glTF file. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
2.1.9028-beta1 | 159 | 9/20/2024 |
2.0.8956 | 849 | 7/9/2024 |
2.0.8951 | 254 | 7/4/2024 |
2.0.8941-rc2 | 201 | 6/24/2024 |
2.0.8936-rc1 | 193 | 6/19/2024 |
1.0.8740 | 1,649 | 12/7/2023 |
0.9.20-rc1 | 259 | 11/15/2023 |
0.9.18-beta6 | 232 | 10/20/2023 |
0.9.16-beta5 | 204 | 9/15/2023 |
0.9.15-beta4 | 618 | 8/23/2023 |
0.9.14-beta3 | 262 | 8/4/2023 |
0.9.13-beta3 | 997 | 7/11/2023 |
0.9.11-beta3 | 200 | 5/11/2023 |
0.9.10-beta3 | 130 | 5/10/2023 |
0.9.8-beta2 | 573 | 4/16/2023 |
0.9.0-beta1 | 243 | 12/14/2022 |
Ab4d.SharpEngine beta 4:
- Removed isDeviceLocal parameter from GpuImage constructor and TextureLoader.CreateTexture method.
- Engine can load the vulkan loader from the path that is set to the VK_DRIVER_FILES environment variable (see the following on how to use SharpEngine in a virtual machine or a web server: https://www.ab4d.com/SharpEngine/using-vulkan-in-virtual-machine-mesa-llvmpipe.aspx)
- By default disabled MSAA (multi-sampling anti-aliasing) for software renderer (Mesa's llvmpipe).
- Renamed SharpEngineSceneView.RequiredDeviceExtensionNames to RequiredDeviceExtensionNamesForSharedTexture
- Added DesiredInstanceExtensionNames and DesiredDeviceExtensionNames to EngineCreateOptions class (before there were only RequiredInstanceExtensionNames and RequiredDeviceExtensionNames).
- Moved methods to create edge lines from Ab4d.SharpEngine.Utilities.EdgeLinesFactory class to Ab4d.SharpEngine.Utilities.LineUtils class.
- Many other fixes and improvements.