資源簡介
泛濫填充(種子填充)算法OpenGl glut實現

代碼片段和文件信息
#include?
#include?
#include??
#include????
typedef??float?Color[3];
int?total=0;
void?init?(void)
{
glClearColor?(0.0f?0.0f?0.0f?0.0f);
glMatrixMode?(GL_PROJECTION);
gluOrtho2D?(0.0?400.0?0.0?400.0);
}
void?getPixel(GLint?x?GLint?y?Color?c)
{
glReadPixels(xy11GL_RGBGL_FLOATc);
}
void?setPixel(GLint?xGLint?y)
{
????glBegin(GL_POINTS);
??glVertex2i(x?y);
glEnd();
Sleep(1);
total++;
// cout< }
bool?rgbColorEqual(Color?aColor?b)
{
if?(abs(a[0]-b[0])<0.0001?&&?abs(a[1]-b[1])<0.0001??&&?abs(a[2]-b[2])<0.0001?)
return?true;
else
return?false;
}
void?floodFill4?(int?x?int?y?Color?fillColor?Color?interiorColor)
{
Color?color;
/*?Set?current?color?to?fillColor?then?perform?following?operations.?*/
getPixel?(x?y?color);
// cout< if?(?rgbColorEqual(colorinteriorColor)?)?{
setPixel?(x?y);????//?Set?color?of?pixel?to?fillColor.
floodFill4?(x?+?1?y?fillColor?interiorColor);
floodFill4?(x?-?1?y?fillColor?interiorColor);
floodFill4?(x?y?+?1?fillColor?interiorColor);
floodFill4?(x?y?-?1?fillColor?interiorColor);
}
}
void?myDraw?(void)
{???Color?fillColor={0.0f0.0f1.0f}interiorColor={1.0f0.0f0.0f};
????glClear(GL_COLOR_BUFFER_BIT);
glColor3fv(interiorColor);
glLineWidth(3.0);
glBegin(GL_POLYGON);
???????glVertex2i(1010);
???glVertex2i(70100);
???glVertex2i(20080);
glEnd();
glColor3fv(fillColor);
????
glColor3f(0.0f0.0f1.0f);
????floodFill4(4040fillColorinteriorColor);
???glFlush();?
}
void?main?(int?argc?char**?argv)
{
????glutInit?(&argc?argv);
????glutInitDisplayMode?(GLUT_SINGLE?|?GLUT_RGB);
????glutInitWindowPosition?(100?100);
????glutInitWindowSize?(400?400);
????glutCreateWindow?(“泛濫(種子)填充“);
????init?(?);
????glutDisplayFunc?(myDraw);
????glutMainLoop?(?);
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????..A..H.??????6656??2009-04-02?14:30??floodFill4\boundaryFill4.suo
?????文件??????45056??2009-04-13?10:01??floodFill4\floodFill4.exe
?????文件???????1999??2009-04-21?11:36??floodFill4\floodFill4.cpp
?????目錄??????????0??2009-04-06?21:46??floodFill4
-----------?---------??----------?-----??----
????????????????53711????????????????????4
- 上一篇:矩陣相乘的FOX并行實現
- 下一篇:通用掃描線填充算法OpenGL glut實現
評論
共有 條評論