OPENGL—中点Bresenham画直线
来源:互联网 发布:网络咨询医生话术 编辑:程序博客网 时间:2024/06/08 03:20
//中点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 MidBresenhamLine(int x0,int y0,int x1,int y1){int dx,dy,d,UpIncre,DownIncre,x,y;if(x0>x1){x=x1;x1=x0;x0=x;y=y1;y1=y0;y0=y;}x=x0;y=y0;dx=x1-x0;dy=y1-y0;d=dx-2*dy;UpIncre=2*dx-2*dy;DownIncre=-2*dy;while(x<=x1){putpixel(x,y);x++;if(d<0){y++;d+=UpIncre;}elsed+=DownIncre;}}void display() { glClear(GL_COLOR_BUFFER_BIT); MidBresenhamLine(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; }运行结果:
阅读全文
0 0
- OPENGL—中点Bresenham画直线
- OpenGl中点Bresenham算法画直线
- openGL— 中点Bresenham画圆
- OPENGL—改进Bresenham画直线
- openGL—中点Bresenham椭圆算法
- OpenGl改进Bresenham算法画直线
- opengl Bresenham直线算法
- OpenGL应用——实现中点Bresenham算法
- 直线生成(DDA、中点、Bresenham)算法
- 中点Bresenham算法画圆
- 中点Bresenham算法光栅化画直线(个人总结精简版)代码超短!速度极快!
- bresenham直线,画圆算法(附OpenGL代码)
- OpenGL中点算法和DDA算法画直线
- OpenGL 利用中点算法画y=kx+b直线
- Bresenham画直线
- bresenham 画直线算法
- bresenham画直线
- Bresenham 画直线算法
- js中的自增和自减
- 后缀数组总结
- 自定义View之圆形水波扩散动效
- iOS UI学习之路06
- 1 springboot整合elasticsearch入门例子
- OPENGL—中点Bresenham画直线
- MySQL主从复制(七)
- 快速排序
- kotlin汇总8-其他1
- vs2015使用外部工具改变行尾CRLF->LF
- gp5.0.0源码安装部署3节点
- Maven_Spring_Mybatis 实例
- http://blog.csdn.net/lmj623565791/article/details/72667669
- 基于Spark Mllib,SparkSQL的电影推荐系统