Java 在android和PC应用程序之间共享库

Java 在android和PC应用程序之间共享库,java,android,opengl,opengl-es,Java,Android,Opengl,Opengl Es,我正在尝试为android设计一个侧边滚动器,为windows设计一个级别编辑器。两个程序之间的许多代码是相同的。我目前正在做的是绘制纹理 我目前拥有的是一个库,其中包含与加载和绘制纹理信息相关的代码。我一直坚持的一点是,如何将OpenGL(适用于windows)和OpenGL ES(适用于android)合并到库中 我曾想过拥有一个包含所有绘图函数的接口,然后在每个程序中分别实现该接口(因为一个程序将使用OpenGL和一个OpenGL ES),但这仍然会产生大量重复代码(这有点违背了创建此共享

我正在尝试为android设计一个侧边滚动器,为windows设计一个级别编辑器。两个程序之间的许多代码是相同的。我目前正在做的是绘制纹理

我目前拥有的是一个库,其中包含与加载和绘制纹理信息相关的代码。我一直坚持的一点是,如何将OpenGL(适用于windows)和OpenGL ES(适用于android)合并到库中

我曾想过拥有一个包含所有绘图函数的接口,然后在每个程序中分别实现该接口(因为一个程序将使用OpenGL和一个OpenGL ES),但这仍然会产生大量重复代码(这有点违背了创建此共享库的目的)

有没有更好的方法来解决这个问题?我是不是想让它变得太灵活而把事情复杂化了?我已经考虑了几个星期四了,所以任何意见都将不胜感激


如果有什么不合理的地方,请询问

OpenGL和OpenGL ES非常相似,您可以共享大量代码库。由于您可能会以OpenGL-ES-2为目标,因此您可能会在桌面上使用OpenGL-3。OpenGL-3与OpenGL-ES-2有很多相似之处。因此,我建议您主要为OpenGL-ES-2开发代码,然后仅为OpenGL-3的细微差异添加替代代码路径。

OpenGL和OpenGL ES非常相似,您可以共享大量代码库。由于您可能会以OpenGL-ES-2为目标,因此您可能会在桌面上使用OpenGL-3。OpenGL-3与OpenGL-ES-2有很多相似之处。因此,我建议您主要为OpenGL-ES-2开发代码,然后仅为OpenGL-3的微小差异添加替代代码路径