计算机图形学方面有关论文范文资料,与计算机图形学基础相关论文答辩
本论文是一篇计算机图形学方面有关论文答辩,关于计算机图形学基础相关开题报告范文。免费优秀的关于计算机图形学及计算机及数据结构方面论文范文资料,适合计算机图形学论文写作的大学硕士及本科毕业论文开题报告范文和学术职称论文参考文献下载。
odel(GL_SMOOTH),1718glMaterialfv(GL_FRONT,GL_SPECULAR,mat_specular),19glMaterialfv(GL_FRONT,GL_SHININESS,mat_shininess),20glLightfv(GL_LIGHT0,GL_POSITION,light_position),2122glEnable(GL_LIGHTING),23glEnable(GL_LIGHT0),24glEnable(GL_DEPTH_TEST),25}2627/*调用GLUT函数,绘制一个球*/28voiddisplay(void)29{30glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT),31glutSolidSphere(1.0,40,50),32glFlush(),33}343536/*定义GLUT的reshape函数,w,h分别是当前窗口的宽和高*/37voidreshape(intw,inth)38{39glViewport(0,0,(GLsizei)w,(GLsizei)h),40glMatrixMode(GL_PROJECTION),41glLoadIdentity(),42if(w<,等于h)43glOrtho(-1.5,1.5,-1.5*(GLfloat)h/(GLfloat)w,1.5*(GLfloat)h/(GLfloat)w,-10.0,10.0),44else45glOrtho(-1.5*(GLfloat)w/(GLfloat)h,1.5*(GLfloat)w/(GLfloat)h,-1.5,1.5,-10.0,10.0),46glMatrixMode(GL_MODELVIEW),47glLoadIdentity(),48}495051/*定义对键盘的响应函数*/52voidkeyboard(unsignedcharkey,intx,inty)53{54/*按Esc键退出*/55switch(key)56{57case27:58exit(0),59break,60}61}626364intmain(intargc,char**argv)65{66/*GLUT环境初始化*/67glutInit(&,argc,argv),68/*显示模式初始化*/69glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB|GLUT_DEPTH),70/*定义窗口大小*/71glutInitWindowSize(300,300),72/*定义窗口位置*/73glutInitWindowPosition(100,100),74/*显示窗口,窗口标题为执行函数名*/75glutCreateWindow(argv[0]),76/*调用OpenGL初始化函数*/77init(),78/*注册OpenGL绘图函数*/79glutDisplayFunc(display),80/*注册窗口大小改变时的响应函数*/81glutReshapeFunc(reshape),82/*注册键盘响应函数*/83glutKeyboardFunc(keyboard),84/*进入GLUT消息循环,开始执行程序*/85glutMainLoop(),86return0,87}编译并运行:gcc-lglut-olightlight.c./light至此第一个Linux下的OpenGL程序便诞生了.Enjoyit!
linux下opengl编程在linux下opengl编程,首先需要安装glut包.1安装glut(1)下载地址:fidelio.cacs.louisiana.edu/resources/linux/glut.zip
(2)将glut.zip解压:unzipglut.zip解压后,里面有一个rpm安装包,一个测试文件,一个glut.h,一个makefile,这几个文件都非常重要.(3)安装:pm-iglut-3.7-8.i386.rpm(note:Ifyoualreadyhavealaterglut,userpm-i--forceglut-3.7-8.i386.rpm)(4)把"glut.h"移到"/usr/include/GL":mvglut.h/usr/include/GL(5)cd/usr/lib(6)cplibglut.so.3.7libglut.so(7)回到glut.zip的目录,运行make,然后./cube会看到测试图形
#include<,GL/glut.h>,voiddisplay(void){/*clearallpixels*/glClear(GL_COLOR_BUFFER_BIT),/*drawwhitepolygon(rectangle)withcornersat*(0.25,0.25,0.0)and(0.75,0.75,0.0)*/glBegin(GL_POLYGON),glColor3f(0.0,1.0,1.0),glVertex3f(0.25,0.25,0.0),glColor3f(0.0,0.0,1.0),glVertex3f(0.75,0.25,0.0),glColor3f(1.0,0.0,0.0),glVertex3f(0.75,0.75,0.0),glColor3f(0.0,1.0,0.0),glVertex3f(0.25,0.75,0.0),glEnd(),/*don'twait!*startprocessingbufferedOpenGLroutines*/glFlush(),}voidinit(void){/*selectclearingcolor*/glClearColor(0.5,0.5,0.0,0.0),/*initializeviewingvalues*/glMatrixMode(GL_PROJECTION),glLoadIdentity(),glOrtho(0.0,1.0,0.0,1.0,-1.0,1.0),}/**Declareinitialwindowsize,position,anddisplaymode*(singlebufferandRGBA).Openwindowwith"hello"*initstitlebar.Callinitializationroutines.*Registercallbackfunctiontodisplaygraphics.*Entermainloopandprocessevents.*/intmain(intargc,char**argv){glutInit(&,argc,argv),glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB),glutInitWindowSize(250,250),glutInitWindowPosition(100,100),glutCreateWindow("hello"),init(),glutDisplayFunc(display),glutMainLoop(),return0,/*ANSICrequiresmaintoreturnint.*/}//////////gcc-lglutgl.c-otest先装个freeglut或者mesa.以freeglut举例,装好后会在/usr/include/GL中出现glut.h,在/usr/lib下出现libglut.so,如果没有就自己拷一下.
linux下编写OpenGL程序的一些准备工作需要用到的软件包有两个,glut和tmake,分别可以从以下两个网址下载:opengl./resources/libraries/glut/glut-3.7.tar.gzftp://ftp.trolltech./freebies/tmake/tmake-1.8.tar.gz
下载后的文件假设都放在/usr/src中
首先是安装glut库,以下是从linux.找到的编译glut库的手册.
InstallGLUT3.7Distribution(optional)
IfyouinstalledtheMesaDemos/MesaLibpackage,thenyouhavealreadyinstalledGLUT3.7sinceitisincludedwithMesaDemos.However,youmaybeinterestedininstallingtheGLUT
manpagesandyoucanskiprighttothe"InstallGLUTmanualpages",below...
In
上一页 4 5 6 7 8 9 10 11 12 13 下一页
计算机图形学方面有关论文范文资料,与计算机图形学基础相关论文答辩参考文献资料: