在OpenGL中搜索坐标并更改三角形颜色

时间:2014-11-26 18:41:40

标签: c++ opengl

我正在使用C ++中的OpenGL进行Delaunay三角测量。我已经设置了网格现在我正在寻找一种方法来在找到它的坐标(x,y)之后改变三角形的颜色,我已经知道如何搜索(x,y)但是如何改变找到它后三角形的颜色就是我被困住的地方。

    glColor3f(1.0, 0.5, 0.5);
    list<Tri*>::iterator iter;
    Tri* triangle;
    int v1, v2, v3;
    glBegin(GL_TRIANGLES);
    for(iter = triangles.begin(); iter != triangles.end(); iter++)
    {
      triangle = *iter;
      v1 = triangle->v[0];  v2 = triangle->v[1];  v3 = triangle->v[2];
      // the part where i want to change the color:
      if(x[v1] == 1.06 && y[v1] == 7.28) {
        glColor3f(1.0f, 0.0f, 0.0f); // Red
      } else {
        glColor3f(0.0f, 1.0f, 0.0f); // Green
      }

      glVertex2f(x[v1], y[v1]);
      glVertex2f(x[v2], y[v2]);
      glVertex2f(x[v3], y[v3]);  
    }
    glEnd();

执行完毕后,所有三角形均为绿色,表示没有找到两个点!!

0 个答案:

没有答案