OpenGL绘制复杂图形
#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
OpenGL绘制复杂图形相关推荐
- 计算机图形学:实验二——OpenGL绘制基本图形
1. 实验目的 练习OpenGL基础编程,实现OpenGL的颜色混合和渐变效果. 2. 实验内容和要求 按要求完成以下两个绘图,提交纸质实验报告,同时提交实验报告和代码的电子版. I). 利用Open ...
- Android开发笔记(一百五十三)OpenGL绘制三维图形的流程
从这篇文章开始,接下来会连载一系列的OpenGL相关博文,好好探讨如何在Android中进行OpenGL开发. OpenGL的全称是"Open Graphics Library", ...
- android绘制过程3d图形,Android开发之OpenGL绘制三维图形的流程
从这篇文章开始,接下来会连载一系列的OpenGL相关博文,好好探讨如何在Android中进行OpenGL开发. OpenGL的全称是"Open Graphics Library", ...
- OSG使用OpenGL(以及glad库)绘制自定义图形
简单记录一下在OSG中使用OpenGL函数(以及glad库)绘制自定义图形. 源码: #include <osgViewer/viewer> #include <osg/Geode& ...
- QT5 OpenGL (四, 绘制立体图形)
概要 效果图 主要代码 代码解析 概要 前面几篇博客,已经从基本的绘图, 上色到旋转都已经讲完了, 但它们都只是限于平面图形,而对于立体图形并没有讲到. 本篇主要来讲opengl绘制立体图形. 我们在 ...
- Android openGl开发详解(一)——绘制简单图形
1. What? openGl是什么?openGl ES又是什么? 2. How? Android中的openGL 如何使用? 3. GlSurfaceView是什么? GLSurfaceView的作 ...
- 【OpenGL】九、OpenGL 绘制基础 ( OpenGL 状态机概念 | OpenGL 矩阵概念 )
文章目录 一.OpenGL 状态机概念 二.OpenGL 矩阵概念 上一篇博客 [OpenGL]八.初始化 OpenGL 渲染环境 ( 导入 OpenGL 头文件 | 链接 OpenGL 库 | 将窗 ...
- Android官方开发文档Training系列课程中文版:OpenGL绘图之图形绘制
原文地址:http://android.xsoftlab.net/training/graphics/opengl/draw.html 如果你还不清楚如何定义图形及坐标系统,请移步:Android官方 ...
- OpenGL 实验一 绘制简单图形
OpenGL实验一 OpenGL简介: (英语:Open Graphics Library,译名:开放图形库或者"开放式图形库")是用于渲染2D.3D矢量图形的跨语言.跨平台的应用 ...
最新文章
- 7月平均工资下来,Java程序员哭笑不得!
- fabric-smaple部署
- 白领职场必懂的22条潜规则(转载)
- 360浏览器linux版本_360安全浏览器崩溃解决方案
- hazelcast入门教程_Hazelcast入门指南第5部分
- 昌吉学院2017年计算机招生,昌吉学院
- 重磅!微软在 GitHub 又一开源力作面世,代号「女娲」!
- java基数排序_Java实现基数排序
- DS1302驱动代码
- javaWeb+servlet+mysql实现简单的企业员工管理系统
- html5在线点餐系统源码,Web点餐系统(前端开发)
- 回溯 + 剪枝 无重复元素的数组 candidates 和一个目标数 target 数字可以无限制重复被选取
- linux 下载文件
- nvme分区选mbr还是guid_怎么分辨硬盘是GUID格式还是MBR格式以及怎样更改
- 自用 Java 学习(JDBC)
- pikachu暴力破解
- (LI论文)LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping
- Java编程基础(入门)
- 学习笔记:EXCEL制作动态考勤表
- 风控模型评估指标:KS、ROC、AUC、PSI代码逻辑