Hi!
This is a post to explain the plans for the next version, and as the Toolkit/Forum...etc. is causing me lots of overcharge on my sparetime work, I would like to take the time to clarify some details in this post.
Off-topic
I'm quite busy this week as I will give a talk about "Programming demos with C# and Direct3D11" at the Tokyo Demo Fest 2013. Live video streaming and slides should be available, so check it out. This will not be an advanced course, but more an introduction (most of demosceners are usually using C/ASM), but you could find some interesting infos and tips.
About the Toolkit
The Toolkit available in the last version of SharpDX - 2.4.2 - released 21 Dec 2012, has some major bugs that have been fixed since (along lots of others improvements/bugfixes for some other APIs). Thus in order to use it, you need to compile it yourself from the git repository. It requires a bit of install, setup and understand how the build is working to get it (and depending if you need to compile a WP8 version as well, It is not straightfoward), but this is the only way to have a somewhat stable version. If you are looking to use the toolkit and can't wait for the next official version, you will have to go this route.
About the next version 2.5
Next week, the work on releasing the new 2.5 version will begin. There are lots of things that will be introduced in this release: a proper installer, project templates and easy build for the toolkit, integrate compilation of FX files and Font files in projects...etc. + lots of cool things and bugfixes that have been developed since last version (like the great Toolkit.Input by artiom!). It will take around 2 to 3 weeks to finish the devs, package things...etc. This release should hopfully improve the developer experience when using the toolkit.
Community initiative
About a recent community initiative around building some Tutorials-Samples for the Toolkit, some users using the Toolkit got frustated about the lack of Direct3D11 samples using it (you can follow the whole discussion here). So starting with the release of 2.5 version, the community will try to bring some simple Direct3D11 tutorial/samples using the Toolkit. You can start to discuss about it in this thread.
About WP8 DllImport and Portable Class Library
First of all, thanks for the great support so far with more than 400 votes for the DllImport issue on WP8! (and special thanks to MonoGame Team!). Please continue to talk about this around you, as these votes will help a lot the CLR team to prioritize things for next release.
Also, as I have been harassed on Twitter about the lack of support of Portable Class Library aka PCL in SharpDX, so for once, I would like to clarify this here:
Until September 2011, SharpDX was only usable on Windows Desktop platform, so the need for some PCL was absolutely not evaluated. When WinRT was released, SharpDX went through lots of laborious refactoring to support Windows Desktop and Windows RT (which caused lots of annoying refactoring - no more File IO - while the native is always accessible, Reflection API completely broken...etc.), and the hardwork to move to this platforms (port of lots of samples, handle the new platform..etc.) didn't left any more time to think about PCL. Also PCL was *not* available for Windows 8 Developer release, and as far as I remmember, It was only available for the Windows 8 RC, around June 2012. At this time, SharpDX was absolutely not looking at PCL but was starting the development of the Toolkit. After last summer, I got an access to the WP8 SDK before its official release and made it possible for SharpDX to release on Day J a new version of SharpDX supporting WP8. This was probably the only large Open Source Project - and also against commercial projects - that were able to bring support for WP8 on day J. Lots of hard work... and absolutely no time to have a look at PCL, as I was also extremely busy to bring the Toolkit to life for the end of the year.
Now, that things are a little bit more settled (we have the 3 platforms almost on par, Windows Desktop, Windows RT and Windows Phone 8 ), the need for some PCL in SharpDX is getting critical, as we need a way to compile most of our projects without having to multiply compilation by the number of platforms. Unfortunately, due to the WP8 DllImport restriction, the full PCL for all platforms is not possible. At least, we can have PCL for .NET 4.0/4.5 Desktop and 4.5Core for WinRT, so this work could probably start slowly after 2.5, but the changes are quite laborious to handle (breaking changes on distribution, assembly splitting... etc.), and I can't guarantee that It will happen this year. Also, as we are developing at my work Paradox, a C# Game Engine, that is using SharpDX for all Windows Platforms, we are also directly concerned by this issue. But I would really prefer to work on porting SharpDX to PCL with full support for all platforms, instead of still having the pain to maintain the WP8 build that will polute all other builds/projects anyway (the Toolkit, MonoGame...etc.)
So please, be indulgent with your request for PCL support (or whatever request/bugfix). I have been working several thousands of hours on SharpDX so far, sometimes on lots of stuff I absolutely don't care, so seeing some users complaining strongly and naively about the lack of PCL SharpDX is particulary unfair and irritating. Too much unnecessary pressure on SharpDX, with somekind of overcharge/burnout rythm on myself, would give me enough reason to shutdown and close the project and just keep it private for some personnal usage and my work, so... beware.
I appreciate the support from the community, and that It is growing slowly but surely, with some nice feedback from users successfully using SharpDX for their projects. To paraphrase Mono with their C# slogan, We love more DirectX for .NET than Microsoft has ever been able to do!
Greetings!
xoofx
[Article on the Forum for comments]
This is a post to explain the plans for the next version, and as the Toolkit/Forum...etc. is causing me lots of overcharge on my sparetime work, I would like to take the time to clarify some details in this post.
Off-topic
I'm quite busy this week as I will give a talk about "Programming demos with C# and Direct3D11" at the Tokyo Demo Fest 2013. Live video streaming and slides should be available, so check it out. This will not be an advanced course, but more an introduction (most of demosceners are usually using C/ASM), but you could find some interesting infos and tips.
About the Toolkit
The Toolkit available in the last version of SharpDX - 2.4.2 - released 21 Dec 2012, has some major bugs that have been fixed since (along lots of others improvements/bugfixes for some other APIs). Thus in order to use it, you need to compile it yourself from the git repository. It requires a bit of install, setup and understand how the build is working to get it (and depending if you need to compile a WP8 version as well, It is not straightfoward), but this is the only way to have a somewhat stable version. If you are looking to use the toolkit and can't wait for the next official version, you will have to go this route.
About the next version 2.5
Next week, the work on releasing the new 2.5 version will begin. There are lots of things that will be introduced in this release: a proper installer, project templates and easy build for the toolkit, integrate compilation of FX files and Font files in projects...etc. + lots of cool things and bugfixes that have been developed since last version (like the great Toolkit.Input by artiom!). It will take around 2 to 3 weeks to finish the devs, package things...etc. This release should hopfully improve the developer experience when using the toolkit.
Community initiative
About a recent community initiative around building some Tutorials-Samples for the Toolkit, some users using the Toolkit got frustated about the lack of Direct3D11 samples using it (you can follow the whole discussion here). So starting with the release of 2.5 version, the community will try to bring some simple Direct3D11 tutorial/samples using the Toolkit. You can start to discuss about it in this thread.
About WP8 DllImport and Portable Class Library
First of all, thanks for the great support so far with more than 400 votes for the DllImport issue on WP8! (and special thanks to MonoGame Team!). Please continue to talk about this around you, as these votes will help a lot the CLR team to prioritize things for next release.
Also, as I have been harassed on Twitter about the lack of support of Portable Class Library aka PCL in SharpDX, so for once, I would like to clarify this here:
Until September 2011, SharpDX was only usable on Windows Desktop platform, so the need for some PCL was absolutely not evaluated. When WinRT was released, SharpDX went through lots of laborious refactoring to support Windows Desktop and Windows RT (which caused lots of annoying refactoring - no more File IO - while the native is always accessible, Reflection API completely broken...etc.), and the hardwork to move to this platforms (port of lots of samples, handle the new platform..etc.) didn't left any more time to think about PCL. Also PCL was *not* available for Windows 8 Developer release, and as far as I remmember, It was only available for the Windows 8 RC, around June 2012. At this time, SharpDX was absolutely not looking at PCL but was starting the development of the Toolkit. After last summer, I got an access to the WP8 SDK before its official release and made it possible for SharpDX to release on Day J a new version of SharpDX supporting WP8. This was probably the only large Open Source Project - and also against commercial projects - that were able to bring support for WP8 on day J. Lots of hard work... and absolutely no time to have a look at PCL, as I was also extremely busy to bring the Toolkit to life for the end of the year.
Now, that things are a little bit more settled (we have the 3 platforms almost on par, Windows Desktop, Windows RT and Windows Phone 8 ), the need for some PCL in SharpDX is getting critical, as we need a way to compile most of our projects without having to multiply compilation by the number of platforms. Unfortunately, due to the WP8 DllImport restriction, the full PCL for all platforms is not possible. At least, we can have PCL for .NET 4.0/4.5 Desktop and 4.5Core for WinRT, so this work could probably start slowly after 2.5, but the changes are quite laborious to handle (breaking changes on distribution, assembly splitting... etc.), and I can't guarantee that It will happen this year. Also, as we are developing at my work Paradox, a C# Game Engine, that is using SharpDX for all Windows Platforms, we are also directly concerned by this issue. But I would really prefer to work on porting SharpDX to PCL with full support for all platforms, instead of still having the pain to maintain the WP8 build that will polute all other builds/projects anyway (the Toolkit, MonoGame...etc.)
So please, be indulgent with your request for PCL support (or whatever request/bugfix). I have been working several thousands of hours on SharpDX so far, sometimes on lots of stuff I absolutely don't care, so seeing some users complaining strongly and naively about the lack of PCL SharpDX is particulary unfair and irritating. Too much unnecessary pressure on SharpDX, with somekind of overcharge/burnout rythm on myself, would give me enough reason to shutdown and close the project and just keep it private for some personnal usage and my work, so... beware.
I appreciate the support from the community, and that It is growing slowly but surely, with some nice feedback from users successfully using SharpDX for their projects. To paraphrase Mono with their C# slogan, We love more DirectX for .NET than Microsoft has ever been able to do!
Greetings!
xoofx
[Article on the Forum for comments]