各种图形库介绍

各种图形以及其它库
图形库,著名的有两个:OpenGL和DirectX。
OpenGL(“Open Graphics Library”)是一个性能卓越的三维图形标准,是图形硬件的软件接口。他是在SGI等多家世界闻名的计算机公司的倡导下,以SGI的GL三维图形库为基础制定的一个通用共享的开放式三维图形标准,具有使用简便、效率高、便于移植、性能卓越等特点,独立于窗口系统和操作系统,以它为基础开发的应用程序可以十分方便地在各种平台间移植。目前包括Microsoft、SGI、IBM、DEC、SUN、HP等大公司都采用了OpenGL做为三维图形标准,许多软件厂商也纷纷以OpenGL为基础开发出自己的产品,其中比较著名的产品包括动画制作软件Soft Image和3D Studio MAX、仿真软件Open Inventor、VR软件World Tool Kit、CAM软件ProEngineer、GIS软ARC/INFO等等。包括迪斯尼梦工厂等好莱坞厂商的大批电脑特效程序都是使用的OpenGL库。

OpenGL有两大经典教材
OpenGL体系结构审核委员会,Dave Shreiner, Mason Woo, Jackie Neider, Tom Davis 联合撰写的《OpenGL Programming Guide: The Official Guide to Learning OpenGL》(OpenGL编程指南),此书因封面为红色,被大家爱称为“红宝书”。
Richard S Wright和Benjamin Lipchak的《OpenGL SuperBible》(OpenGL超级宝典),是另一本合适的入门教材。
OpenGL结构评审委员会的《OpenGL Reference Manual》(OpenGL 参考手册),就和他的名字一样,它是一本文档大全,和“红宝书”相对应,他被称为“蓝宝书” 。
按照前辈的经验,有红蓝两宝书足矣。不过,OpenGL社区的实力雄厚的很,好为人师的大牛也不少。有一位昵称NeHe的大牛,他在自己的网站上放了一整套完整的OpenGl教程,实例教学讲解清晰,而且会跟随OpenGL的发展在随时更新,更重要的是,除了C/C++的标准例程之外,他的例程还几乎涵盖世界上的所有语言,如果想用自己喜欢的独特语言,可以参考页面最下方的联接。NeHe的教程在http://nehe.gamedev.net/。同时,Nate Robin的例子对你理解OpenGL很有帮助。http://www.gamedev.net/reference/articles/article839.asp。
OpenGL最权威的资料在他的官方网站 http://www.OpenGL.org的Documentation中,可以下载到官方教程和例子程序。

DirectX是微软提供的一种应用程序接口(Application Interface)。简单的说它是一个提高系统性能的辅助加速软件。"Direct"的意思是"直接的",而"X"则意味着"无限"。事实上它是一个.dll(动态连接库Dynamic link library)的文件集合。通过这些动态连接库文件,开发者们可以在不考虑设备差异的情况下访问硬件最底层。这项特性使程序员从无尽的硬件驱动程序中解脱了出来。DirectX同时封装了一些COM(Component Object Model)对象,这些 COM 对象为访问系统硬件提供了一个主要的接口。DirectX是一种游戏开发利器,Windows下的大量游戏在制作时都用到了它。DirectX包括很多组件,他们按功能划分为:DirectDraw,Direct3D,DirectMusic,DirectSound,DirectShow,DirectPlay,DirectInput,DirectSetup and AutoPlay等等。
在DirectX中最重要并且最具有代表性的是Direct3D和DirectDraw(在DirectX7.0之后被合并进了Direct3D),它的主要功能就是3D图形。Direct3D和OpenGL处于竞争关系,很难评论他们孰优孰劣。OpenGL专攻图形,而且适用众多平台。而DirectX可以在Win平台下获得多样的服务,而不止是图形。
如果你想学习如何使用DirectX,那么必须得掌握BASIC或Delphi或C++/C#等语言中的一种,纯C是不行的。同时,掌握Win32编程技术以及一些其他相关的知识也是必需的。
Frank D.Luna的《DirectX 9.0 3D游戏开发编程基础》可以作为你的入门书。DierctX合适的入门书其实很多,重点是要注意版本要跟上最新的DircetX才行。
微软的东西,最标准的教材就是MSDN。想深入学习DirectX,就去翻阅MSDN好了。而且,那里也有不错的入门资料。

OpenGL和DirectX的最新进展往往是由显卡厂商作出的,经常去Nvidia和ATI的主页上去关注最新技术是个好选择。
其他库,比如用于构建窗口程序框架的GTK、QT、wxWidgets等,用于科学计算的Blitz、CGAL,网络通讯的ACE,加解密用的Crypto++,测试用的CppUnit,XML用的xml4c、XMLBooster、Xerces c++,当然也少不了即将加入标准库的Boost,这些库由于在不断的发展进化中,实体出版物相对较少,但他们自带的电子文档和相关主站上的资料通常足以满足需求。请记住,既然这些库的作者把他们发布给大家用,他当然要给齐资料让我们知道怎么用才行。

Feekood脚本语言(一种简便的3D图形语言)

宣言:do less, work more

Feekood是一种人工智能脚本技术,旨在建立一个开放的脚本语言平台,解决一系列的应用软件快速开发的问题。

Feekood结合了面向对象设计(OOP)、面向过程设计各自的优势,在传统程序设计逻辑的基础上,提供了更多更丰富的内容,通过提供丰富的编程接口和模板程序,大大简化编码工作,全面提高软件开发的工作效率。

