(OpenGL iOS)在X和Y坐标中移动时,原始形状(2D)失真(GL_TRIANGLE_STRIP)



当我通过x和y坐标移动基元时,我得到了这个奇怪的扭曲基元形状(而不是正方形)。

以下是快照:http://img535.imageshack.us/img535/9046/screenshot20120126at122.png

我使用正交投影,因为我想在2D中渲染。

这是渲染代码:

//vertex definition
static GLfloat qdt[] = {
    30.0f, 60.0f, -0.03f,
    30.0f, 30.0f, -0.03f,
    60.0f, 60.0f, -0.03f,
    60.0f, 30.0f, -0.03f
};
//clear buffers
glClear(GL_COLOR_BUFFER_BIT);// also tried using GL_DEPTH_BUFFER_BIT
//load matrices
glLoadIdentity();
//drawing
glVertexPointer(3, GL_FLOAT, 0, &qdt[0]);
glColor4f(1.0f, 0.0f, 0.0f, 1.0f);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 12);
//swap buffers
[glContext presentRenderbuffer:GL_RENDERBUFFER_OES];

我也禁用了深度缓冲区。如果有人指出造成这种扭曲的错误,那就太好了。提前谢谢。

将12替换为4,因为您绘制了4个顶点:

glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);

最新更新