欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    c语言与opengl介绍.ppt

    • 资源ID:5574572       资源大小:1.56MB        全文页数:39页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    c语言与opengl介绍.ppt

    计算机图形学,上海大学工业设计教研室 范乐明,计算机图形学,http:/,计算机图形学,第三章 OpenGL编程基础,3.1概述3.2OpenGL工作结构3.3OpenGL的功能3.4OpenGL工作流程3.5OpenGL图形操作步骤3.6OpenGL的组成3.7OpenGL数据类型3.8OpenGL函数命名约定3.9OpenGL程序,计算机图形学,概述,20世纪90年代,人们发现复杂的数据以视觉的形式出现最容易理解,三维图形得以迅猛发展,各种三维图形工作软件包相继推出,如PHIGS、PEX、RenderMan等OpenGL在交互式三维图形建模能力、外部设备管理以及编程方便性上由无以伦比的优势,计算机图形学,OpenGL对GL的进一步发展而来由于其高度可用性,几十家大公司接受其为标准图形软件接口OpenGL ARB(OpenGL Architecture Review Board,即OpenGL体系结构审查委员会)成员有,SGI,Microsoft(Direct 3D),Intel,IBM,SUN,HP,AT&T的UNIX软件实验室等OpenGL已经成为高性能图形和交互式视景处理的工业标准之一(D3D是其竞争对手),计算机图形学,作为图形软件接口,OpenGL由几百个指令或函数组成。对程序员而言,OpenGL是一些指令或函数的集合。一个使用OpenGL的典型描绘程序是首先在帧缓存中定义一个窗口然后在此窗口中进行各种操作,计算机图形学,对于OpenGL的实现者而言,OpenGL是影响图形硬件操作的指令集合。图形硬件可以包括不同级别 的图形加速器,从画二维的直线到多边形的网栅系统到包含能够转换和计算几何数据的浮点处理器如果只有一个帧缓存,OpenGL不得不几乎在CPU上实现对象的描绘。,计算机图形学,OpenGL的网络透明性在客户/服务器体系结构中,OpenGL允许本地和远程绘图,可以通过网络发送图形消息至远程机,也可以发送图形信息至多个显示屏幕。透过网络不会发生编译错误。,计算机图形学,优秀的专业化3D图形应用程序设计界面,API(Applied Programmer Interface)OpenGL 2.0已经出现不同公司由于开发目的不同,版本不一样。TGS OpenGL InventorSUN 面向Solaris的OpenGL基础图形库,计算机图形学,适用与广泛的计算环境,从个人计算机到工作站和超级计算机,OpenGL都能实现高性能的三维图形功能具有广泛可移植性成为三维图形的开发标准,计算机图形学,3.2 OpenGL的工作结构,客户/服务器模式客户(试图用OpenGL进行绘制工作的应用程序)向服务器(OpenGL)内核发布命令,这些命令是由服务器来解释的。大多数情况客户与服务器是运行在同一台机器上,但基于客户/服务器模式,在网络环境中很容易使用OpenGL,具有网络透明性,计算机图形学,OpenGL在Windows环境中的工作过程,客户应用程序,OpenGL DLL,服务器 DLL,Win32 DDI,视频驱动程序,客户应用程序,服务器,客户机,计算机图形学,3.3 OpenGL的功能,模型绘制模型观察颜色模式指定光照应用图像效果增强位图和图像处理纹理映射实时动画交互技术,计算机图形学,3.4OpenGL工作流程,图元操作图形控制OpenGL指令解释模型OpenGL基本操作,计算机图形学,图元操作OpenGL提供多种模式绘制图元(Primitive),一种模式的设置一般不会影响其他图元的设置,指令总是会被顺序处理的。图元由一组顶点定义。该组顶点既可以只包含一个顶点,也可以包含多个顶点。顶点的说明由位置坐标、颜色值、法向量和纹理坐标组成。每个顶点根据其是二维顶点和三维顶点而可以分别使用2个坐标、3个坐标或4个坐标。在OpenGL中,几何对象是根据glBegin()/glEnd()函数对之间所包含的一系列指定顶点的位置坐标、颜色值、法向量值和纹理坐标画出的。这样的几何对象有点线段、循环线段、分离线段、多边形、三角形、三角形扇、分离的三角形、四边形及分离的四边形,计算机图形学,2.图形控制提供诸如变换矩阵、光照、反走样方法、象素操作等来控制二维和三维图形的绘制,但不提供一个描述或简历复杂几何物体的手段。OpenGL提供的是怎样画复杂物体的机制,而非描绘复杂物体本身的面面俱到的工具,它是一个绘制系统而非造型系统。,计算机图形学,3.OpenGL指令解释模型OpenGL的指令解释模型是客户/服务器模式,计算机图形学,4.OpenGL的基本操作用户指令从左侧进入OpenGL。分为两部分,计算机图形学,OpenGL绘制原理图,几何顶点数据,图像象素数据,显示列表,求值器,逐点操作基元装配,象素操作,光栅化,基片操作,帧缓存,纹理存储器,计算机图形学,3.5 OpenGL图形操作步骤,根据基本图形单元建立景物模型,并且对所建立的模型进行数学描述把景物模型放在三维空间中合适的位置,并且设置视点(Viewpoint)以观察所感兴趣的景观。计算模型中所有物体的色彩,这些色彩将根据应用要求来确定,同时确定光照条件、纹理贴图方式等。把景物模型的数学描述及色彩信息转换至计算机屏幕上的象素中,这个过程也就是光栅化(Rasterization)并行的其他一些操作,如自动消隐处理等。,计算机图形学,3.6 OpenGL的组成,OpenGL核心库OpenGL实用程序库OpenGL系统扩展库OpenGL编程辅助库OpenGL实用程序工具库,计算机图形学,3.7 OpenGL数据类型,为了更容易将OpenGL代码从一个平台移植到另一个平台,OpenGL定义了自己的数据类型,这些数据类型被映射为常规的C数据类型,也可以直接使用C语言数据类型,但不同编译器环境对此有影响OpenGL定义的数据类型,将代码与这些类型变更相隔离。,计算机图形学,3.8 OpenGL函数命名约定,OpenGL的函数采取以下格式glColor3f(),库前缀,根命令,参数个数,参数类型,计算机图形学,3.9 OpenGL程序,最短的OpenGL程序,计算机图形学,最短的OpenGL程序,/Simple.c/The simplest OpenGL program with GLUT/#include#include/Called to draw scene/void RenderScene(void)/Clear the window with current clearing color/glClear(GL_COLOR_BUFFER_BIT);/Flush drawing commands/glFlush();,void SetupRC(void)glClearColor(0.0f,0.0f,1.0f,1.0f);/Main program entry point/void main(void)glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);glutCreateWindow(Simple);glutDisplayFunc(RenderScene);SetupRC();glutMainLoop();,计算机图形学,程序演示,,计算机图形学,头文件,#include#include 定义了程序所用的函数原型windows.h,包含大多数Win32函数原型glut.h还包含gl.h,glu.h头文件,定义了OpenGL和GLU的库函数,计算机图形学,主体,void main(void)C程序的入口点,用了控制台模式,没用WinMain,计算机图形学,1.显示模式glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);告诉GLUT库在创建窗口时候使用哪种类型的显示模式,这里标志它使用单缓冲窗口(GLUT_SINGLE)并使用RGB模式(GLUT_RGB),计算机图形学,2.创建OpenGL窗口glutCreateWindow(Simple);表示对GLUT库进行调用,在屏幕上实际创建窗口,并将标题设置为“Simple”glutCreateWindow的单个参数是窗口标题栏中的标题,计算机图形学,3.显示回调glutDisplayFunc(RenderScene);将先前定义的函数RenderScene设为显示回调函数,这意味着只要需要绘制窗口,GLUT就会调用这个指定的函数。,计算机图形学,4.设置上下文并执行SetupRC();这一行与GLUT和OpenGL都没有关系,这个函数的作用是进行OpenGL的初始化glutMainLoop();这个函数让GLUT框架开始运行。在为屏幕显示和其他函数定义了回调之后,这个函数回所有特定于操作系统的消息、键击等,直到用户终止这个程序为止。,计算机图形学,OpenGL图形调用,SetRC函数只包含一个OpenGL的函数调用:glClearColor(0.0f,0.0f,1.0f,1.0f);原型为Void glClearColor(Glclampf red,Glclampf green,Glcampf blue,Glclampf alpha);,计算机图形学,1.实际清除glClear(GL_COLOR_BUFFER_BIT);glClear函数用来清楚特定的缓冲区或者缓冲区组合。缓冲区是图像信息的存储区刚只是把蓝色设置为清除色,计算机图形学,2.刷新队列glFlush();让所有未执行的OpenGL命令都被执行,此时只有glClear未被执行在内部,OpenGL使用一条渲染流水线来处理命令,以提高效能glFLush函数只是告诉OpenGL,它应该处理到目前为止收到的绘图命令,而不要再等待更多的绘图命令。,计算机图形学,Turbo C图形函数,图形模式的初始化,计算机图形学,#includeint main()int gdriver=DETECT,gmode;initgraph(,计算机图形学,概念与术语,OpenGL的特点OpenGL的工作结构OpenGL的功能OpenGL的工作流程OpenGL的图形操作步骤OpenGL的组成OpenGL的数据类型OpenGL程序,计算机图形学,作业,P42,1,2,3,4,5,

    注意事项

    本文(c语言与opengl介绍.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开