DiligentEngine icon indicating copy to clipboard operation
DiligentEngine copied to clipboard

NuGet package has only windows runtimes

Open zarnayp opened this issue 1 year ago • 5 comments

I have tried to run dotnet app in linux Ubuntu 24.04 using NuGet package DiligentGraphics.DiligentEngine.Core. It failes to load GraphicsEngineVk. When looking into NuGet package I see only runtimes for windows. Is there any plan to add Linux runtimes?

zarnayp avatar Jun 22 '24 17:06 zarnayp

At the moment we do not have plans to add Linux runtimes as this requires significant effort.

TheMostDiligent avatar Jun 22 '24 18:06 TheMostDiligent

@zarnayp Maybe we can generate .NET bindings automatically by using Mono project CppSharp . Many other .NET native graphics API binding project such as Silk.NET etc. are using it.

Arktische avatar Jul 01 '24 00:07 Arktische

@MikhailGorobets

TheMostDiligent avatar Jul 01 '24 00:07 TheMostDiligent

@Arktische SharpGenTools more efficient method calls on virtual methods of native instances (calli instruction vs. Marshal.GetDelegateForFunctionPointer) Not everything uses CppSharp. For example, Veldrid uses Vortice.Windows, which internally relies on SharpGenTools. Moreover, I think we have a simpler C# interface. We've hidden raw pointers You can compare with Slik.NET: https://github.com/dotnet/Silk.NET/blob/main/examples/CSharp/Direct3D11%20Tutorials/Tutorial%201.3%20-%20Textures/Program.cs https://github.com/DiligentGraphics/DiligentSamples/blob/master/Tutorials/Tutorial03_Texturing-DotNet/src/Tutorial03_Texturing.cs

MikhailGorobets avatar Jul 01 '24 08:07 MikhailGorobets

First I will try to generate NuGet with Diligent-SharpGen. I have already tried with modified project file and mapping file as suggested here https://github.com/DiligentGraphics/DiligentCore/issues/424, but looks like I need to modify python script also.

zarnayp avatar Jul 01 '24 23:07 zarnayp