如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
会计学背景1992年7月,SGI正式发布(fābù)OpenGL1.0标准。OpenGL1.0完全实现了SGI的预期设计目标:功能强大、移植性良好并能自由使用。SGI和微软进行首次合作、联手将OpenGL1.0移植到WindowsNT平台。OpenGL规范由ARB(ArchitectureReviewBroad)管理,成员为SGI、MS、intel、IBM、Sun等公司。2003年的7月,ARB公布OpenGL1.5规范——迄今为止最新的OpenGL版本。支持各种操作系统和编程环境。从程序开发人员的角度来看,OpenGL是一组绘图命令的API集合。利用这些API能够方便地描述二维和三维几何物体,并控制这些物体按某种方式绘制到显示缓冲区中。主要功能:绘制模型:点线多边形、球、锥、多面体、茶壶、贝塞尔曲线各种变换:基本变换(平移、缩放、旋转、镜像)、平行投影、透视投影着色模式:RGBA(alpha),颜色(yánsè)索引主要功能:光照处理:材质(cáizhì),辐射光、环境光、漫反射光等主要功能:纹理映射(yìngshè):纹理数据包括颜色、亮度和alpha,真实感纹理主要功能:位图和图像制作动画:双缓存,后台缓存用于计算场景(chǎngjǐng)和生成画面,前台缓存用于显示画面,产生平滑动画选择和反馈OpenGL的绘制(huìzhì)流程和原理:OpenGL能做什么(shénme)?OpenGL怎样(zěnyàng)学?1.顶点坐标OpenGL采用有序排列的顶点集合来构造几何图元。如:glVertex2s(2,5);//整数定义的二维坐标glVertex3f(2,5,7);//浮点定义的三维坐标顶点关系在OpenGL中,同一个几何图元的所有被定义的顶点一起放在glBegin()和glEnd()函数(hánshù)之间,同时定义这些顶点之间的关系。如:glBegin(GL_POLYGON);glVertex2s(0,0);glVertex2s(0,11);glVertex2s(11,14);glVertex2s(14,7);glEnd();GL_POINTS单个顶点(dǐngdiǎn)集GL_LINES多组双顶点(dǐngdiǎn)线段GL_POLYGON单个简单填充凸多边形GL_TRAINGLES多组独立填充三角形GL_QUADS多组独立填充四边形GL_LINE_STRIP不闭合折线GL_LINE_LOOP闭合折线GL_TRAINGLE_STRIP线型连续填充三角形串GL_TRAINGLE_FAN扇形连续填充三角形串GL_QUAD_STRIP连续填充四边形串1、用OpenGL生成(shēnɡchénɡ)点glPointSize(2.0f);glBegin(GL_POINTS);glVertex2f(0.0,0.0);glVertex3f(0.0f,0.0f,0.3f);glEnd();2、用OpenGL生成直线glLineWidth(2.0f)glLineStipple,线形用16位二进制描述(miáoshù),如表示点线,编程时转为十六进制glEnable(GL_LINE_STIPPLE);glLineStipple(2,0x00FF);3、用OpenGL生成区域(qūyù)填充区域(qūyù)图形绘制GL_POLYGON实模式填充点画模式(图案32*32)填充glEnable(GL_POLYGON_STIPPLE);glPolygonStipple(fly);glRectf(-0.3,-0.6,0.0,0.0);glDisable(GL_POLYGON_STIPPLE);3、用OpenGL生成区域填充(tiánchōng)多边形面的绘制多边形是三维的,被认为由正反两个面组成多边形面的控制voidglPolygonMode(GLenumface,GLenummode)face控制是否绘制正反面:GL_FRONT_AND_BACKGL_FRONT;GL_BACKmode控制绘制方式:GL_POINT用一定间隔的点填充(tiánchōng);GL_LINE只画多边形的边框;GL_FILL填充(tiánchōng)多边形例:glPolygonMode(GL_FRONT,GL_FILL)glPolygonMode(GL_BACK,GL_LINE)3、用OpenGL生成区域填充多边形面的绘制多边形面的定义voidglFrontFace(GLenummode)mode:GL_CW;GL_CCW(逆时针,默认)多边形面的剔除voidglCullFace(GLenummode)mode:GL_FRONT,剔除正面GL_BACK,剔除背