繁体   English   中英

OpenGL到OpenGL-ES - glRectf()

[英]OpenGL to OpenGL-ES - glRectf()

我正在尝试使用“超级圣经”在iPhone上学习OpenGL,但是从OpenGL移植到OpenGL ES时遇到了麻烦。 我的理解是glRectf()函数在后者中不可用。 什么是替代方法? 任何相关的概念信息也将受到赞赏。

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

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上的GL-ES不支持立即模式。 您需要在数组中定义所有顶点,并使用其中一个顶点数组渲染函数来绘制它们,而不是使用立即模式函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM