OPENGL—改进Bresenham画直线
2017-06-01 18:14
585 查看
// 改进Bresenham画直线 #include "stdafx.h" #include <gl/glut.h> #include <cmath> void init(void) { glClearColor(1.0,1.0,1.0,1.0); //设置背景颜色为白色 glMatrixMode(GL_PROJECTION); //对投影相关进行操作 gluOrtho2D(0.0, 30.0, 0.0, 30.0); } void putpixel(int x, int y) { glColor3f(1.0, 0.0, 0.0); glPointSize(2.0f); glBegin(GL_POINTS); glVertex2f(15+x, 15+y); glEnd(); glFlush(); } void BresenhamLine(int x0,int y0,int x1,int y1) { int dx,dy,e,x,y; dx=x1-x0; dy=y1-y0; e=-dx; x=x0; y=y0; while(x<=x1) { putpixel(x,y); x++; e=e+2*dy; if(e>0) { y++; e=e-2*dx; } } } void display() { glClear(GL_COLOR_BUFFER_BIT); BresenhamLine(0,0,8,6); } int main(int argc,char** argv) { glutInit(&argc,argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(400,400); glutInitWindowPosition(0,0); glutCreateWindow("改进Bresenham画直线"); glutDisplayFunc(display); init(); glutMainLoop(); return 0; }运行结果:
相关文章推荐
- Bresenham改进算法结合wu反走样算法画直线
- openGL-中点Bresenham绘制直线算法
- bresenham直线,画圆算法(附OpenGL代码)
- 【OpenGL】直线生成算法DDA+Bresenham
- 【图形学】直线扫描算法之---bresenham改进算法(任何斜率,任何方向)
- OpenGl改进Bresenham算法画直线
- Bresenham改进算法结合wu反走样算法画颜色渐变直线
- [OpenGL]图元的绘制——空间点/直线;图元整理
- 直线栅格化(基于 Bresenham 算法)
- Mac下OpenGL实现直线算法-OpenGL教程(2)
- bresenham画直线
- [计算机图形学] 基于C#窗口的Bresenham直线扫描算法、种子填充法、扫描线填充法模拟软件设计(一)
- 图形学算法--Bresenham画直线
- MFC 动态的Bresenham直线画法 最详细的讲解,,,
- 直线生成算法的实现:分别利用DDA算法、中点Bresenham算法和改进的Bresenham算法扫描转换直线段P1P2
- OpenGL直线剪裁
- 直线算法(Bresenham)
- Bresenham 直线算法
- [LIBGDX学习]LibGDX代码详解(二十四)Bresenham快速画直线算法
- Bresenham快速画直线算法