图形软件
图形软件指的是图形程序,可分为图形应用软件、图形支撑软件和图形应用数据结构 3 部分。这三者都处于计算机系统内部,并与外部的图形设备相对接,三者之间相互联系,互相调用,互相支持,形成图形系统的软件程序部分。
图形软件的层次
图形软件系统应该具有合理的层次结构和模块划分。。为了使整个系统设计清晰,调试和维护简单,便于扩充和移植,应把整个图形软件分为若干层次,每一层又分为若干层次或模块。
据此,从功能和作用上来划分,图形软件可分为图形应用软件和图形支撑软件两大类。其中,图形支撑软件根据功能和对象的不同又可细分为3个不同层次。

零级图形软件
零级图形软件是最底层的软件,又称设备驱动程序,它在计算机操作系统之上,是一些最基本的输入、输出子程序,主要解决图形设备与主机的通信、接口等问题。程序质量和效率要求尽可能高,因此常用汇编语言、机器语言或接近机器语言的高级语言编写。
事实上,设备驱动程序现在已被作为操作系统的一部分,由操作系统或设备硬件厂商开发,因此零级图形软件面向系统,而不是面向开发者。
一级图形软件
一级图形软件,又称基本子程序,包括生成基本图形元素、对设备进行管理的各程序模块。它可以用汇编语言编写,也可以用高级语言编写,要从程序的效率与容易编写、调试、移植等角度综合考虑。一级图形软件既面向系统,又面向开发者。
二级图形软件
二级图形软件,也称功能子程序,是在一级图形软件基础上编制的,其主要任务是建立图形数据结构,定义、修改和输出图形,以及建立起各图形设备之间的联系,要具有较强的交互功能。二级图形软件面向开发者,要求使用方便,概念明确,容易阅读,便于维护和移植。
三级图形软件
三级图形软件是为解决某种应用问题的图形软件,是整个应用软件的一部分。通常由开发者编写,主要面向图形应用的普通用户。
一般把零级到二级图形软件称为图形支撑软件或基本图形软件,而把三级或三级以上图形软件称为图形应用软件。
图形软件标准
随着计算机图形应用领域的不断扩大,各种图形软件日益增多,各种图形设备也层出不穷。为了使这些图形软件和图形设备间具有良好的兼容性和移植性,就要求图形软件和图形设备各界面之间具有统一的标准,以方便软件和设备的扩充和移植。
核心图形系统
早在1974年,在美国国家标准化局(ANSI)举行的“与机器无关的图形技术”工作会议上,提出了计算机图形的标准化和制定有关标准的规则。在此会议之后,美国计算机协会(ACM)成立了一个图形标准化委员会,在总结以往多年图形软件工作经验的基础上,于1977年公布了 CCS 规范,并于1979年公布了修改后的第二版。
计算机图形核心系统
原西德标准化组织(DIN) 定义设计了一个 GKS 标准,1979年DIN 又将 GKS 定为图形软件标准的基础。GKS 采用虚拟设备接口、虚拟显示文件和工作站概念,定义了一个独立于语言的图形核心系统。它提供了在应用程序和图形输入/输出设备之间的功能接口,包括控制、输入、输出、变换、询问等一系列交互和非交互式图形设备的全部图形处理功能。在具体应用中,必须符合所使用语言的约定方式,把 GKS 嵌入相应的语言之中。
程序员层次交互式图形系统
程序员层次交互式图形系统PHIGS是 ISO于1986年公布的计算机图形系统标准。2。该标准克服了 GKS-3D 的局限性,向程序员提供了控制图形设备的图形系统的接口,其图形数据按层次结构组织,使多层次的应用模型能方便地应用 PHIGS 进行描述。
另外,还提供了动态修改和绘制显示图形数据的手段。后来 ISO 公布了 PHIGS+,增加了曲线、曲面、光线与曲线真实感显示等功能。
图形库 GL
20世纪90年代初,美国硅图公司成为工作站 3D 图形领域的领导者。它开发的图形库GL既易于使用,而且还支持即时模式的渲染,被认为是最先进的图形库并成为事实上的行业标准,而基于开放标准的PHIGS则相形见绌,难于使用并且功能老旧。GL是最初在工作站 SUN、SGI、IBM、HP上广泛应用的一个工业标准图形程序库。因此,一开始GL是在UNIX操作系统下运行,具有C、Fortran、Pascal三种语言的联编形式。
1992年7月,SGI 发布了 OpenGL 的 1.0版本,后来又与微软共同开发了 Window NT下的新版本。Microsoft 利用 VisualC++ 把 OpenGL 集成到WindowsNT 中,又将其新版本集成到 Windows 95、Windows 98 中使用 Visual C++ 开发基于 OpenGL 的应用程序,又可以很方便地把工作站上已有的程序移植过来。
图形应用软件
图形应用软件是图形系统的核心,它对接图形应用数据结构获取模型与属性,经剪裁、变换等处理后,再与支撑软件对接,完成交互操作并更新保存图形数据。它还包含性能模拟、用户接口等辅助功能,构成完整的图形软件环境。
常见的图形应用软件有
-
AutoCAD -
Adobe Illustrator -
SolidWorks -
Maya -
3ds Max -
Blender等
其中 AutoCAD、Adobe Illustrator 属二维图形应用软件,SolidWorks、Maya、3ds Max 和 Blender 属于三维图形应用软件。
AutoCAD
AutoCAD 软件是由美国欧特克有限公司(Autodesk)出品的一款二维计算机辅助设计软件,可以用于绘制二维制图和基本三维设计,通过它无须懂得编程,即可辅助制图,因此它在全球广泛使用,可以用于土木建筑、装饰装潢、工业制图、工程制图、电子工业、服装加工等领域。

