我正在尝试为Android设计一个侧卷轴,为Windows设计一个关卡编辑器。两个程序之间的很多代码都是一样的。我目前正在处理的是绘制纹理。
我目前拥有的是一个库,其中包含与加载和绘制纹理信息相关的代码。我坚持的一点是如何将OpenGL(用于Windows)和OpenGL ES(用于android)合并到库中?
我想过拥有一个包含所有绘图函数的接口,然后在每个程序中单独实现该接口(因为一个将使用OpenGL和一个OpenGL ES)但是仍然会产生大量重复的代码(并且有点挫败了目的试图创建这个共享库。)
有没有更好的方法来解决这个问题?我试图让它变得过于灵活,我是否过于复杂?我现在已经考虑了几天,所以任何意见都会非常感激!
请问是否有任何意义!
答案 0 :(得分:1)
OpenGL和OpenGL-ES足够相似,可以共享大量的代码库。由于您可能会定位OpenGL-ES-2,因此您可能会在桌面上使用OpenGL-3。 OpenGL-3有很多OpenGL-ES-2。因此,我建议您主要为OpenGL-ES-2开发代码,然后仅针对OpenGL-3的小差异添加替代代码路径。