EmbreeSharp 0.4.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package EmbreeSharp --version 0.4.0                
NuGet\Install-Package EmbreeSharp -Version 0.4.0                
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="EmbreeSharp" Version="0.4.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EmbreeSharp --version 0.4.0                
#r "nuget: EmbreeSharp, 0.4.0"                
#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.
// Install EmbreeSharp as a Cake Addin
#addin nuget:?package=EmbreeSharp&version=0.4.0

// Install EmbreeSharp as a Cake Tool
#tool nuget:?package=EmbreeSharp&version=0.4.0                

EmbreeSharp

EmbreeSharp is an unofficial C# low-level binding for embree

Provide a tiny safe wrapper in C#

Target framework is net8.0

This project is still under development. API are not stable.

Use

Install this package from nuget.

Install the native library package for your platform from nuget. Or, compile embree by yourself and put native library into runtimes/${rid}/native

OS x64
win embree-win-x64
linux embree-linux-x64
osx embree-osx-x64

osx-x64 should first install tbb in system.

Directory structure

  • EmbreeSharp: source code, tiny safe wrapper also in this dir
    • Native: low-level bindings
  • EmbreeSharp.Test: some tests
  • Samples: some simple examples
  • Script: some scripts to package the official native libraries

Details

About native library

The official only provides binary files for win-x64, linux-x64 and osx-x64. If you want to run on other platforms, you should compile embree by yourself.

Because native libraries uploaded to nuget are separate, everyone can upload their compiled native libraries for others to use.

If you upload your compiled library, you can tell me the package name. I will display it in readme.

The Script folder contains some help scripts to package the official compiled native libraries into the nuget package.

About load native library in C#

Loading native dynamic library of embree is complicated. Because official release depends on TBB. P/Invoke cannot find its path automatically. There is no way to set library search path (as far as I know). So I use System.Runtime.InteropServices.NativeLibrary.SetDllImportResolver to custom loading logic.

License

The copyright of Embree belongs to the Embree development team

This project is under MIT

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.6.5 159 8/4/2024
0.6.4 113 6/15/2024
0.6.3 124 4/25/2024
0.6.2 129 3/13/2024
0.6.1 133 3/12/2024
0.6.0 116 3/12/2024
0.5.0 134 3/9/2024
0.4.1 134 2/19/2024
0.4.0 232 11/29/2023
0.3.0 1,648 4/11/2023
0.2.0 378 4/8/2023
0.2.0-alpha 330 4/7/2023

rewrite