计算机图形学实验报告

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

//设置当前的绘图颜色为红
// glRectf(50.0f,100.0f,150.0f,50.0f); //绘制一个矩形
glPointSize(10);
//三个点
glBegin(GL_POINTS);
glColor3f(1.0f,0.0f,0.0f);
glVertex2i(2,148);
glVertex2i(100,75);
计算机图形学实验报告
姓名:___
__________
学号:_____
________
班级:______
_______
时间:_____2016年 12月_________
实验一 OpenGL 编程与图形绘制
1. 实验目的
了解 OpenGL 编程,并熟悉 OpenGL 的主要功能、绘制流程和基本语法。学会配置 OpenGL 环境,并在该环境中编程绘图。
Initial();
//完成窗口初始化
glutMainLoop();
//完成窗口 GLUT 事件处理循环
return 0;
}
运行结果:
3.2 直线的绘制:
#include<gl/glut.h>
void Initial(void)
{
glClearColor(1.0f,1.0f,1.0f,1.0f); //设置窗口背景颜色为白色
glutInitWindowSize(400,300);
//设置窗口的尺寸
glutInitWindowPosition(100,120);
//设置窗口位置
glutCreateWindow("矩形");
//创建一个名为矩形的窗口
glutDisplayFunc(Display);
//设置当前窗口的显示回调函数
2. 实验内容
OpenGL 的主要功能:模型绘制、模型观察、颜色模式、光照应用、图像效果增强、 位图和图像处理、纹理映射、实时动画和交互技术。
OpenGL 的绘制流程分为两个方面:一个完整的窗口系统的 OpenGL 图形处理系统的 结构为:最底层为图形硬件,第二层为操作系统,第三层为窗口系统,第四层为 OpenGL,最上面的层为应用软件;OpenGL 命令将被放在一个命令缓冲区中,这样命令缓 冲区中包含了大量的命令、顶点数据和纹理数据。当缓冲区被清空时,缓冲区中的命令和 数据都将传递给流水线的下一个阶段。
glMatrixMode(GL_PROJECTION);
//指定设置投影参数
gluOrtho2D(0.0,200.0,0.0,150.0); //设置投影参数
//设置当前的绘图颜色为红色
// glRectf(50.0f,100.0f,150.0f,50.0f); //绘制一个矩形
glBegin(GL_LINE_LOOP); //五角星
glVertex2i(10,10);
glVertex2i(30,35);
glVertex2i(50,10);
glVertex2i(5,25);
glMatrixMode(GL_PROJECTION);
பைடு நூலகம்
//指定设置投影参数
gluOrtho2D(0.0,200.0,0.0,150.0); //设置投影参数
}
void Display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
//用当前背景颜色填充窗口
glColor3f(1.0f,0.0f,0.0f);
OpenGL 的基本语法中相关库有:OpenGL 核心库:gl、OpenGL 实用程序库: glu、 OpenG 编程辅助库:aux、OpenGL 实用程序工具包(OpenGL utility toolkit,GLUT): glut、Windows 专用库:wgl。
OpenGL 的基本语法中命名规则为:OpenGL 函数都遵循一个命名约定,即采用以下格 式:<库前缀><根命令><可选的参数个数><可选的参数类型>。
Initial();
//完成窗口初始化
glutMainLoop();
//完成窗口 GLUT 事件处理循环
return 0;
}
运行结果:
3.3 多边形面的绘制:
#include<gl/glut.h>
void Initial(void)
{
glClearColor(1.0f,1.0f,1.0f,1.0f); //设置窗口背景颜色为白色
glutInitWindowSize(400,300);
//设置窗口的尺寸
glutInitWindowPosition(100,120);
//设置窗口位置
glutCreateWindow("矩形");
//创建一个名为矩形的窗口
glutDisplayFunc(Display);
//设置当前窗口的显示回调函数
glVertex2i(55,25);
glEnd();
glFlush();
//清空 OpenGL 命令缓冲区,执行 OpenGL 程序
}
int main(int argc,char*argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); //初始化窗口的显示模式
glMatrixMode(GL_PROJECTION);
//指定设置投影参数
gluOrtho2D(0.0,200.0,0.0,150.0); //设置投影参数
}
void Display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
//用当前背景颜色填充窗口
glColor3f(1.0f,0.0f,0.0f);
了解了上述基础知识后,配置好 OpenGL 环境,然后在该环境中编程练习图形的绘
制,本次实验主要是对点的绘制、直线的绘制和多边形面的绘制。
3. 实验代码及结果
3.1 点的绘制:
#include<gl/glut.h>
void Initial(void)
{
glClearColor(1.0f,1.0f,1.0f,1.0f); //设置窗口背景颜色为白色
glVertex2i(198,2);
glEnd();
glFlush();
//清空 OpenGL 命令缓冲区,执行 OpenGL 程序
}
int main(int argc,char*argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); //初始化窗口的显示模式
相关文档
最新文档