- 1、本文档共69页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[2018年最新整理]OpenGL介绍
第6章 OpenGL 6.1 基本介绍 6.1.1 背景情况 6.1.2 OpenGL的主要功能 6.1.3 OpenGL的绘制流程和原理 6.1.4 VC++开发OpenGL绘图程序 6.1.5 OpenGL的缓冲区 6.2 基本图形的生成 6.2.1 OpenGL生成基本图形 OpenGL生成点 OpenGL生成直线 OpenGL生成直线 OpenGL生成区域图形 多边形面的绘制 6.2.2 OpenGL的颜色缓冲区 6.3 OpenGL坐标变换机制 6.3.1 OpenGL中与变换有关的数据结构 6.3.2 OpenGL中的ModelView变换机制 6.3.3 OpenGL中的Model变换 6.3.4 OpenGL中的View变换 6.3.5 OpenGL中的投影 6.3.5 OpenGL中的投影 6.3.6 OpenGL中的深度缓冲区 6.3.7 OpenGL中的反变换 6.4.1 用OpenGL生成真实感图形 6.4.2 OpenGL的光照环境设置方法 6.4.3 OpenGL的物体材质设置方法 采用RGB三基色表示: void glLight*(GLenum light, GLenum pname, TYPE param); light:光源标识,GL_LIGHT0、GL_LIGHT1、…、GL_LIGHT7 pname:对光源的哪个属性进行设置 param:pname所标识属性项的期望值 glLight*:glLighti、 glLightf、 glLightiv、glLightfv TYPE:int、float、int*、float* glEnable(GL_LIGHTING):打开光照计算 glEnable(GL_LIGHTi):打开第i个光源 glDisable(GL_LIGHTi):关闭第i个光源 由方向一致的多边形构成完全闭合的曲面,其背面多边形总是被正面多边形所遮挡。因此剔除背面多边形可以极大地提高几何体的绘制速度。同样,如果处在几何对象内部,只是背面多边形是可见时,则剔除正面多边形。 利用函数glCullFace(),选择剔除正面或背面多边形,在这之前需利用glEnable()激活剔除处理。 void glCullFace(GLenum mode); mode的取值分别为: ? GL_FRONT:剔除正面 ? GL_BACK:剔除背面(缺省值) ??????GL_FRONT_AND_BACK:剔除全部 利用下面函数激活或去激活多边形剔除: ???? glEnable(GL_CULL_FACE); ??? ?glDisable(GL_CULL_FACE); OpenGL提供两种颜色模式:RGB(RGBA)模式和颜色索引模式。在RGBA模式下所有颜色的定义用RGB三个值来表示,有时也加上Alpha值(表示透明度)。RGB三个分量值的范围都在0和1之间。颜色索引模式下每个像素的颜色是用颜色索引表中的某个颜色索引值表示。三维图形处理中要求阴影、光照、雾化、融合等效果,RGBA 的效果比颜色索引模式好。 使用时,OpenGL在显示缓冲区中存储了其它图形的绘图信息,必须先清除缓冲区,以免影响绘图效果。 函数:void glClearColor(red, green, blue, alpha); 另外,也可以使用函数:void glClear(mask);清除标志的缓冲区。注意,这个函数还可以清除其他缓冲区,由参数mask来控制。可选的mask参数如下表: 缓冲区 名称 颜色缓冲区 GL_COLOR_BUFFER_BIT 深度缓冲区 GL_DEPTH_BUFFER_BIT 累加缓冲区 GL_ACCUM_BUFFER_BIT 模板缓冲区 GL_STENCIL_BUFFER_BIT 表:缓冲区名称 也可用glClearColor()、glClearDepth()、glClearIndex()、glClearStencil()、glClearAcc()为各自对应的缓冲区赋值。若要同时清除多个缓冲区,使用上表中所列的mask位的”或”(OR)组合,在速度上要比使用多次调用glClear()要快得多。 在绘制图形前,通常要先设定颜色或颜色方式,这样有利于达到较高的绘图性能。设置颜色的常用命令是:glColor*()。 下面的代码就可以生成漂亮的三角形 glBegin(GL_TRIANGLES); glColor3f(1.0, 0.0, 0.0); //红色 glVertex3f(-1.0, 0.0, 0.0); glColor3f(0.0, 1.0, 0.0); //绿色 glVertex3f(0.0, 1.0, 0.0); g
您可能关注的文档
- [2018年最新整理]OpenGL之坐标变换.docx
- [2018年最新整理]OPENGL基础教程.doc
- [2018年最新整理]OpenGL游戏编程.ppt
- [2018年最新整理]OPENKM系统培训手册.ppt
- [2018年最新整理]OpenMP程序的编译与运行-实验报告二.doc
- [2018年最新整理]OPGW基础培训资料.doc
- [2018年最新整理]OpenShortestPathFirstOSPF协议(链路状态.ppt
- [2018年最新整理]OPL(单点教育训练).ppt
- [2018年最新整理]OPL培训教材.ppt
- [2018年最新整理]oppo建大社团节闭幕式.doc
- 浙江衢州市卫生健康委员会衢州市直公立医院高层次紧缺人才招聘11人笔试模拟试题参考答案详解.docx
- 浙江温州泰顺县退役军人事务局招聘编外工作人员笔试备考题库及参考答案详解一套.docx
- 江苏靖江市数据局公开招聘编外工作人员笔试模拟试题及参考答案详解.docx
- 广东茂名市公安局电白分局招聘警务辅助人员40人笔试模拟试题带答案详解.docx
- 江苏盐城市大丰区住房和城乡建设局招聘劳务派遣工作人员4人笔试模拟试题带答案详解.docx
- 浙江舟山岱山县东沙镇人民政府招聘笔试模拟试题及参考答案详解1套.docx
- 最高人民检察院直属事业单位2025年度公开招聘工作人员笔试模拟试题含答案详解.docx
- 浙江金华市委宣传部、中共金华市委网信办所属事业单位选调工作人员笔试备考题库及答案详解1套.docx
- 广东深圳市党建组织员招聘40人笔试模拟试题及答案详解1套.docx
- 江苏南京水利科学研究院招聘非在编工作人员4人笔试模拟试题及参考答案详解.docx
文档评论(0)