我写了这个函数来填充闭环,pixvali是全局声明的,用于存储第一次点击将完成的像素的颜色值(闭环内)。为什么堆栈在这段代码中溢出?
但问题是,当它的第一个*填充(..,..)*渡过这个递归并不终止,并说栈溢出...
void fill(int x,int y)
{
GLfloat pixval[3];
glReadPixels(x,y,1,1,GL_RGB,GL_FLOAT,pixval);
if(pixval[0]==pixvali[0] && pixval[1]==pixvali[1] && pixval[2]== pixvali[2])
{
glBegin(GL_POINTS);
glVertex2i(x,y);
glEnd();
glFlush();
fill(x-1,y);
fill(x+1,y);
fill(x,y-1);
fill(x,y+1);
}
}
并将语言添加到标签。它可能看起来像C,但有相当多的语言看起来像C :) – extraneon 2009-05-24 12:16:29
是设置在任何地方的像素值? – Dario 2009-05-24 12:19:04
我的水晶球告诉我'pixvali'是应该充满水的颜色。 – 2009-05-24 12:22:48