计算机图形学真实绘图实验报告,-计算机图形学实验报告.doc

计算机图形学实验报告

姓名:___ __________

学号:_____ ________

班级:______ _______

时间:_____2016年12月_________

实验一 OpenGL编程与图形绘制

实验目的

了解OpenGL编程,并熟悉OpenGL的主要功能、绘制流程和基本语法。学会配置OpenGL环境,并在该环境中编程绘图。

实验内容

OpenGL的主要功能:模型绘制、模型观察、颜色模式、光照应用、图像效果增强、位图和图像处理、纹理映射、实时动画和交互技术。

OpenGL的绘制流程分为两个方面:一个完整的窗口系统的OpenGL图形处理系统的结构为:最底层为图形硬件,第二层为操作系统,第三层为窗口系统,第四层为OpenGL,最上面的层为应用软件;OpenGL命令将被放在一个命令缓冲区中,这样命令缓冲区中包含了大量的命令、顶点数据和纹理数据。当缓冲区被清空时,缓冲区中的命令和数据都将传递给流水线的下一个阶段。

OpenGL的基本语法中相关库有:OpenGL核心库:gl、OpenGL实用程序库: glu、OpenG编程辅助库:aux、OpenGL实用程序工具包(OpenGL utility toolkit,GLUT):glut、Windows专用库:wgl。

OpenGL的基本语法中命名规则为:OpenGL函数都遵循一个命名约定,即采用以下格式:。

了解了上述基础知识后,配置好OpenGL环境,然后在该环境中编程练习图形的绘制,本次实验主要是对点的绘制、直线的绘制和多边形面的绘制。

实验代码及结果

3.1点的绘制:

#include

void Initial(void)

{

glClearColor(1.0f,1.0f,1.0f,1.0f); //设置窗口背景颜色为白色

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); //设置当前的绘图颜色为红

// 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);

glVertex2i(198,2);

glEnd();

glFlush(); //清空OpenGL命令缓冲区,执行OpenGL程序

}

int main(int argc,char*argv[])

{

glutInit(&argc,argv);

glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); //初始化窗口的显示模式

glutInitWindowSize(400,300); //设置窗口的尺寸

glutInitWindowPosition(100,120); //设置窗口位置

glutCreateWindow("矩形"); //创建一个名为矩形的窗口

glutDisplayFunc(Display); //设置当前窗口的显示回调函数

Initial(); //完成窗口初始化

glutMainLoop(); //完成窗口GLUT事件处理循环

return 0;

}

运行结果:

3.2直线的绘制:

#include

void Initial(void)

{

glClearColor(1.0f,1.0f,1.0f,1.0f); //设置窗口背景颜色为白色

glMatrixMode(GL_PROJECTION); //指定设置投影参数

gluOrt

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值