This PR migrates the core SharpGL libraries to target multiple platforms - the .NET Framework 4 and upwards, .NET Core and .NET Standard.
Just for fun, here's some SharpGL code running on MacOS:
Note that MacOS and Linux are not supported for anything graphical - yet - but this will come at a later stage hopefully. For now, the goal of this PR is to simply migrate to Visual Studio 2019, the latest project file format and to maximise compatibility going forwards (for example, allowing for .NET Core WinForms and WPF applications to be able to use SharpGL).
[x] The WPF and WinForms projects currently only target .NET 4.7.2, but should be able to target .NET 4 upwards and also core 3 and 3.1
[x] The TestHelper class has been duplicated. (Extracted as issue #179).
[x] The NETDesignSurface has not be initialised. (Extracted as issue #180).
[x] The Serialization package should be built.
[x] The build should uses dotnet msbuild
[x] The warnings (which are not the currently ignored docs warnings) should be fixed
[x] The code should be deployed to pre-release...
[x] ...then tested in a core project
[x] the whole #if DEBUG for 'insideGlBegin` is sloppy and an anti-pattern, we might prefer to have a mode which allows robust automatic error checking or simply make it a consumer responsibility. (Extracted as issue #181).
[x] we are currently deploying old versions of packages which are in the extensions folder - the extensions might be better as a separate solution. (Extracted as #182).
[x] The current known compatibility matrix should be high up in the README.
[x] The 2.x line should be maintained as a release branch and documented.
[x] (Separate issue) remove Apex dependencies as it is no longer maintained. (Extracted as issue #183).
[x] (Separate issue) remove unnecessary nesting in the source tree. (Extracted as issue #184).
[x] Conditionally import from libGL.so.1 or opengl32.dll depending on platform. (Extracted as #185 and #186).
This PR migrates the core SharpGL libraries to target multiple platforms - the .NET Framework 4 and upwards, .NET Core and .NET Standard.
Just for fun, here's some SharpGL code running on MacOS:
Note that MacOS and Linux are not supported for anything graphical - yet - but this will come at a later stage hopefully. For now, the goal of this PR is to simply migrate to Visual Studio 2019, the latest project file format and to maximise compatibility going forwards (for example, allowing for .NET Core WinForms and WPF applications to be able to use SharpGL).
TestHelper
class has been duplicated. (Extracted as issue #179).NETDesignSurface
has not be initialised. (Extracted as issue #180).dotnet msbuild
#if DEBUG
for 'insideGlBegin` is sloppy and an anti-pattern, we might prefer to have a mode which allows robust automatic error checking or simply make it a consumer responsibility. (Extracted as issue #181).extensions
folder - the extensions might be better as a separate solution. (Extracted as #182).source
tree. (Extracted as issue #184).libGL.so.1
oropengl32.dll
depending on platform. (Extracted as #185 and #186).Closes #166.