opengl学习必备.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
opengl学习必备

第一章 OpenGL 概览 §1.1OpenGL 是什么 1. OpenGL 是一个通用共享的开放式三维图形标准 2. OpenGL 是一个开放的针对于图形硬件的三维图形软件包,是图形硬件的软件接口 3. OpenGL 是指令和函数的集合(从程序员的角度看),是一个优秀的专业化的 3D 的 API §1.2OpenGL 能作什么 1. 建模。 2. 变换 3. 颜色模式设置 4. 光照和材质设置 5. 纹理映射 6. 位图显示和图像增强 7. 双缓存动画 §1.3OpenGL 函数语法 1) 所有 OpenGL 函数都以 gl 作为前,且词首字母大写(如 glClearColor()函数); 2) OpenGL 中定义的常数都以 GL 开头,所有的字母都大写,且单词之间以下划线来分隔(例如 GL_COLOR_BUFFER_BIT); 3) OpenGL 命令(OpenGL 函数常被称为 OpenGL 命令)常常带有后。如:glColor3f()和 glVertex3f()中 的后 3f;后指示出该函数的参数的个数和类型,其中 3 表示该函数需要 3 个参数,f 表示参数为浮 点型数值。对于同一个功能函数,由于后的不同,可以有多种不同形式的函数(如:glVertex2i()、 glVertex2f()、glVertex3f()、glVertex3d()、glVertex4f()、glVertex4fv()等)。某些 OpenGL 函数可以接受多 至 8 种不同的数据类型作为它们的参数。表 1-1 列出了命令后的类型和相应的 OpenGL 的类型。 4) 有一些 OpenGL 函数的后面带有一个字母 v。这表示该命令带有的是一个指向矢量(即数组)值的 指针参数。如: Glfloat color_array [] = { 1.0,1.0,1.0 }; glColor3fv(color_array); 以数组名 color_array 为参数,该命令等价于 glColor3f(1.0,1.0,1.0); 后定义 数据类型 C 语言类型 OpenGL 类型定义 b 8 位整数 signed char GLbyte s 16 位整数 short GLshort i 32 位整数 long GLint, GLsizei f 32 位浮点数 float GLfloat, GLcampf d 64 位浮点数 double GLdouble, GLclampd ub 8 位无符号整数 unsigned char GLubyte, GLboolean us 16 位无符号整数 unsigned short GLushort ui 32 位无符号整数 unsigned long GLuint, GLenum, GLbitfield 表1-1命令后参数数据类型 第 2 页 OpenGL 程序设计讲稿 中国地质大学(北京) 地球物理与信息技术学院 §1.4OpenGL 状态机制 1. 2. OpenGL 是一个状态机。这就是说,OpenGL 中有各种状态变量,OpenGL 用这些状态变量控制图形的渲 染。将 OpenGL 设置为各种状态(或各种模式)后,这些状态一直有效地保存在 OpenGL 的状态变量中, 直到改变这些状态的值为止。 状态变量所控制的功能一般要通过命令:glEnable()和 glDisable()来激活或取消。 注意:每一个状态变量或模式都有一个默认值。程序员可以在程序中的任何位置,对系统进行查询, 以获得一个状态变量的当前值。 ①一般,可以使用以下 6 个函数来完成查询操作: 概览 glGetBooleanv()、glGetDoublev()、glGetFloatV()、glGetIntegerv()、glGetPointerv()、 glIsEnabled()。 ②另外,程序员可以用 glPushAttrib()和 glPopAttrib()命令将有关属性堆栈的状态变量集的值保存起来, 可以暂时进行修改,后使用 glPopAttrib()和 glPopClientAttrib()命令保存这些值。 §1.5OpenGL 渲染管道 这里所说的 OpenGL 渲染管道即 OpenGL 的工作顺序。大多数 OpenGL 应用都采用一个相似的操作顺 序,这些一系列的处理阶段被称为 OpenGL 渲染管道。 图1-1 操作顺序图 §1.6OpenGL 函数库 1. 核心函数库 2. 实用函数库 3. 辅助函数库 4. GLUT-----OpenGL 应用工具包 5. Windows 系统扩展函数库 §1.7一个简单的

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档