图形学9

OpenGL提供什么? OpenGL提供一系列的三维图形单元(图元)供开发者调用。 OpenGL提供一系列的图形变换函数 OpenGL提供一系列的外部设备访问函数,使开发者可以方便地访问鼠标、键盘、空间球、数据手套等外部设备 OpenGL能做什么 建模:提供基本的点、线、多边形的绘制函数外,还提供了复杂的三维物体的绘制函数。 变换:基本变换和投影变换。 颜色模式设置:RGBA模式和颜色索引(Color Index) 光照和材质设置:OpenGL光有辐射光(Emitted Light)、环境光(Ambient Light)、漫反射光(Diffuse Light)和镜面光(Specular Light)。材质是用光反射率来表示 OpenGL能做什么 纹理映射(Texture Mapping) 位图显示和图象增强 双缓存动画(Double Buffering) 特殊效果 实现深度暗示(Depth Cue)、运动模糊(Motion Blur)等特殊效果 OpenGL观察坐标系 三维图形中常用的坐标系 观察流水线 观察流水线是指系统的图形输出流程 观察:将现实世界中的景物通过变换在屏幕视区上显示出来的过程 观察流水线 二维观察流程 观察流水线 窗口和视区 将在用户坐标系中需要进行观察和处理的一个坐标区域称为窗口(Window) 将窗口映射到显示设备上的坐标区域称为视区(Viewport) 观察流水线 窗口与视区对图形的影响 变焦距效果 观察流水线 窗口与视区对图形的影响 整体放缩效果 观察流水线 窗口到视区的变换 将窗口左下角点移到观察坐标系的坐标原点 观察流水线 窗口到视区的变换 对原点做比例变换,让窗口与视区相等 将窗口的点映射到规格化设备坐标系视区中 反平移,让原点位置还原到视区左下角点位置 O观察流水线 窗口到视区的变换 观察流水线 窗口到视区的变换 二维绘图中,Opengl的两个设置函数 观察流水线 阅读以下代码: 观察流水线 观察图形 观察流水线 修改 观察流水线 修改 观察流水线 三维观察流程 OpenGL的矩阵 模型观察变换矩阵 造型矩阵M 观察矩阵V 投影变换矩阵 视见区变换矩阵 观察流水线 OpenGL的矩阵 模型观察变换矩阵 观察矩阵V 观察流水线 观察 观察流水线 观察 观察流水线 观察 观察流水线 OpenGL的矩阵 模型观察变换矩阵 造型矩阵M 观察流水线 OpenGL的矩阵 投影变换矩阵 观察流水线 OpenGL的矩阵 观察流水线 透视投影 观察流水线 透视投影 观察流水线 透视投影 观察流水线 透视投影 OpenGL几何变换 利用造型矩阵可以实现基本和复合的几何变换。 基本的变换序列: 光照和材质 Phone模型 漫反射光 镜面反射光 环境反射光 辐射光 光照和材质 无光照模型的图 光照和材质 无光照模型的图 光照和材质 加入光照与材质 光照和材质 修改漫反射光 光照和材质 修改镜面反射光 光照和材质 修改环境光 光照和材质 加入光照与材质 光照和材质 加入光照与材质 OpenGL介绍 OpenGL库函数和数据类型 openGL在VC++中的调用 在stdafx.h中添加语句 OpenGL介绍 openGL在VC++中的调用 选择菜单[工程|设置],在Link标签页中,对象/库模块设置中,输入:OpenGL32.lib GLu32.lib glaux.lib glut32.lib 将.h文件拷贝到include\gl目录下,将.lib文件拷贝到lib目录下,将.dll文件拷贝到window\system32下 glMotrixMode(GL_MODELVIEW); glLoadIdentity(); glTranslatef(tx, ty, tz); glRotatef(angle,rx,ry,rz); glTranslatef(-tx, -ty,- tz); glPushMatrix(); glTranslated(0.6,0.38,0.5); glRotated(30,0,1,0); glutSolidTeapot(0.5); glPopMatrix(); glPushMatrix(); glTranslated(0.6,0.38,0.5); glRotated(30,0,1,0); glutSolidTeapot(0.5); glPopMatrix(); GLfloat mat_ambient[]={0.7f,0.7f,0.7f,1.0f}; GLfloat mat_diffuse[]={0.6f,0.6f,0.6f,1.0f}; GLfloat mat_specular[

文档评论(0)

1亿VIP精品文档

相关文档