第2章OpenGL程序设计基础.pptVIP

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章OpenGL程序设计基础

第2章 OpenGL程序设计基础 2.1 计算机图形的标准化 2.2 OpenGL的体系结构 2.3 程序举例 2.1 计算机图形的标准化 计算机图形软件系统概括起来主要有以下三种 (1)用现有的某种计算机语言写成的图形子程序包,如GKS,PHIGS,GL等 (2)扩充某一种计算机语言,使其具有图形生成和处理功能 【例】Turbo C, Turbo Pascal等 (3)专用的图形系统。对于某种类型的设备,可以配备专用的图形生成语言,如HP-PLOT图形语言 GKS(1980s) 第一个图形软件标准是由德国提出的图形核心系统GKS (Graphical Kernel System),它是一个二维图形软件包 1988年,GKS的三维扩充GKS-3D成为三维图形软件标准 PHIGS(1990s) 程序员层次交互式图形系统(Programmers Hierarchical Interactive Graphics System) 支持三维图形的层次嵌套结构 不支持光照 PHIGS+ NURBS曲面 支持光照,但不支持纹理 非官方标准 SGI等公司开发的OpenGL,Sun公司推出的Java 3D,Microsoft公司的DirectX等 OpenGL标准的演变 OpenGL (Open Graphics Library) 跨编程语言 C/C++ Java Visual Basic C# ...... 跨平台 Android, Solaris, FreeBSD 开放的图形程序接口 可扩展机制 OpenGL (Open Graphics Library) 图元绘制函数 属性函数 变换函数 视图函数(或观察函数) 查询函数,控制函数…… OpenGL函数 GLUT OpenGL实用工具库(OpenGL Utility Toolkit Library, GLUT) 创建窗口 从鼠标和键盘获取输入 菜单 事件驱动…… 程序举例 【例】在黑色背景上绘制一个蓝色矩形 程序举例 1.设置编程环境 windows NT平台,VC++6.0,Console应用程序 (1)添加动态链接库 程序举例 (2)链接静态链接库 (3)添加头文件 X:\Program Files \Microsoft Visual Studio \VC98\Include\GL 图形绘制管线 应用程序阶段 场景(scene):在图像中显示的对象组合,包括空间中的所有几何对象与光照 视图(view):定义观众的观察方式和可见部分 数据类型 glColor函数 设置绘图颜色 GLvoid glColor3f( GLfloat red, GLfloat green, GLfloat blue); 0.0=red,green,blue=1.0 图元绘制函数 图元定义 /*开始定义图元序列*/ void glBegin(GLenum mode) …… /*顶点序列*/ /*结束顶点序列*/ void glEnd() 函数名约定 OpenGL不是面向对象的,因此逻辑上的一个函数却对应着多个OpenGL函数 glVertex3f glVertex2i glVertex3dv 几何阶段 投影和视见体 定义裁剪可视区域 void glOrtho( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far); 视口(Viewport) 视口:窗口中的绘图区域 定义视口 void glViewport( GLint x, GLint y, GLsizei width, GLsizei height); 视口和窗口 Reshape函数 OpenGL程序 的一般结构 窗口函数 初始化窗口的显示属性 void glutInitDisplayMode(unsigned int mode) GL_RGB RGB颜色模式(默认) GL_RGBA RGBA颜色模式 GL_INDEX 索引颜色模式 GL_SINGLE 单缓冲区(默认) GL_DOUBLE 双缓冲 属性选项按逻辑或(|)组合 窗口函数 创建窗口 int glutCreateWindow(char *title) 设置窗口的初始宽度和高度(缺省大小为300*300,单位:像素) void glutInitWindowSize(int width, int height) 窗口左上角相对于屏幕左上角的位置,单位为像素,缺省(0,0) void glutInitWindowPosition(int x, int y) glClearColor函数 用指

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档