OpenGL--图形API简介

1,160 阅读6分钟

相关目录:

  1. OpenGL--图形API简介
  2. OpenGL--相关名词解释
  3. OpenGL--环境配置
  4. OpenGL--案例1-绘制一个三角形
  5. OpenGL--案例2-绘制正方形
  6. OpenGL--图像撕裂
  7. OpenGL--3D数学相关(向量和矩阵)
  8. OpenGL--矩阵变换和矩阵堆栈

图形和图像简介

概念

图形 (Graphic):

图形 (也叫 矢量图 ) 是指在一个 二维空间 中可以用 轮廓 划分出若干的空间形状, 是一个由外部的轮廓线条构成的 矢量图。就是由计算机去绘制的直线、圆、矩形等几何图形。

图形文件只会记录生成图的算法和图上的某些点, 在计算机进行还原时, 相邻的点之间用特定的很多段小直线连接形成曲线, 如果曲线构成一个封闭的图形, 也可以用 着色 算法来填充颜色。它具有 矢量图 的所有特点, 主要用于表示线框行的图画、工程制图、美术字等。

矢量图

根据几何特性绘制的图形, 可以是一个点或者一条线。特点是空间占用小, 并且放大后不会导致图像失真。(ps: 关于矢量图可以去网上再去查询一下)

图像 (Image):

图像 (也叫 位图) 是由一些排列的像素组成的, 一般数据量会比较大。它是对客观对象的一种表示, 包含了被描述对象的有关信息。

图像根据记录方式的不同可以分为 模拟图像数字图像, 模拟图像是指可以通过某种物理量(比如光、电等)等的变化来记录图像亮度信息(例如模拟电视图像); 数字图像的话则是用计算机存储的数据记录图像上的各点的亮度信息。

储存格式

图形的存储

图形只保存有相关的算法和控制点, 所以图形文件的存储空间占用一般比较小, 但是在进行屏幕显示时, 由于需要扫描转换的过程, 在显示速度上相对于图像会慢, 但是输出质量比较好。其常见的存储格式如下:

1. PNG 格式

PNG 是一种采用无损压缩算法的位图格式, 它的目的是视图替代 GIF 和 TIFF 格式, 同时增加一些 GIF 格式所不具备的特性

2. CDR 格式

CorelDraw软件专用的一种图形文件存储格式

3. AI 格式

Illustrator软件专用的一种图形文件存储格式

4. DXF 格式

是AutoCAD软件的图形文件格式,该格式以ASCII方式存储图形,可以被CorelDraw、3Dmax等软件调用和编辑

5. EPS 格式

该格式是一种通用格式,可用于矢量图形、像素图像以及文本的编码,即在一个文件中同时记录图形、图像与文字

图像的存储

图形文件的存储格式和处理软件目前最流行的就是 Adobe公司的Photoshop软件, 常用的存储格式有下面几种:

1. BMP 格式

是Windows中的标准图像文件格式,它以独立于设备的方法描述位图,各种常用的图形图像软件都可以对该格式的图像文件进行编辑和处理

2. TIFF 格式

常用的位图图像格式,TIFF位图可具有任何大小的尺寸和分辨率,用于打印、印刷输出的图像建议存储为该格式

3. JPEG 格式

一种高效的压缩格式,可对图像进行大幅度的压缩,最大限度地节约网络资源,提高传输速度,因此用于网络传输的图像,一般存储为该格式

4. GIF 格式

该格式可在各种图像处理软件中通用,是经过压缩的文件格式,因此一般占用空间较小,适合于网络传输,一般常用于存储动画效果图片

5. PSD 格式

Photoshop软件中使用的一种标准图像文件格式,可以保留图像的图层信息、通道蒙版信息等,便于后续修改和特效制作。

6. PDF 格式

又称可移植(或可携带)文件格式,具有跨平台的特性,并包括对专业的制版和印刷生产有效的控制信息,可以作为印前领域通用的文件格式

图形 API 简介

了解了 图形图像 的相关内容, 接下来再来看一下目前都有哪些 图形 API(Application Programming Interface) :

OpenGL

OpenGL (Open Graphics Library) 是一个跨编程语言、跨平台的专业图形程序接口。它用于三维图像 (二维的也可以), 是一个功能强大, 调用方便的底层图形库。(接下来会去学习的对象)

支持的平台包括: Windows、类 Unix、Linux、MacOS。

OpenGL ES

OpenGL ES (OpenGL for Embedded Systems), 是 OpenGL 三维图形 API 的子集, 针对手机、PDA (Presonal Digital Assistant 掌上电脑) 和 游戏主机等嵌入式设备而设计, 去除了OpenGL中许多不必要和性能较低的API接口。

DirectX

DirectX (Direct eXtesion, 简称 DX) 是由微软公司创建的多媒体编程接口, 它并不是一个单纯的图形API,它是由微软公司开发的用途广泛的API。它由很多API组成,按照性质分类,可以分为四大部分,显示部分、声音部分、输入部分和网络部分。

Metal

WWDC 2014 上,Apple为游戏开发者推出了新的平台技术 Metal,该技术能够为 3D 图像提高 10 倍的渲染性能,并支持大家熟悉的游戏引擎及公司。

Metal 是一项全新的技术,专为开发高临场感主机游戏的开发者打造,可让开发者全力发挥 A7 和 A8 芯片的性能。该技术经过优化,使处理器和图形处理器能够协同工作来实现最优性能。它专为多线程而设计,并提供各种出色工具将所有素材整合在Xcode中。

图形 API 的作用

1. 对按钮, 图片, 视图等的渲染

2. 游戏开发中的 人物/场景渲染

3. 音视频解码以后的数据渲染

4. 动画操作中的一些旋转、缩放、移动等的特效处理

5. 离屏渲染 (后续补充)

总结

本次内容主要是对 图形图像 的一些相关概念介绍, 以及目前主流的几种 图形 API 的相关介绍, 内容可能不够全面, 感兴趣的同学可以自行去搜索了解一下。以上就是全部内容, 感谢~

和谐学习, 不急不躁~