实验3 OpenGL基本图元绘制.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验3 OpenGL基本图元绘制

实验3、OpenGL基本图元绘制 系别:计算机学院 专业班级:10信科2班 姓名: 学号: 实验日期:2013-5-10 实验报告日期:2013-5-10 实验目的 1熟悉VC6.0开发平台; 2熟悉OpenGL开发库; 实验内容: 在同一个窗口内绘制以下图元: 用不同颜色绘制大小从1到5的5个点; 用不同颜色绘制宽度为1、3、5的三条直线段; 绘制一条包含5个顶点的折线段; 绘制一个三角形,三个顶点颜色各不相同,三角形内部用平滑方式进行填充; 绘制一个六边形; 2. ,不使用反混淆绘制宽度为5的直线;启用反混淆后在不同位置绘制相同的直线,比较两者异同。 一个OpenGL实例 1.程序中有关画图的代码: 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); // 设置为绿色 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); glVertex3f(-1.0f,-1.0f, 0.0f); / glEnd(); //完成四边形绘制 glFlush(); } 实验报告内容 1程序源码; 2对主要画图函数的说明(函数的功能,参数等)。 // 图形.cpp : Defines the entry point for the console application. // #include GL/glut.h #include stdio.h #include stdlib.h #include windows.h #define MAX 10^6; //如果需要记录鼠标点的位置,就定义全局变量来保存 struct Point {int x, y;}; Point pt[2]; int pointNum=0;//标记点号,0表示线段起点,1表示线段中点 void MyDrawGLScene() // 此函数完成图形绘制 { int i; float pSizes[5]={1.0f,2.0f,3.0f,4.0f,5.0f}; //设定五个点的大小 float lWidth[5]={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_POINT_SMOOTH); //开启反混淆 for( i=0;i5;i++){// 绘制五个大小不同的的点 glPointSize(pSizes[i]); glTranslatef(0.1f,-0.0f,0.0f); // 向右平移50个单位 glB

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档