第三节:使用辅助库来学习OpenGL.doc

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

第三节:使用辅助库来学习OpenGL 这一节中你将学会: OpenGL要使用哪些头文件和库文件? OpenGL提供了基本的窗口函数? 怎样使用OpenGL画一个窗口并在其中绘画? 怎样使用OpenGL的默认坐标系统? 怎样使用RGB(Red, Green, Blue )创建混合色? 视口怎样影响图形尺寸? 怎样使用双缓存来创建简单的动画? 怎样绘制预定义物体? 既然介绍了OpenGL及3D图形的一些知识,现在就到了我们亲手编写一些OpenGL代码的时候了。此节从概要的讲OpenGL是怎样作用在编译器上开始,你将会学到一些按OpenGL传统命名的变量和函数。如果你已经编过OpenGL程序,你将亲自发现许多细节。否则,你可以跳过这一部分到使用辅助(AUX)库。 OpenGL:是编程接口API(Application Programming Interface),不是一种语言 OpenGL不是一种编程语言;它只是编程接口。当我说一个程序是基于OpenGL的或OpenGL程序,我是指它是用其它编程语言(像C、C++)来使用OpenGL库。我不是说一个用OpenGL编写的来执行的绘画程序。 既然是API,OpenGL库遵循C语言的使用方法。这是指用C来编程可以很容易地调用函数。不仅那些函数是用C写的,而且,一些中间的C函数也可以得到使用,因为它们是用汇编或其它的语言编写的。本书中,我的程序是用C或C++写的,并在运行在Windows NT和Windows 95环境下。C++程序可以很容易的调用C函数或API;其它的语言如被称为4GLs(第四代语言)像Visual Basic,也可以使用OpenGL的C库函数。第二十三章将讨论这些内容。 *在C++调用C函数:除了几节处理C++或4GLs程序框架外,所有章节的例子都是用C编写的。在赠送的光盘上面,也提供了这些例子的使用两种流行的程序框架(MFC,OWL)的C++代码。你可以查看一下那些代码,看一下我是怎样使用宏来保证它在可以在C中画图。 OpenGL的分工 OpenGL API分为三个不同的库。先看一下表3-1。 表3-1 OpenGL 库和头文件 库名 库文件名 头文件 函数前缀 辅助库 Glaux.lib Glaux.h aux 核心库 Opengl32.lib Gl.h Gl 实用库 Glu32.lib Glu.h glu 首先,本节讨论的是辅助库,glaux.lib。这个库的声明在头文件glaux.h中。这个库中包含的函数并不真正是OpenGL中的一部分。如果你的编译器中没有提供这些文件,你可以Microsoft Win32 SDK中找到。这个库中的所有函数都有一个前缀aux--- 。OpenGL的辅助库是一些特殊的函数,这些函数本来是用于初学者做简单的练习之用,因此这些函数不能在所有的OpenGL平台上使用,在Windows NT环境下可以使用这些函数。这些函数使用简单,它们可以用于窗口管理、输入输出处理以及绘制一些简单的三维形体。为了使OpenGL的应用程序具有良好的移植性,在使用OpenGL辅助库的时候应谨慎。 实际上定义OpenGL函数都在库opengl32.dll和头文件gl.h中。这个库中的函数的前缀是gl---。在OpenGL中有115个核心函数,这些函数是最基本的,它们可以在任何OpenGL的工作平台上应用。这些函数用于建立各种各样的形体,产生光照效果,进行反走样以及进行纹理映射,进行投影变换等等。由于这些核心函数有许多种形式并能够接受不同类型的参数,实际上这些函数可以派生出300多个函数。 最后,是OpenGL的实用库和它的头文件glu32.dll、glu.h。OpenGL的实用函数是比OpenGL核心函数更高一层的函数,这些函数是通过调用核心函数来起作用的。这些函数提供了十分简单的用法,从而减轻了开发者的编程负担。OpenGL的实用函数包括纹理映射、坐标变换、多边形分化、绘制一些如椭球、圆柱、茶壶等简单多边形实体(本书将详细讲述这些函数的具体用法)等。这部分函数象核心函数一样在任何OpenGL平台都可以应用。它们的每个函数都有是以glu开头的。 当你使用辅助库来编程时,opengl32.dll glu32.dll中的函数也可以调用,这也是本书很多章节关注的。这样,你将学到OpenGL的基础和一些gl库中的命令。 使用库的注意事项: 你可能已经注意到了,辅助库就是静态的库,而其它的OpenGL库实际上是以DLL来实现的。你需要连接的重要的库是:opengl32.lib和glu32.lib。通常它们是由编译器的厂家提供的,或者你可以在Win32 SDK中找到。如果你是使用的Borland C++,你需要使用Borland

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档