实验3OpenGL基本图元绘制.doc
《实验3OpenGL基本图元绘制.doc》由会员分享,可在线阅读,更多相关《实验3OpenGL基本图元绘制.doc(11页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、实验3、OpenGL基本图元绘制系别:计算机学院 专业班级:10信科2班姓名: 学号:实验日期:2019-5-10 实验报告日期:2019-5-10一、 实验目的1熟悉VC6.0开发平台;2熟悉OpenGL开发库;二、 实验内容:1. 在同一个窗口内绘制以下图元: 用不同颜色绘制大小从1到5的5个点; 用不同颜色绘制宽度为1、3、5的三条直线段; 绘制一条包含5个顶点的折线段; 绘制一个三角形,三个顶点颜色各不相同,三角形内部用平滑方式进行填充; 绘制一个六边形;2. ,不使用反混淆绘制宽度为5的直线;启用反混淆后在不同位置绘制相同的直线,比较两者异同。 三、 一个OpenGL实例1.程序中有
2、关画图的代码:void DrawGLScene(GLvoid)/ 此函数完成图形绘制glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);/ 清除颜色缓冲区和深度缓冲区glLoadIdentity();/ 重置当前模型视图矩阵glTranslatef(-1.5f,0.0f,0.0f);/ 向左平移50个单位glBegin(GL_TRIANGLES);/ 绘制三角形glColor3f(1.0f,0.0f,0.0f);/画笔设置为红色glVertex3f( 0.0f, 1.0f, 0.0f);glColor3f(0.0f,1.0f,0.0f);/ 设
3、置为绿色glVertex3f(-1.0f,-1.0f, 0.0f);glColor3f(0.0f,0.0f,1.0f);/设置为蓝色glVertex3f( 1.0f,-1.0f, 0.0f);glEnd();/ 完成三角形的绘制glTranslatef(3.0f,0.0f,0.0f);/ 向右平移3个单位glColor3f(0.0f,1.0f,1.0f);/ 设为青色glBegin(GL_QUADS);/ 画四边形glVertex3f(-1.0f, 1.0f, 0.0f);glVertex3f( 1.0f, 1.0f, 0.0f);glVertex3f( 1.0f,-1.0f, 0.0f);g
4、lVertex3f(-1.0f,-1.0f, 0.0f);/glEnd();/完成四边形绘制glFlush();四、 实验报告内容1程序源码;2对主要画图函数的说明(函数的功能,参数等)。/ 图形.cpp : Defines the entry point for the console application.#include #include #include #include #define MAX 106;/如果需要记录鼠标点的位置,就定义全局变量来保存struct Point int x, y;Point pt2;int pointNum=0;/标记点号,0表示线段起点,1表示线段中
5、点void MyDrawGLScene()/ 此函数完成图形绘制int i;float pSizes5=1.0f,2.0f,3.0f,4.0f,5.0f; /设定五个点的大小float lWidth5=1.0f,2.0f,3.0f,4.0f,5.0f; /设定五条直线的宽度glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);/ 清除颜色缓冲区和深度缓冲区glLoadIdentity();/ 重置当前模型视图矩阵glTranslatef(-1.8f,-0.1f,0.0f);/ 向左平移50个单位/ 绘制五个大小不同的的点glEnable(GL_P
6、OINT_SMOOTH); /开启反混淆for( i=0;i5;i+)/ 绘制五个大小不同的的点glPointSize(pSizesi);glTranslatef(0.1f,-0.0f,0.0f);/ 向右平移50个单位 glBegin(GL_POINTS); glColor3f(1.0f,0.0f,0.0f);/画笔设置为红色 glVertex2f(1.0f,1.0f); glEnd();/绘制五条不同宽度的直线glTranslatef(-0.5f,-0.1f,0.0f);/ 向左平移50个单位 for(i=0;i5;i+) /绘制五条不同宽度的直线 glTranslatef(0.0f,-0
7、.1f,0.0f); glLineWidth(lWidthi); /设定直线的宽度glBegin(GL_LINES); glColor3f(0.0f,1.0f,0.0f);/画笔设置为绿色 glVertex2f(1.0f,1.0f);glVertex2f(2.0f,1.0f);glEnd();/画五个定点的折线glTranslatef(0.0f,-0.2f,0.0f);/ 向左平移50个单位glColor3f(0.0f,0.0f,1.0f);/画笔设置为蓝色 glLineWidth(3.0f); /设定直线的宽度glBegin(GL_LINE_STRIP); /画五个定点的折线 glVerte
8、x2f(1.0f,1.0f); glVertex2f(1.2f,1.1f);glVertex2f(1.4f,1.0f);glVertex2f(1.6f,1.1f);glVertex2f(1.8f,1.0f);glEnd(); / 绘制三角形glTranslatef(1.5f,0.7f,0.0f);/ 向左平移50个单位glPolygonMode(GL_FRONT_AND_BACK,GL_FILL); /选择三角形的光栅化模式为多边形内部被填充,选用参数GL_FILLglEnable(GL_POLYGON_STIPPLE); /平滑填充三角形glBegin(GL_TRIANGLES);glCol
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 OpenGL 基本 绘制
限制150内