- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3讲 OpenGL图形库概述
第3讲 OpenGL图形库概述 图形软件系统 第一层次:面向硬件系统 解决图形设备与计算机的通讯接口等问题,称为设备驱动程序 设备驱动程序现在已被作为操作系统一部分,由操作系统或设备硬件厂商开发; 第二层次:建立在驱动程序之上 完成图元的生成、设备的管理等功能 这个层次上的图形支撑软件已经标准化,如GKS、PHIGS、CGI等; 第三层次:面向用户 主要任务是建立图形数据结构,定义、修改和输出图形 具有较强的交互功能,使用方便,容易阅读,便于维护和移植 OpenGL、Direct3D属于这一层次 图形软件系统 面向用户图形系统的基本功能 基本图形绘制(线画、填充图元等) 图形变换 几何变换 投影变换 图元着色 光照效果 纹理映射 。。。 OpenGL图形库简介 OpenGL是一个工业标准的三维计算机图形软件接口 以SGI的GI三维图形库为基础制定的一个开放式三维图形标准 独立于硬件设备、窗口系统和操作系统,使得以OpenGL为基础开发的应用程序可在各种平台间移植 OpenGL可以使用各种编程语言进行调用(C、C++、FORTRAN、Ada、Java等) OpenGL体系结构 OpenGL工作流程 OpenGL图形操作步骤 根据基本图形单元建立景物模型,并且对所建立的模型进行数学描述(OpenGL中把:点、线、多边形、图像和位图都作为基本图形单元) 把景物模型放在三维空间中的合适的位置,并且设置视点(viewpoint)以观察所感兴趣的景观 计算模型中所有物体的色彩,其中的色彩根据应用要求来确定,同时确定光照条件、纹理粘贴方式等 把景物模型的数学描述及其色彩信息转换至计算机屏幕上的像素,这个过程也就是光栅化(rasterization) OpenGL的组成 基本函数库 与硬件平台无关 含GL、GLU和GLAUX库 函数包括:描述图形元素(图元)、属性、几何变换、观察变换及其它操作 实用函数工具包(GLUT:OpenGL Utility Toolkit) 平台无关 窗口系统操作功能:创建窗口、鼠标和键盘输入、菜单及事件驱动 一个简单的程序simple.cpp #include gl/glut.h void mydisplay(){ glClearColor (1.0,1.0,0,0);//,设置背景色,默认为黑色 glClear(GL_COLOR_BUFFER_BIT);//清除帧缓存 glBegin(GL_POLYGON); glColor3f(1.0,0,0); glVertex2d(-0.5, -0.5); glVertex2d(-0.5, 0.5); glVertex2d(0.5, 0.5); glVertex2d(0.5, -0.5); glEnd(); glFlush(); } void main(int argc, char* argv[]) { glutCreateWindow(简单示例); glutDisplayFunc(mydisplay);// mydisplay是回调函数 glutMainLoop(); } 回调函数 回调函数是应用程序提供给Windows系统DLL或其它DLL调用的函数,一般用于截获消息、获取系统信息或处理异步事件 应用程序把回调函数的地址指针告诉DLL,而DLL在适当的时候会调用该函数 回调函数必须遵守事先规定好的参数格式和传递方式,否则DLL一调用它就会引起程序或系统的崩溃 如:glutDisplayFunc(mydisplay); // mydisplay是回调函数 OpenGL函数 基本几何形状 点、线段和多边形 Beizier曲线 属性 颜色、线型(实、虚等)。。。 变换 几何变换:平移、旋转、缩放 投影变换:正投影、透视投影 输入(GLUT) 键盘和鼠标 OpenGL函数格式 函数格式示例:定义点函数 相关函数库 包含 OpenGL核心库(GL) OpenGL实用库(GLU) OpenGL辅助库(GLAUX) OpenGL工具库(GLUT) OpenGL对窗口系统的扩展(WGL,等等) 功能 渲染(Rendering绘图)功能 提供图形绘制所需的各种功能函数 窗口管理功能 管理窗口系统的所有相关功能,如键盘鼠标的响应,各种窗口事件等等 相关函数库 OpenGL核心库(GL) 这部分函数用于常规的、核心的图形处理,是OpenGL的核心部分 包含300多个函数,函数名前缀一律是“gl” Windows平台上 头文件“GL.H” 库文件“OPENGL32.LIB” 动态链接库“OPENGL32.DLL” 核心库可以在所有的OpenGL平台上运行
您可能关注的文档
- 钱传彬的计算书.doc
- 纸张基本特性.doc
- 9化学药品排版.doc
- 07. Water.doc
- 初三5、6单元.doc
- 2012-2013 五人制足球规则.doc
- 超基性岩.doc
- so.simple.ppt
- 神秘的天然碱钙离子水.doc
- 酸碱.doc
- 2025年网络文学平台版权运营模式创新与版权保护体系构建.docx
- 数字藏品市场运营策略洞察:2025年市场风险与应对策略分析.docx
- 全球新能源汽车产业政策法规与市场前景白皮书.docx
- 工业互联网平台安全标准制定:安全防护与合规性监管策略.docx
- 剧本杀剧本创作审核标准2025年优化与行业自律.docx
- 2025年新能源电动巡逻车在城市安防中的应用对城市环境的影响分析.docx
- 全渠道零售案例精选:2025年行业创新实践报告.docx
- 2025年网约车司乘纠纷处理机制优化与行业可持续发展报告.docx
- 2025年宠物烘焙食品市场法规政策解读:合规经营与风险规避.docx
- 2025年宠物行业数据安全监管政策影响分析报告.docx
文档评论(0)