代码之家  ›  专栏  ›  技术社区  ›  IanNorton

如果我只使用OpenGLES1.x调用构建和链接OpenGL应用程序,它还能工作吗?

  •  2
  • IanNorton  · 技术社区  · 16 年前

    我正在编写一个OpenGL游戏,希望它能同时适用于linux和iphoneOS,我基本上希望能够使用OpenGL ES 1.5头文件进行构建,并在我的linux桌面上运行它。我能做这个吗?IE,我只想使用OpenGL和OpenGL ES之间常见的API调用子集。

    执行上述操作并从我的系统中链接到正常的libGL.a可以让我获得屏幕,但除了更改场景背景颜色之外,我似乎什么也做不了。

    2 回复  |  直到 16 年前
        1
  •  2
  •   Nils Pipenbrinck    16 年前

    有许多OpenGL | ES扩展在标准OpenGL上不可用,但在低规格平台上很好。glDrawTexImage就是这样一个扩展。不过,用一手的桌面OpenGL调用来模拟这些扩展并不是什么大事。

    哦,请注意OpenGL | ES并没有随glu库一起提供。你可以在桌面上使用它,但是如果你这样做了,你以后必须重新实现它们(参见关于gluLookAt和gluUnproject的100个问题)。

        2
  •  1
  •   Bahbar    16 年前

    还有,你怎么能买到窗户?这是特定于平台的。

    在任何情况下,您仍然应该根据与要链接的库相对应的头进行编译。您不确定标头设置了什么(例如,在windows上,您不关心它,但仍然在其中指定了调用约定)。

    还有一些调用在2之间没有很好地映射。例如,仅在GL中使用双精度的API在GLE中是浮动的(来自ES规范):

    双精度仅适用于命令 替换为单精度或 定点变量