Opengl es Android和iOS版本的OpenTK有相同的API吗?

Opengl es Android和iOS版本的OpenTK有相同的API吗?,opengl-es,xamarin.ios,xamarin.android,xamarin,opentk,Opengl Es,Xamarin.ios,Xamarin.android,Xamarin,Opentk,我正试图进入手机游戏开发与Xamarin;我正在使用OpenTK进行渲染。 我的计划如下: 1.制作一个实际上是游戏的共享库(并包含所有openTK代码)。 2.为iOS和Android创建一个可运行的项目,处理平台特定的内容(例如弹出警报)并使用我的共享库 这在openTK中是可能的吗?iOS和Android上的API是否完全相同,只是链接库不同?如果是,如何避免代码重复?您的方法听起来非常合理,只需稍加努力即可工作 原因是Xamarin.Android和Xamarin.iOS是从该库的alp

我正试图进入手机游戏开发与Xamarin;我正在使用OpenTK进行渲染。
我的计划如下:
1.制作一个实际上是游戏的共享库(并包含所有openTK代码)。
2.为iOS和Android创建一个可运行的项目,处理平台特定的内容(例如弹出警报)并使用我的共享库


这在openTK中是可能的吗?iOS和Android上的API是否完全相同,只是链接库不同?如果是,如何避免代码重复?

您的方法听起来非常合理,只需稍加努力即可工作

原因是Xamarin.Android和Xamarin.iOS是从该库的alpha版本派生出来的,它们的API略有不同。OpenGL ES绑定的大部分内容都是相同的,但有些函数存在恼人的(不必要的)差异,您需要在共享库中定义这些差异

好消息是,OpenTK的Xamarin分支现在已经是开源的,所以我们正在积极寻求解决方案。我已经有了一个私有构建的库,它在Android和桌面平台之间公开了一个相同的OpenGL ES API[1],我正在修复iOS和Android版本之间的差异

您可以在中跟踪OpenTK的开发


[1] 您可以使用或和扩展在桌面上执行OpenGL ES代码。这使得OpenGL ES成为第一个跨所有主要平台(Windows、Linux、Mac、Android、iOS,希望将来还有WinPhone)工作的图形API。

您的方法听起来非常合理,只需稍加努力即可工作

原因是Xamarin.Android和Xamarin.iOS是从该库的alpha版本派生出来的,它们的API略有不同。OpenGL ES绑定的大部分内容都是相同的,但有些函数存在恼人的(不必要的)差异,您需要在共享库中定义这些差异

好消息是,OpenTK的Xamarin分支现在已经是开源的,所以我们正在积极寻求解决方案。我已经有了一个私有构建的库,它在Android和桌面平台之间公开了一个相同的OpenGL ES API[1],我正在修复iOS和Android版本之间的差异

您可以在中跟踪OpenTK的开发


[1] 您可以使用或和扩展在桌面上执行OpenGL ES代码。这使得OpenGL ES成为第一个跨所有主要平台(Windows、Linux、Mac、Android、iOS,希望将来还有WinPhone)工作的图形API。

您的方法听起来非常合理,只需稍加努力即可工作

原因是Xamarin.Android和Xamarin.iOS是从该库的alpha版本派生出来的,它们的API略有不同。OpenGL ES绑定的大部分内容都是相同的,但有些函数存在恼人的(不必要的)差异,您需要在共享库中定义这些差异

好消息是,OpenTK的Xamarin分支现在已经是开源的,所以我们正在积极寻求解决方案。我已经有了一个私有构建的库,它在Android和桌面平台之间公开了一个相同的OpenGL ES API[1],我正在修复iOS和Android版本之间的差异

您可以在中跟踪OpenTK的开发


[1] 您可以使用或和扩展在桌面上执行OpenGL ES代码。这使得OpenGL ES成为第一个跨所有主要平台(Windows、Linux、Mac、Android、iOS,希望将来还有WinPhone)工作的图形API。

您的方法听起来非常合理,只需稍加努力即可工作

原因是Xamarin.Android和Xamarin.iOS是从该库的alpha版本派生出来的,它们的API略有不同。OpenGL ES绑定的大部分内容都是相同的,但有些函数存在恼人的(不必要的)差异,您需要在共享库中定义这些差异

好消息是,OpenTK的Xamarin分支现在已经是开源的,所以我们正在积极寻求解决方案。我已经有了一个私有构建的库,它在Android和桌面平台之间公开了一个相同的OpenGL ES API[1],我正在修复iOS和Android版本之间的差异

您可以在中跟踪OpenTK的开发



[1] 您可以使用或和扩展在桌面上执行OpenGL ES代码。这使得OpenGL ES成为第一个跨所有主要平台(Windows、Linux、Mac、Android、iOS,希望将来也能跨WinPhone)工作的图形API。

谢谢!你计划什么时候开放你的OpenGL库吗?当我需要为iOS和Android重写内容时,使用本机API不是更快吗?OpenTK是开源的,源代码可以在中找到。Xamarin在OpenTK 0.9.9.3的基础上开发了一个封闭源代码的fork,该fork现在已在年开放源代码。我正在积极努力合并这两个版本,并将在代码准备好后立即将其推送到opentk/opentk。我不确定“本机API”是什么意思,opentk直接公开本机API。据了解,iOS和Android在mono/opentk中的API差异源于使用不同的C OpenGL ES头(分别为Android和Apple版本)。opentk/opentk直接使用Khronos注册表,因此它不会受到此问题的影响。合并mono/opentk和opentk/opentk的困难在于确保现有的应用程序不会中断。@TheFiddler:你知道repo中的iOS/Android代码在哪里吗?我下载了源代码树,但在任何地方都找不到它…@PandaPajama:integrated版本可以在上找到(Android和iOS都完成了,我们仍然缺少少量枚举以保持API兼容性。)Xamarin版本可以在上找到,谢谢!你计划什么时候开放你的OpenGL库吗?正如我所需要的