资源简介
泛滥填充(种子填充)算法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实现
相关资源
- OpenGL参考手册
- Qt Creator opengl实现四元数鼠标控制轨迹
- OpenGL文档,api大全,可直接查询函数
- opengl轮廓字体源代码
- MFC读三维模型obj文件
- 利用OpenGL写毛笔字算法
- MFC中OpenGL面和体的绘制以及动画效果
- 基于OPENGL的光线跟踪源代码368758
- VC 实现三维旋转(源码)
- 自编用openGL实现3D分形树,分形山
- OpenGL球形贴图自旋程序
- OpenGL导入贴图的Texture类
- 计算机图形学(openGL)代码
- 用OpenGL开发的机械臂运动仿真程序(
- OpenGL-3D坦克模拟
- OPENGL实现世界上最小的3D游戏
- VS2012OpenGL配置所需要的全部libdllh文件
- 基于OpenGL的仿蝗虫机器人三维动态仿
- 图形学 - OpenGL实现3种三维茶壶显示源
- opengl程序-会跳舞的骷髅
- opengl实现三维网格光顺Laplacian算法
- opengl——爆炸
- OpenGL三维地形建模
- opengl游戏编程徐明亮版(含源码)
- 用OPENGL画的一个简单的直升飞机
- opengl完美天空盒
- 3D绘图程序设计:使用Direct3D 10/9和Ope
- OpenGL绘制可运动自行车源程序.zip
- OpenGL实现飘动效果
- opengl室内场景的绘制,包括碰撞检测
评论
共有 条评论