我正在使用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();
执行完毕后,所有三角形均为绿色,表示没有找到两个点!!