What's the plan?

May 10, 2016 at 8:58 AM
With .NET Core coming up we already get some native goodness coming to C#!
How does C# Native differentiate?

I guess the ultimate goal would be an easy integration with DirectX / Vulcan. How does this work in practice?
Coordinator
May 11, 2016 at 10:30 AM
it was possible to integrate with OpenGL (and thus with DirectX) long ago. Example project was done (Babylon3D)


Differences between C# Core (CoreRT. CoreCLR, CoreFX):

C# Core (native) still using VM to support functionality. Even CoreRT still using hashed functions to support virtual generic methods. Where CS2CPP (as main project now) is 100% pure C++ native code which does not need any VM to run with some limitations of cause due to missing VM but in many causes it is fully workable code. (If this project will be successful I will finish Reflection support for 100%)


for example I am using CS2CPP to write 1 program once and compile it for WIndows, Linux and Android. I am sure CoreRT is very heavy execution environment for Android. I didn't see if it is possible to compile CoreRT to android platform but CS2CPP code can be compiled to Android. So I have one opengl application which works everywhere written in pure C# (with very little C++ native code to support native functionality)
May 11, 2016 at 1:37 PM
All right then... should take a look at this Babylon sample hey!?! :)
Thanks!
Coordinator
May 11, 2016 at 2:22 PM
the project is a bit outdated but can show how to use it. BTW what are u using IL2C or CS2CPP? As I am working on CS2CPP and it will be main project to develop and support.
May 11, 2016 at 2:51 PM
This is mostly a matter of idle curiosity...
I mostly work with and is excited by WPF desktop application, so it's not very relevant.... And my free time is taken away from DirectX interests ATM.

However I have also always been excited by DirectX, but all venture in the DirectX domain have more or less failed when trying to use downloaded object model.
I managed (on idle weekend) to get DirectX run alright, but not do anything wit downloaded model from the web. All model libraries are in C++ ... :'(

At this stage there are a few avenues I consider for real DirectX coding (IF it happens)
  • maybe using Unity (there is push at work for that... but no project yet)
  • maybe using Xenko (I am the one excited by it, although I had failure loading some random .pfx I downloaded
  • Simply using Managed C++ and the new D3D Image interop library they have (for DX10, 11...), I loved the CPU agnosticity of .NET and got bad experience with native library only supporting x86 / x64 in the past... but hey, I could get over it with my own code!
On a side note I am using Xamarin on both iOS and Android at work (almost only doing Xamarin phone / desktop app + ASP.NET server for the past 6 month at work) and it's working quite well for and our client needs!
Coordinator
May 12, 2016 at 9:16 AM
Of cause this project should be used for fun