OpenGL绘制复杂图形
2012-01-21 21:02
281 查看
#include <windows.h> // Windows的头文件 #include <gl\gl.h> // OpenGL32库的头文件 #include <gl\glu.h> // GLu32库的头文件 #include <gl\glaux.h> // GLaux库的头文件 #include <gl\glut.h> // Glut库头文件 #include <math.h> #include <iostream> #include <fstream> using namespace std; #pragma comment( lib, "opengl32.lib") // OpenGL32连接库 #pragma comment( lib, "glu32.lib") // GLu32连接库 #pragma comment( lib, "glaux.lib") // GLaux连接库 #pragma comment( lib, "glut.lib") // Glut链接库 int screenWidth=640; int screenHeight=480; void myInit() { glClearColor(1.0,1.0,1.0,0.0); //设置背景颜色为亮白 glColor3f(0.0f,0.0f,0.0f); //设置绘图颜色为黑色 glPointSize(4.0); //设置点的大小为4*4像素 glMatrixMode(GL_PROJECTION); //设置合适的矩阵 glLoadIdentity(); gluOrtho2D(0.0,screenWidth,0.0,screenHeight); } void drawLine(GLint x1,GLint y1,GLint x2,GLint y2) { glBegin(GL_LINES); glVertex2i(x1,y1); glVertex2i(x2,y2); glEnd(); } void myDisplay() { fstream inStream; inStream.open("dino.txt",ios::in); if(inStream.fail()) return; glClear(GL_COLOR_BUFFER_BIT); GLint numpolys,numLines,x,y; inStream>>numpolys; for(int j=0;j<numpolys;j++) { inStream>>numLines; glBegin(GL_LINE_STRIP); for(int i=0;i<numLines;i++) { inStream>>x>>y; glVertex2i(x,y); } glEnd(); } glFlush(); inStream.close(); } void main(int argc, char **argv) { glutInit(&argc,argv); //初始化工具包 glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);//设置显示模式 glutInitWindowSize(640,480); //设置窗口大小 glutInitWindowPosition(100,150); //设置窗口在屏幕上的位置 glutCreateWindow("my first attempt"); //打开屏幕窗口 //注册回调函数 glutDisplayFunc(myDisplay); myInit(); glutMainLoop(); //进入循环 }
数据在这里:http://web.cs.wpi.edu/~gogo/courses/cs4731/assignments/ass1/dino.dat
相关文章推荐
- Globe中是用OpenGL绘制图形实例
- OpenGL学习脚印: 基本图形绘制方式比较(glBegin,glCallList,glVertexPointer,VBO)
- 「OpenGL 1 」关于基本图形绘制
- OpenGL3D图形绘制
- 在qt中使用opengl绘制图形动画
- OpenGL简单图形绘制
- 第二个程序opengl绘制图形
- QT5 OpenGL (四, 绘制立体图形)
- OpenGL入门学习 课程 (三) 绘制几何图形的一些细节问题
- ODE调用OpenGL绘制图形的正反面
- OpenGL_Qt学习笔记之_02(绘制简单平面几何图形)
- opengl绘制3D图形
- OpenGL基本图形绘制方式比较(glBegin,glCallList,glVertexPointer,VBO)
- 直接在MFC的对话框上利用OpenGL绘制图形
- 通过屏幕鼠标绘制opengl三维场景图形
- OPENGL基本图形绘制
- OpenGL源代码之五绘制3D图形
- 每天一个OpenGL程序 第六篇 图形的组合绘制
- OpenGL下的VBO的图形绘制
- ODE调用OpenGL绘制图形的正反面