Xamarin 中的跨平台 OpenGL 渲染
Cross-platform OpenGL rendering in Xamarin
我们正在使用 Xamarin 平台和 C# 为 Windows 和 Android 开发非常相似的应用程序。两者都将结合一些屏幕上和屏幕外的 3D 渲染,例如 3D 网格可视化。
我们希望尽可能实现跨平台。这在 Xamarin 中通常是如何完成的?是用 C++ 代码进行渲染更好,还是有一个 C# 包装器对特定于平台的上下文创建等进行抽象?
一段时间后我可以回答我自己的问题。
至少在我的例子中,事实证明从 C++ 使用 OpenGL 更方便。我们刚刚从 C++ 代码构建了一个共享库,并 link 使用 DllImport 将其转换为 .NET dll。
我们构建 C++ 库的工具是 CMake,但是您可以使用其他构建系统,例如 VS2015 的新功能。
此解决方案的一个特别好处是您可以在其他任何地方重复使用此代码:在 iOS 应用程序中,Windows、Mac、Linux 的桌面应用程序中等等
我们正在使用 Xamarin 平台和 C# 为 Windows 和 Android 开发非常相似的应用程序。两者都将结合一些屏幕上和屏幕外的 3D 渲染,例如 3D 网格可视化。
我们希望尽可能实现跨平台。这在 Xamarin 中通常是如何完成的?是用 C++ 代码进行渲染更好,还是有一个 C# 包装器对特定于平台的上下文创建等进行抽象?
一段时间后我可以回答我自己的问题。
至少在我的例子中,事实证明从 C++ 使用 OpenGL 更方便。我们刚刚从 C++ 代码构建了一个共享库,并 link 使用 DllImport 将其转换为 .NET dll。
我们构建 C++ 库的工具是 CMake,但是您可以使用其他构建系统,例如 VS2015 的新功能。
此解决方案的一个特别好处是您可以在其他任何地方重复使用此代码:在 iOS 应用程序中,Windows、Mac、Linux 的桌面应用程序中等等