Feekood提供平台化的编程方式,网络化的资源管理,让您可以随时随地开展工作。基于Feekood核心技术,可以迅速搭建游戏开发平台、大数据处理和分析、3D智能展现平台和行业应用平台。

我们相信“大道至简”,以最简单的方式完成工作,就是最好的选择。您只需掌握少量语法,参照样例程序,就可以将原本复杂的事情简单化,使开发者能够集中时间和精力关注业务,轻松地做出更好的软件产品。

时间: 2024-12-19 17:34:18

各种图形库介绍的相关文章

Linux 下的图形库介绍

在进行Linux下的图形系统编程时,我们常常会遇到以下这些概念: Framebuffer, X11, SDL,DFB, miniGUI, OpenGL,QT, GTK,KDE, GNOME等等. 一.Linux 图形领域的基础设施 1.1 X Window  X Window从逻辑上分为三层:X Server.X Client和X协议. 最底层的X Server(X服务器)主要处理输入/输出信息并维护相关资源,它接受来自键盘.鼠标的操作并将它交给X Client(X客户端)作出反馈,而由X Cl

c++入门之一:EGE图形库介绍与配置(VS2013、DEVCPP)

c++学习的方式方法很多,本篇笔记主要记录DEVCPP和VS2013的ege图形库的配置,为接下来利用ege图形库学习c++做准备. 一.EGE图形库简介 EGE图形行库中的EGE为Easy Graphics Engine的缩写,是windows下的简易绘图库,是一个类似BGI(graphics.h)的面向C/C++语言新手的图形库,它的目标也是为了替代TC的BGI库而存在.它的使用方法与TC中的graphics.h相当接近. EGE图形库的作者是:misakamm,他的主页请点击:[这里] E

嵌入式系统图形库GUI核心模块介绍

本文转载自:http://blog.csdn.net/xteda/article/details/6575278 (作者 冯青华 信庭嵌入式工作室(www.xteda.com)- CEO Blog:http://blog.csdn.net/fqheda )                                 <转载请注名来路> Technorati 标签: GUI 模块介绍 --------------------------------------------我是分割线-----

C语言图形库简单对比及EGE库的安装小手册

近期在琢磨C语言的图形库,发现主要有如下几种选择: Turbo C 的graphics库 SDL EasyX EGE 1. 普遍认为Graphics库太老了,而且TurboC本身使用比较麻烦,网上一边倒地不推荐.不过其实Turbo C也出了for Win 7/8/10的版本了,试着下载安装,发现需要微软的一些DLL,于是就没有继续了.有兴趣的朋友可以试试:https://turboc.codeplex.com/ 2. SDL是个大块头,似乎功能很多很强大,以下提供几个连接,供有兴趣的朋友钻研:

Qt 5框架介绍

该文章原创于Qter开源社区(www.qter.org),作者 yafeilinux,转载请注明出处! 一.在帮助中查看所有模块 打开 Qt Creator,进入其帮助模式,然后选择目录方式进行查看,打开 "Qt 5.2.0ReferenceDocumentation" 页面.在这里提供了Qt 5.2 的整体介绍,并将其所有内容进行了分类.我们选择右下角的 "All Qt Modules" 来查看所有的 Qt 模块.如下图所示. 在所有模块页面,将 Qt 的模块分为

PKI系统深入介绍

公钥基础设施(Public Key Infrastructure,简称PKI)是眼下网络安全建设的基础与核心,是电子商务安全实施的基本保障,因此,对PKI技术的研究和开发成为眼下信息安全领域的热点.本文对PKI技术进行了全面的分析和总结,当中包含PKI组成.证书认证机构CA.PKI应用.应用编程接口和PKI标准等,并对CA的开发做了简要分析.本文对PKI,特别是CA的开发.应用和普及具有一定的促进作用. 1 前言 随着网络技术和信息技术的发展,电子商务已逐步被人们所接受,并在得到不断普及.但因为

Android RakNet 系列之二 功能介绍

简介 RakNet 已经成功地在Android平台上测试成功.RakNet的文档很多,实现起来很简单,下面对Raknet功能细节进行详细了解. 详情 1.RakNet使用哪些数据结构? 结构文件 描述 DS_BinarySearchTree.h 二叉搜索树,以及AVL平衡二叉搜索树 DS_BPlusTree.h B+树,用于快速查询,删除,和插入 DS_BytePool.h 返回某个大小门限的数据块,减少内存碎片 DS_ByteQueue.h 用于读写字节的队列 DS_Heap.h 堆数据结构体

Chromium网页渲染机制简要介绍和学习计划

作为一个浏览器,快速地将网页渲染出来是最重要的工作.Chromium为了做到这一点,费尽了心机,做了大量优化工作.这些优化工作是卓有成效的,代表了当今最先进的网页渲染技术.值得一提的是,这些渲染技术不仅适用于网页渲染,也可以应用在原生系统的UI渲染上.例如,在Android系统上,我们就可以看到两者在渲染技术上的相似之处.本文接下来就对Chromium的网页渲染机制进行简要介绍,并且制定学习计划. 老罗的新浪微博:http://weibo.com/shengyangluo,欢迎关注! Chrom

嵌入式GUI系统Enlightenment Foundation Libraries图形库简介

******************************************************************************************************************************************************* 作者:EasyWave