开发者

Why is my arrow drawing the wrong way?

开发者 https://www.devze.com 2023-03-07 18:06 出处:网络
I have this code to draw an 开发者_如何学Pythonarrow: const GLfloat vertices[] = { -0.25f,-0.25f,

I have this code to draw an 开发者_如何学Pythonarrow:

  const GLfloat vertices[] = {
    -0.25f,  -0.25f,
      0.0f,    0.0f,
      0.25f, -0.25f,
      0.0f,    0.5f,
  };
  glVertexPointer(2, GL_FLOAT, 0, vertices);
  glEnableClientState(GL_VERTEX_ARRAY);
  glColor4f(0.0f, 0.5f, 0.0f, 1.0f);

  glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);

It should draw similar to this:

Why is my arrow drawing the wrong way?

This is the actual result (which is undesired):

Why is my arrow drawing the wrong way?

I don't see what I have done wrong, the vertices seem correct to me, but it seems like OpenGL draws the polygon in a different order than I specified. Can anyone help me out? Thanks in advance. :)


Your triangle strip takes the lower three points first (i.e. the lower part of your green arrow) and then the right three points. Just change the order of points in your definition:

const GLfloat vertices[] = {
  -0.25f,  -0.25f,
  0.0f,    0.0f,
  0.0f,    0.5f,
  0.25f, -0.25f,
};
0

精彩评论

暂无评论...
验证码 换一张
取 消