Opengl 在“使用GLUT使用一系列矩形呈现表”中显示不正确

Opengl 在“使用GLUT使用一系列矩形呈现表”中显示不正确,opengl,rendering,glut,Opengl,Rendering,Glut,我有一个简单的程序,可以使用glut使用一系列矩形渲染一个表。但是它并没有像我期望的那样显示。有人能告诉我哪里出了问题吗?。定义s0.15 void image() { if (r==0) glColor3f(0.6, 0.6, 0.6); else if (log2(r) >=8) glColor3f(log2(r) + 2, log2(r) + 2, log2(r) + 2); else glColor3f(log2(r), log2(r), log2(r)); con

我有一个简单的程序,可以使用glut使用一系列矩形渲染一个表。但是它并没有像我期望的那样显示。有人能告诉我哪里出了问题吗?。定义s0.15

void image() {
  if (r==0) glColor3f(0.6, 0.6, 0.6);
  else if (log2(r) >=8) glColor3f(log2(r) + 2, log2(r) + 2, log2(r) + 2);
  else glColor3f(log2(r), log2(r), log2(r));
  convert(r);
  glVertex3f(x, y, 0);
  glVertex3f(x, y - s-0.1, 0);
  glVertex3f(x + s, y - s-0.1, 0);
  glVertex3f(x + s, y, 0);
}
void render() {
  glClearColor(0.3, 0.2, 0.3, 1);
  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
  glBegin(GL_POLYGON);
  y=0.9;
  glLoadIdentity();
  for (i=0;
  i<n;
  i++, y -=s + 0.2) {
    x=-0.95;
    for (j=0;
    j < n;
    j++, x +=s + 0.07) {
      r=a[i][j];
      image();
    }
  }
  glEnd();
  glutSwapBuffers();
}

您尝试绘制一个多边形。如果你想要四边形,你应该使用glBeginGL_四边形;你忘了在glLoadIdentify之前调用GLMatrixModelGL_MODELVIEW。非常感谢@j-p..它工作了…你是对的…非常感谢…上帝保佑你…@karlphillip GL_MODELVIEW是矩阵模式的默认设置。所以没有必要设置它,除非它以前被设置为其他值。@RetoKoradi我理解,但考虑到这不是一个完整的最小工作示例,我不愿意假设它。