OPENGL—DDA画直线
来源:互联网 发布:office 2017 mac 破解 编辑:程序博客网 时间:2024/06/10 20:29
// DDA画直线#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 DDALine(int x0,int y0,int x1,int y1){int dx,dy,epsl,k;float x,y,xIncre,yIncre;dx=x1-x0;dy=y1-y0;x=x0;y=y0;if(abs(dx)>abs(dy))epsl=abs(dx);elseepsl=abs(dy);xIncre=(float)dx/(float)epsl;yIncre=(float)dy/(float)epsl;for(k=0;k<=epsl;k++){putpixel(int(x+0.5),(int)(y+0.5));x+=xIncre;y+=yIncre;}}void display() { glClear(GL_COLOR_BUFFER_BIT); DDALine(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("DDA画直线"); glutDisplayFunc(display); init(); glutMainLoop(); return 0; }
运行结果:
阅读全文
0 0
- OPENGL—DDA画直线
- OpenGl中DDA算法画直线
- OpenGL中点算法和DDA算法画直线
- DDA算法画直线
- DDA画直线算法
- 【OpenGL】直线生成算法DDA+Bresenham
- opengl DDA直线算法的实现
- 图形学算法--DDA画直线
- 直线的DDA算法的C实现(opengl实现)
- OpenGL——DDA算法
- DDA算法画直线(VC++)
- java画直线算法 DDA 计算机图形学
- 计算机图形学—DDA直线生成算法
- DDA直线算法
- dda直线绘制算法
- 直线生成算法---DDA
- DDA作直线
- DDA直线算法
- CSS3——pointer-events
- Android实战技巧之四十:Android5.1.1源代码编译与烧写
- epoll函数分析
- POJ1845 Sumdiv【快速模幂+素因子分解+等比数列+二分法】
- RIP动态路由配置
- OPENGL—DDA画直线
- 计算机的主要构成和工作步骤
- iOS UI学习之路05
- 96. Unique Binary Search Trees
- Python中sort和sorted快排
- 在tomcat中设置JDK,一个电脑上装两个JDK
- 开始我的第一个游戏引擎制作
- 微服务架构的基础框架选择:Spring Cloud还是Dubbo?
- 编辑界面重新加载数据,刷新列表界面