OpenGLES 1.1和2.0,支持两者

时间:2010-01-13 11:56:22

标签: iphone cocoa-touch opengl-es

我有2个独立的渲染器,一个用于1.1,另一个用于2.2

我有一堆Item来保存图像信息和由我正在使用的任何渲染器生成的纹理句柄。

Items只是愚蠢的对象,我不想在其中引入任何OpenGL特定功能。问题是,我需要将纹理句柄存储在某处。我想将它存储在每个Item中,但句柄的类型为GLuint

如果我使用GLuint,则意味着包括来自ES1 /或ES2 /的gl.h。现在它们都是无符号整数的typedef ...可以使用unsigned int吗?这似乎是不好的做法...例如,如果OpenGL 3.0问世并且GLuint完全不同,那么Item就会被打破。

有什么想法吗?

感谢阅读。

1 个答案:

答案 0 :(得分:1)

OpenGL的后续版本是其先前版本的超集。 OpenGL特定类型旨在隐藏底层系统,但在不同版本之间保持一致。例如,如果您将 int 作为16位,则可以将GLuint定义为 unsigned long

因此我会说:用最小的公分(ES1.1)去。

相关问题