iphone - OpenGL 到 OpenGL-ES - glRectf()

标签 iphone opengl opengl-es

我正在尝试使用 "Super Bible" 在 iPhone 上学习 OpenGL但从 OpenGL 移植到 OpenGL ES 时遇到问题。我的理解是<a href="http://www.opengl.org/sdk/docs/man/xhtml/glRect.xml" rel="noreferrer noopener nofollow">glRectf()</a>后者不具备该功能。替代方法是什么?任何相关的概念信息也将不胜感激。

最佳答案

替代方法是绘制三角形带:

GLfloat texture[] =
{
    0, 0,
    0, 1,
    1, 0,
    1, 1
};

GLfloat model[] =
{
    0, 0, // lower left
    0, h, // upper left
    w, 0, // lower right
    w, h  // upper right
};

glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);

glVertexPointer(2, GL_FLOAT, 0, model);
glTexCoordPointer(2, GL_FLOAT, 0, texture);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);

这会绘制一个宽度为 w 和高度为 h 的纹理矩形。

关于iphone - OpenGL 到 OpenGL-ES - glRectf(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/825219/

相关文章:

c++ - openGL - 使用 gluLookAt 在对象上方和下方旋转

android - 纹理小部件渲染 OpenGL 示例

java - 屏幕左侧 glTranslatef

ios - 为什么我在 Swift 4 中解析 JSON 后得到一个空白的 UITableView?

ios - 3 警告 AppIcon

c++ - OpenGL 阴影故障

iOS OpenGL ES - 模拟器和设备上的不同纹理行为

iphone - UIWebView(DataDetectorsCore)仅在模拟器中崩溃

ios - 如何更新uitableviewcell中的约束动画

c - glOrtho(-1, 1, -1, 1, -1, 1) 完成了什么?