OpenGL 学习教程
Android OpenGL ES 学习(一) – 基本概念
Android OpenGL ES 学习(二) – 图形渲染管线和GLSL
Android OpenGL ES 学习(三) – 绘制平面图形
Android OpenGL ES 学习(四) – 正交投屏
Android OpenGL ES 学习(五) – 渐变色
Android OpenGL ES 学习(六) – 使用 VBO、VAO 和 EBO/IBO 优化程序
Android OpenGL ES 学习(七) – 纹理
代码工程地址: .git
OpenGL 是自己一直比较感兴趣的,刚好最近工作也有 OpenGL 的需求,所以,这里也记录一下学习过程。
OpenGL (open graphics library)是一个跨平台的图像程序接口,用于调用硬件的2D ,3D 图形处理器,是一种图形处理硬件的标准软件接口。
而 OpenGL ES 是 OpenGL 的分支,针对手机和嵌入式设备,裁减了 OpenGL 部分不必要的功能。
Android 支持多版 OpenGL ES API (参考):
OpenGL ES 版本 | Android 版本 | 兼容性 | 功能 |
---|---|---|---|
1.0 & 1.1 | Android 1.0 | 固定的图像管道,开发难度相比2.0低 | |
2.0 | Android 2.2 (API level 8) | 不兼容1.x | 可编程的渲染管道,性能效率更高,开发难度更高 |
3.0 | Android 4.3 (API level 18) | 兼容2.0 | 性能更高,支持ETC2格式的透明纹理压缩 |
3.0 | Android 5.0 (API level 21) | 兼容2.0/3.0 | 新增计算着色器、单独的着色器对象等新特性,更多查看Android5.0特性 |
首选 GL3.0 版本,现在2022年了,厂商基本支持 3.0 版本,而且3.0 也兼容2.0 ,所以直接上手3.0 即可。两者的改动,可自行搜索。
如果你的应用使用的 OpenGL 功能不一定在所有设备上可用,则你必须在 l 文件中包含这些要求。以下是最常见的 OpenGL 清单声明:
<!-- Tell the system this app requires OpenGL ES 2.0. --><uses-feature android:glEsVersion="0x00020000" android:required="true" />
各类版本如下:
glEsVersion 值 | 版本 |
---|---|
2.0 | 0x00020000 |
3.0 | 0x00030000 |
3.1 | 0x00030001 |
通过下面这张图可以看到,它其实是 CPU 和 GPU 图形交互的一个桥梁,可以理解成一个库(图片来源)
因为 GPU 在处理逻辑运算方面,有天然的优势,因此,可以理解 OpenGL ES 就是一个能操作 GPU 的API。
参考:
/01%20OpenGL/
本文发布于:2024-02-02 11:50:50,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170684585043606.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |