笔记05 图形 1.4 PC手机图形API介绍

铁名_IronName Lv4

参考 爱渲染的镜子 的 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:定义OpenGLOpenGL ESVulkan等开放标准
  • Microsoft:定义DirectX(Windows专属)

平台支持现状

  • 电脑端:Windows支持DirectX和OpenGL;Linux/Mac(Unix)支持OpenGL
  • 移动端iOS和Android均支持OpenGL ES

2.2 演进时间线

1
2
3
4
5
6
1990s  ──▶  OpenGL 开放
2000 ──▶ OpenGL ES 1.0 (针对移动/嵌入式)
2005 ──▶ OpenGL SC (安全关键领域)
2008 ──▶ OpenCL (通用计算)
2014 ──▶ SPIR (中间语言)
2015 ──▶ Vulkan 1.0 (新一代高效API)

关键演进关系

  • 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.0OpenGL ES 3.0/3.1技术解读
兼容性-3.0向前兼容2.02.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++风格,输入输出更明确
渲染流程模型 → 顶点着色器 → 图元重组 → 光栅化 → 片元着色器 → 逐片元测试 → Framebuffer3.1增加顶点池与Transform Feedback:顶点着色器结果可回传至顶点池,供后续阶段复用3.1管线更灵活,支持GPU端数据反馈

4. 移动硬件适配:骁龙GPU与OpenGL ES版本

了解硬件支持级别,对确定项目最低API要求至关重要。
Adreno GPU系列支持情况

  • OpenGL ES 3.0Adreno 302、305、306、320、330、405、420 及更新型号
    • 注:从Adreno 320开始为“稳定支持”
  • OpenGL ES 3.1Adreno 405 及更新型号
  • OpenGL ES 3.2Adreno 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型号有哪些?
A1Adreno 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 进行许可。
评论