资源描述:
《计算机图形学上机实验指导》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、计算机图形学上机实验指导指导教师:张加万老师助教:张怡2009-10-1030目录1.计算机图形学实验(一)–OPENGL基础-1-1.1综述-1-1.2在VC中新建项目-1-1.3一个OpenGL的例子及说明-1-2.计算机图形学实验(二)–OPENGL变换-5-2.1变换-5-3.计算机图形学实验(三)-画线、画圆算法的实现-9-3.1MFC简介-9-3.2VC6的界面-10-3.3示例的说明-11-4.计算机图形学实验(四)-高级OPENGL实验-14-4.1光照效果-14-4.2雾化处理-17-5.计
2、算机图形学实验(五)-高级OPENGL实验-21-5.1纹理映射-21-5.2反走样-25-6.计算机图形学实验(六)–OPENGLINMS-WINDOWS-27-6.1 实验目标:-27-6.2分形-28-30计算机图形学实验指导-30-计算机图形学实验指导1.计算机图形学实验(一)–OpenGL基础1.1综述这次试验的目的主要是使大家初步熟悉OpenGL这一图形系统的用法,编程平台是VisualC++,它对OpenGL提供了完备的支持。OpenGL提供了一系列的辅助函数,用于简化Windows操作系统的窗
3、口操作,使我们能把注意力集中到图形编程上,这次试验的程序就采用这些辅助函数。本次实验不涉及面向对象编程,不涉及MFC。1.2在VC中新建项目1.2.1新建一个项目选择菜单File中的New选项,弹出一个分页的对话框,选中页Projects中的Win32ConsoleApplication项,然后填入你自己的Projectname,如Test,回车即可。VC为你创建一个工作区(WorkSpace),你的项目Test就放在这个工作区里。1.2.2为项目添加文件为了使用OpenGL,我们需要在项目中加入三个相关的L
4、ib文件:glu32.lib、glaux.lib、opengl32.lib,这三个文件位于c:programfilesmicrosoftvisualstudiovc98lib目录中。选中菜单Project->AddToProject->Files项(或用鼠标右键),把这三个文件加入项目,在FileView中会有显示。这三个文件请务必加入,否则编译时会出错。或者将这三个文件名添加到Project->Setting->Link->Object/libraryModules即可。点击工具条中NewTextF
5、ile按钮,新建一个文本文件,存盘为Test.c作为你的源程序文件,再把它加入到项目中,然后就可以开始编程了。1.3一个OpenGL的例子及说明1.3.1源程序请将下面的程序写入源文件Test.c,这个程序很简单,只是在屏幕上画两根线。#include-30-计算机图形学实验指导#include#include#include//初始化OpenGL场景voidmyinit(void){glClearColor(0.0,0.0,
6、0.0,0.0);//将背景置成黑色glShadeModel(GL_FLAT);//设置明暗处理} //用户的绘图过程voidCALLBACKdisplay(void){glClear(GL_COLOR_BUFFER_BIT
7、GL_DEPTH_BUFFER_BIT);//清除缓存glBegin(GL_LINES);//开始画一根白线glColor3f(1.0f,1.0f,1.0f);//设置颜色为白色//设置第一根线的两个端点,请注意:OpenGL坐标系的原点是在屏幕左下角glVertex2f(10.0f,5
8、0.0f);glVertex2f(110.0f,50.0f);glColor3f(1.0f,0.0f,0.0f);//设置颜色为红色//设置第二根线的两个端点glVertex2f(110.0f,50.0f);glVertex2f(110.0f,150.0f); glEnd();//画线结束glFlush();//绘图结束}////主过程://初始化Windows的窗口界面//并初始化OpenGL场景,绘图intmain(intargc,char**argv){auxInitDisplayMode(AUX_RG
9、B);//初始化显示模式,采用RGB彩色系统。auxInitPosition(0,0,400,150);//初始化窗口位置、大小auxInitWindow("DisplayLists");//初始化窗口,设置标题myinit();auxMainLoop(display);//循环运行display过程,display由用户编写return(0);}1.3.2程序说明每个函数的具体含义在程序注释中已作