Coder Social home page Coder Social logo

stirlinglabs / assimp.net Goto Github PK

View Code? Open in Web Editor NEW
24.0 3.0 5.0 30.05 MB

C# .Net Core wrapper for the Open Asset Import Library (Assimp)

Home Page: https://bitbucket.org/Starnick/assimpnet

License: Other

C# 100.00%
3d 3mf assimp assimpnet cad collada collada-importer dae fbx fbx-parser

assimp.net's Introduction

Assimp.Net from Stirling Labs

CD NuGet version (StirlingLabs.Assimp.Net)

Introduction

This is a fork of assimpnet by Starnick, a cross-platform .NET wrapper for the Open Asset Import Library (otherwise known as Assimp), which is a 3D model import-export library. The primary motivation is for this library to power content pipelines to import and process 3D models. Please see the Assimp website for a full list of supported formats and features. Each version of the managed wrapper tries to maintain parity with the features of the native version.

We intend to keep this fork close to the original, with the main differences being a focus on supporting modern .Net, Apple Silicon and a open, publicly verifiable build chain.

The managed assembly is compiled as AnyCpu and the native 64-bit multi-threaded binaries are loaded dynamically (including support for Apple Silicon).

The library is split between two parts, a low level and a high level. The intent is to give as much freedom as possible to the developer to work with the native library from managed code.

Low level

  • Native methods are exposed via the AssimpLibrary singleton.
  • Structures corresponding to unmanaged structures are prefixed with the name Ai and generally contain IntPtrs to the unmanaged data.
  • Located in the Assimp.Unmanaged namespace.

High level

  • Replicates the native library's C++ API, but in a way that is more familiar to C# developers.
  • Marshaling to and from managed memory handled automatically, all you need to worry about is processing your data.
  • Located in the Assimp namespace.

Supported Frameworks

This version of the library is focussed on modern .NET, targeting specifically:

  • .NET Standard 2.1
  • .NET 6
  • .NET 7

The native binaries are resolved by the NuGet dependency graph automatically and are built & packaged in a closely-following fork of assimp.

Supported Platforms

The NuGet package supports the following Operating Systems and Architectures:

  • Windows x64
  • Linux x64
  • MacOS x64 & Apple Silicon (M1)

Unity Users

A Unity plugin is inherited from Starnick but this is not our focus so we recommend that you use the original.

Licensing

The library is licensed under the MIT license. This means you're free to modify the source and use the library in whatever way you want, as long as you attribute the original authors. The native library is licensed under the 3-Clause BSD license. Please be kind enough to include the licensing text file (it contains both licenses).

assimp.net's People

Contributors

bsy-nicholasw avatar martoko avatar rjvs avatar starnick avatar tyoungsl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

assimp.net's Issues

A lot of errors

Why you make things so complicated?
please release a working version

image

Native binaries are not being copied to the output

I'm developing a .NET 6.0 application for Windows 64-bit.

I have added the StirlingLabs.Assimp.Net Nuget package to the project, and StirlingLabs.assimp.native.xin-x64 is added automatically.

Unfortunately, no native libraries are being copied to the output folder, and calls to Assimp.Net cause "Error loading unmanaged library from path: Z:\MyProject\bin\Debug\runtimes\win-x64\native\assimp.dll"

After adding the native binaries manually to my project, everything works fine.

Assimp version 5.2.3

Hi,

I'm using this plugin to load fbx files in Unity during runtime.
There seems to be an issue introduced in assimp version 5.2.4 that messes the bind poses.
Would it be possible to have a release for version 5.2.3?

Thanks,
Hugo

Error building solution

I get the following error when trying to build (I replace machine specific paths with ):
Project "
\Assimp.Net\StirlingLabs.Version\Version.proj" was not imported by "*\Assimp.Net\Version.proj" at (21,9), due to the file not existing.

Package as unity dependency

Can I add this package as a dependency in my unity project. If yes, can you please point me to the instructions or docs to do so?

Support for net4.8?

Hi
Can you please add support for net4.8?

The previous version of Assimp 4.1.0 of Nicholas Woodfield works fine but it is old and can't read many new formats.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.