乐于分享
好东西不私藏

图形软件

图形软件

图形软件指的是图形程序,可分为图形应用软件、图形支撑软件和图形应用数据结构 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 95Windows 98 中使用 Visual C++ 开发基于 OpenGL 的应用程序,又可以很方便地把工作站上已有的程序移植过来。

图形应用软件

图形应用软件是图形系统的核心,它对接图形应用数据结构获取模型与属性,经剪裁、变换等处理后,再与支撑软件对接,完成交互操作并更新保存图形数据。它还包含性能模拟、用户接口等辅助功能,构成完整的图形软件环境。

常见的图形应用软件有

  1. AutoCAD
  2. Adobe Illustrator
  3. SolidWorks
  4. Maya
  5. 3ds Max
  6. Blender

其中 AutoCADAdobe Illustrator 属二维图形应用软件,SolidWorksMaya3ds 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 场景和模型,还能创建复杂的导航和数据视觉化。

OpenGL、OpenGL ES 和 WebGL 之间的关系

显然,WebGL 技术标准免去了开发网页专用渲染插件的麻烦,可被用于创建具有复杂 3D 结构的网站页面,甚至可以用来设计 3D 网页游戏等。

DirectX

DirectX 是一种图形应用程序编程接口 API,由微软公司创建开发。它并不仅仅是一个图形 API,只是它在3D 图形方面的优秀表现,让其他方面显得不是非常突出。从内部原理来看,它实质上就是一系列的动态链接库 DLL,通过这些 DLL, 程序员可以在无视设备差异的情况下访问底层的硬件。DirectX 主要应用于游戏软件的开发。