Adobe Illustrator
Adobe Illustrator,常被称为 AI,是一种应用于出版、多媒体和在线图像的工业标准矢量插画软件。作为一款非常好的矢量图形处理工具,该软件主要应用于印刷出版、海报书籍排版、专业插画、多媒体图像处理和互联网页面的制作等,也可以为线稿提供较高的精度和控制,适合生产任何小型设计到大型的复杂项目。

Maya
Autodesk Maya 是美国 Autodesk 有限公司出品的世界顶级的三维动画、建模、仿真和渲染软件,它提供了一个功能强大的集成工具组合,可用于动画、环境、运动图形、虚拟现实和角色创建。它的主要应用领域是专业的影视广告、角色动画和电影特技等。

图形支撑软件
图形支撑软件由公用图形子程序组成,扩展了系统原有高级语言和操作系统的图形处理功能,提供图形函数,建立图形相关命令与调用标准,对用户透明且与设备无关,支持高级语言接口,降低开发难度,方便应用软件移植。
OpenGL
OpenGL 具有的功能基本上涵盖了图形系统所要求提供的所有功能,包括基本图形元素的生成(如点、线、多边形、二次曲线曲面生成);封闭边界内的填色、纹理、反走样等;基本图形元素的几何变换、投影变换、窗口裁剪等;自由曲线曲面处理和隐藏线、隐藏面消除以及具有光照颜色效果的真实图形显示;自然界效果(如云彩、薄雾、烟 )的景象生成等。

WebGL
WebGL 是一种 3D 绘图标准,这种绘图技术标准允许把 JavaScript 和 OpenGL ES 2.0结合在一起,通过增加 OpenGL ES 2.0 的一个 JavaScript 绑定,WebGL 可以为 HTML5、Canvas 提供硬件 3D 加速渲染,这样 Web 开发人员就可以借助系统显卡来在浏览器里更流畅地展示 3D 场景和模型,还能创建复杂的导航和数据视觉化。

显然,WebGL 技术标准免去了开发网页专用渲染插件的麻烦,可被用于创建具有复杂 3D 结构的网站页面,甚至可以用来设计 3D 网页游戏等。
DirectX
DirectX 是一种图形应用程序编程接口 API,由微软公司创建开发。它并不仅仅是一个图形 API,只是它在3D 图形方面的优秀表现,让其他方面显得不是非常突出。从内部原理来看,它实质上就是一系列的动态链接库 DLL,通过这些 DLL, 程序员可以在无视设备差异的情况下访问底层的硬件。DirectX 主要应用于游戏软件的开发。

夜雨聆风