笔记05 图形 1.4 PC手机图形API介绍
参考 爱渲染的镜子 的 1.6 API —— PC 手机图形 API 介绍,苏格拉底没有底。 的 1.4 PC手机图形API介绍,由 DeepSeek 生成。
由 AI 生成,具体数据、版本号没有验证,使用时请亲自查找。
图形 1.4 PC手机图形API介绍
1. 基础概念与工作原理
1.1 电脑图形工作的基石
- 工作原理:电脑由硬件组成,驱动软件驱使硬件工作。
- API定义:图形API是一个图形库,是用于渲染2D/3D图形的跨语言、跨平台的应用程序编程接口,其操作对象主要是GPU。
1.2 应用端视角
- 应用端:指我们自己的程序。相对于OpenGL、DirectX等API,我们都是应用端。
1.3 核心图形术语
| 术语 | 简明解释 | 关键区分 |
|---|---|---|
| 图元 | 要渲染的几何物体或形状(如正方形、直线) | 渲染的基本几何单位 |
| 纹理 | 可通俗理解为一张“图片”,其中包含数据 | 在图形学中特指GPU中的图像数据 |
| 纹素 | 纹理的基本单元(Texel) | 与像素(Pixel)本质不同:像素是屏幕空间的单位,纹素是纹理空间的单位 |
| 顶点数组 | 存储图元各个顶点坐标数据的内存数组 | CPU端内存中的数据集合 |
| 顶点缓冲区 | 在显存中专门分配,用于存储顶点数组的区域 | GPU端显存中的数据集合,提升访问效率 |
2. 主流图形API发展图谱
2.1 两大阵营与平台支持
- Khronos Group:定义OpenGL、OpenGL ES、Vulkan等开放标准
- Microsoft:定义DirectX(Windows专属)
平台支持现状:
- 电脑端:Windows支持DirectX和OpenGL;Linux/Mac(Unix)支持OpenGL
- 移动端:iOS和Android均支持OpenGL ES
2.2 演进时间线
1 | 1990s ──▶ OpenGL 开放 |
关键演进关系:
- OpenGL ES是OpenGL在移动/嵌入式平台的分支与演进
- Vulkan被视为OpenGL的下一代产品,提供更底层的硬件控制
3. 核心对比:OpenGL ES 2.0 vs 3.0 vs 3.1
这是图形管线从“固定”走向“可编程”,并持续优化的关键阶段。
3.1 相同点:可编程管线的基石
OpenGL ES 2.0及以后版本均采用:可编程图形管线。开发者可自定义顶点着色器和片元着色器两个核心阶段的代码。
3.2 不同点深度解析
| 对比维度 | OpenGL ES 2.0 | OpenGL ES 3.0/3.1 | 技术解读 |
|---|---|---|---|
| 兼容性 | - | 3.0向前兼容2.0 | 2.0应用可在3.0环境运行,反之则需适配 |
| 核心功能 | 基础可编程管线 | 引入阴影贴图、体渲染、GPU粒子动画、几何实例化、纹理压缩、伽马校正 | 2.0不具备这些现代渲染技术 |
| 渲染管线 | 含Alpha测试、逻辑操作 | 移除Alpha测试与逻辑操作 | Alpha测试可在片元着色器中实现;逻辑操作因少用而移除 |
| 着色器脚本 | 版本声明:#version 100 es关键字: attribute varying内置变量: gl_FragColor | 版本声明:#version 300 es关键字: in out inout (取代attribute/varying)删除 gl_FragColor,改用**out关键字自定义输出**支持** layout布局修饰符**直接赋值 | 3.0脚本规范更接近现代C++风格,输入输出更明确 |
| 渲染流程 | 模型 → 顶点着色器 → 图元重组 → 光栅化 → 片元着色器 → 逐片元测试 → Framebuffer | 3.1增加顶点池与Transform Feedback:顶点着色器结果可回传至顶点池,供后续阶段复用 | 3.1管线更灵活,支持GPU端数据反馈 |
4. 移动硬件适配:骁龙GPU与OpenGL ES版本
了解硬件支持级别,对确定项目最低API要求至关重要。
Adreno GPU系列支持情况:
- OpenGL ES 3.0:Adreno 302、305、306、320、330、405、420 及更新型号
- 注:从Adreno 320开始为“稳定支持”
- OpenGL ES 3.1:Adreno 405 及更新型号
- OpenGL ES 3.2:Adreno 420 及更新型号
5. 未来趋势:Vulkan
5.1 定位与特性
- 多平台:支持Windows、Linux、Android等(苹果平台使用Metal)
- 更底层:较OpenGL提供更细粒度的硬件控制,减少驱动开销
- 高性能:适合游戏、CAD工具、性能基准测试等
5.2 综合评价
优势:
- 统一了PC与移动的高效图形接口,结束OpenGL/ES的分裂局面
- AMD Mantle技术奠基,设计更现代
挑战:
- 上手难度与维护门槛高:因为过于接近硬件,需要开发者做更多显式管理
- 驱动支持:是早期普及的主要短板,目前正在改善
展望:
作为有生命力的新一代API,随着工具链成熟和硬件普及,Vulkan在移动高性能图形领域的应用将越来越广泛。
6. 作业(参考答案)
Q1:说出支持OpenGL ES 3.2的骁龙GPU型号有哪些?
A1:Adreno 420 及之后的所有型号均支持OpenGL ES 3.2。
Q2:怎么看待Vulkan?
A2:Vulkan是面向未来的底层高性能图形与计算API。它解决了OpenGL时代“跨平台”却不统一的问题,在移动端性能强劲的今天,提供了统一的底层入口。虽然当前存在学习曲线陡峭、初期驱动支持不均衡等问题,但其高效、可控、跨平台的特性使其在重度图形应用中的价值日益凸显。对于追求极致性能和硬件掌控力的开发者而言,Vulkan是重要的技术储备。
- 标题: 笔记05 图形 1.4 PC手机图形API介绍
- 作者: 铁名_IronName
- 创建于 : 2026-02-11 19:09:55
- 更新于 : 2026-02-24 10:13:27
- 链接: https://blog.ironname.top/2026/02/11/笔记05-技术美术百人计划/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论