惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
T
Threatpost
P
Palo Alto Networks Blog
NISL@THU
NISL@THU
O
OpenAI News
Project Zero
Project Zero
G
GRAHAM CLULEY
P
Privacy International News Feed
A
Arctic Wolf
Microsoft Azure Blog
Microsoft Azure Blog
H
Help Net Security
M
MIT News - Artificial intelligence
T
Threat Research - Cisco Blogs
S
Security @ Cisco Blogs
Google DeepMind News
Google DeepMind News
B
Blog RSS Feed
D
Docker
aimingoo的专栏
aimingoo的专栏
博客园 - 【当耐特】
N
Netflix TechBlog - Medium
云风的 BLOG
云风的 BLOG
雷峰网
雷峰网
W
WeLiveSecurity
P
Proofpoint News Feed
腾讯CDC
Cloudbric
Cloudbric
S
Secure Thoughts
C
Check Point Blog
博客园 - Franky
T
The Exploit Database - CXSecurity.com
T
Troy Hunt's Blog
GbyAI
GbyAI
Security Archives - TechRepublic
Security Archives - TechRepublic
Application and Cybersecurity Blog
Application and Cybersecurity Blog
月光博客
月光博客
C
Cyber Attacks, Cyber Crime and Cyber Security
I
Intezer
TaoSecurity Blog
TaoSecurity Blog
L
Lohrmann on Cybersecurity
V
Visual Studio Blog
F
Fortinet All Blogs
博客园 - 叶小钗
C
CXSECURITY Database RSS Feed - CXSecurity.com
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recorded Future
Recorded Future
C
Cisco Blogs
博客园 - 司徒正美
Stack Overflow Blog
Stack Overflow Blog
Y
Y Combinator Blog
Apple Machine Learning Research
Apple Machine Learning Research

音视频开发进阶

音视频教程-第三节 音视频教程-第二节 真的,AI 可能就是新时代的信息差 充值 Cursor 之后,工作有了哪些变化?🤔 个人'蒸馏'大模型能做哪些有意思的事情 DeepSeek 大模型在 Mac 上的部署和运行 音视频教程-第一节 【WebRTC 专栏】-- Android 开发集成 WebRTC 库的几种方式 【WebRTC 专栏】-- 在 Mac M1 等系列芯片编译和开发 WebRTC-Android 库 Meta Llama3 大模型在 Mac 上的部署和运行 iOS VideoToolBox 解码 HEVC Open-GOP 视频的问题排查 Flutter 状态管理之 InheritedWidget 使用和分析 用 ChatGPT 回答技术问题怎么样 ? 音视频开发系统入门大致路线 UE 4.27 添加自定义 ShadingModel 用 UE4 虚幻引擎做个捏脸小功能~~ UE4 材质练习 之 凹凸贴图偏移的使用 UE4 材质练习系列基础 OpenGL上下文创建以及共享机制 007 | 播放器系列专栏-解析 MP4 文件读取信息 006 | 播放器系列专栏-在 Mac 上查看 MP4 格式信息 干货 | 快速抽取缩略图是怎么练成的? 关于直播、WebRTC、FFmpeg 的那些事 005 | 播放器系列专栏-在 Windows 上查看 MP4 格式信息 将音视频中的花屏、绿屏、黑屏问题一网打尽 关于音视频里面的解码帧率和渲染帧率 004 | 播放器系列专栏-认识MP4视频(下) 003 | 播放器系列专栏-认识MP4视频(上) 入门或者转行音视频,应该要怎么做? H264视频文件如何缩放分辨率 002 | 播放器系列专栏-FFmpeg依赖库的配置 001 | 播放器系列专栏-关于播放器项目的一个小实践 Seek策略以及在有B帧情况下的处理 目前流媒体开发工程师工作内容主要是什么? 一个音视频领域专业问答的小圈子 干货收藏 || Vulkan Game Engine 视频教程 音视频春节假期内卷指南(实操) Vulkan 在 FFmpeg 中的支持 Windows 下 FFmpeg 和 LibX264 的编译和配置 Metal 开发 | 使用 C++ 进行接口调用 音视频开发工作经验分享 || 视频版 FFmpeg 调用 MediaCodec 硬解码到 Surface 上 代码吸猫 | 用 OpenGL 图像渲染的养猫计划 百倍变速--解码到底能不能丢 非参考帧 ?FFmpeg 有话说!!! 老生常谈-FFmpeg 的编译问题轻松搞定 FFmpeg 调用 Android MediaCodec 进行硬解码(附源码) 【WebRTC 专栏】--创建相机预览 Unity Shader 光照基础之 Half Lambert 光照模型 Unity Shader 光照基础之Lambert光照模型 Unity Shader 光照基础内容 Unity Shader 显示一张图片纹理 UnityShader 的基本概念 Unity 物体的基本操作 C++ 模板系列小结07-尾置返回类型 C++ 模板系列小结06-可变参数模板特性 C++ 中的多线程的使用和线程池建设 C++ 模板系列小结05-模板类型作为模板参数 C++ 模板系列小结04-类模板中的成员模板 C++ 模板系列小结03-在模板中指定变量类型 C++ 模板系列小结02-非类型模板参数 C++ 模板系列小结01-函数模板和类模板 从零打造渲染引擎系列01-什么是渲染引擎 iOS开发 - 在 Swift 中去调用 C/C++ 代码 2021 技术新番 - 从零打造渲染引擎系列 iOS 音视频开发的一些基础准备工作 音视频交流群又来啦~~~ 【WebRTC 专栏】WebRTC & Android 开发学习环境搭建~ 【喜大普奔】域名终于备案通过啦 Shader 优化 | OpenGL 绘制网格效果 【音视频连载-011】第二季 FFmpeg 一层一层获取文件信息 KodeLife | Shader 实时编辑预览的强大工具使用实践 推荐几个堪称教科书级别的 Android 音视频入门项目 【音视频连载-010】第二季 FFmpeg 日志打印 【音视频连载-008】基础学习篇-SDL 播放 PCM 音频文件(下) 【音视频连载-007】基础学习篇-SDL 播放 PCM 音频文件(上) 【音视频连载-006】基础学习篇-SDL 播放 YUV 视频文件 【音视频连载-005】基础学习篇-SDL 加载 YUV 文件并显示 【音视频连载-004】基础学习篇-SDL 加载图片并显示 【音视频连载-003】基础学习篇-SDL 消息循环和事件响应 【音视频连载-002】基础学习篇-SDL 创建窗口并显示颜色 【音视频连载-001】基础学习篇- SDL 介绍以及工程配置 LearnOpenGL 源码在 MAC 上的编译与调试 2019 年终总结与回顾 Android NDK 开发的免费技术视频来啦~~ OpenGL 实现视频编辑中的转场效果 OpenGL 实践之贝塞尔曲线绘制 图像库 libjpeg-turbo 编译与实践 图像库 libpng 编译与实践 rust 开发编译 Android 动态库实践 Android NDK 开发 —— 从 Assets 文件夹加载图片并上传纹理 简单易用的图像解码库介绍 —— stb_image 博客图床迁移记 进击的 Vulkan 移动开发之 SwapChain 进击的 Vulkan 移动开发之 Command Buffer 进击的 Vulkan 移动开发之 Instance & Device & Queue 进击的 Vulkan 移动开发(一)之今生前世 Java 显式锁 Lock 与条件队列 C++ 标准容器库小结 一文读懂 YUV 的采样与格式 《OpenGL ES 3.x 游戏开发》碰撞检测之 AABB 包围盒
OpenGL ES 学习资源分享
音视频开发进阶 · 2018-07-11 · via 音视频开发进阶

一个专注音视频领域的小圈子

学习了一段时间的 OpenGL ES,并在公司的项目中得到了运用,也算是有了一些积累,现在分享一些当初学习的资源,大家一起来学习,共同交流进步。

关于学习方式

在分享资源之前,简单地聊聊学习的方式。

有句名言说的好:

书籍的人类进步的阶梯

在需要解决一些未知领域的问题、完成一些未知领域的需求时,是必须要去学习一些新东西的。

而在学习这些新东西时,不要太依赖于搜索引擎了,不然只是当下解决了某些问题、完成了某些需求。

通过看一些博客文章、看一些文章分析,在某些时刻确实是很有帮助的,但总是会存在一些碎片化知识,没有系统地形成知识网络,此时掌握的仅仅是技巧。还是要通过系统地去学习某些知识内容,在脑海里面有个完整的知识体系。

这个简单的道理大家都懂,就不多说了~

简单上手

作为程序员学习一项内容,最重要的就是 Hello World 了。

《OpenGL ES 应用开发实践指南》

这本书比较通俗易懂,直接上手使用 OpenGL ES,可以说是手把手教学了。

作为初学者,最重要的是啥?环境配置、Demo 运行呀~~~

在 《OpenGL ES 应用开发实践指南》里面,跟着书中的章节顺序走,每一章都会有代码示例,也算是一步步引导了。

你可以暂时不求甚解,先把示例工程运行起来,等熟练了再去深究原理。

美中不足的是,这本书针对的 OpenGL ES 版本是 2.0 的,在 OpenGL ES 3.x 中的一些特性无法体验到了,而且现在的手机大多支持 OpenGL ES 3.x 版本了,不过要是考虑到兼容低版本的情况,还是可以使用 OpenGL ES 2.0 版本的。

这本书是翻译过来的,它的英文原版封面如下:

《OpenGL ES 应用开发实践指南》

简单上手了 OpenGL ES 2.0 之后,该了解一下 OpenGL Shading Language (GLSL)了。

GLSL 就是着色器脚本语言,这个语言是用来给 GPU 运行的,灵活地使用它才能更好地掌握 OpenGL ES,要知道现在手机相机上的一些滤镜效果都是通过 GLSL 来实现的哦。

《OpenGL® Shading Language, Second Edition》

《OpenGL® Shading Language, Second Edition》

这本书是英文版的,讲解了 GLSL 的一些语法,基于的版本是 OpenGL ES 2.0 的,正好和前面的书籍配套学习了,而且英文难度不大,易懂。

该书中同样有很多例子可以实践,比如光照、阴影、噪音等。

通过这两本书的配套练习,可以掌握 OpenGL ES 2.x 版本的基本内容了。

当然了,除此之外,你还需要更多的练习。

可以参考这本书,获得更多打怪晋级的经验:

《Android 3D 游戏开发技术宝典》

《Android 3D 游戏开发技术宝典》一书中有很多可以在实践中用到的内容,具体内容就等大家自行探索了~~~

高阶版本

当然了,学会了 OpenGL ES 2.0 再去看 OpenGL ES 3.x 就容易多了。

这两者在 GLSL 上是有一些变化的,另外 OpenGL ES 3.x 支持的渲染效果更好,而且支持的特性更多。

关于 OpenGL ES 3.x 版本的学习,有如下书籍推荐:

OpenGL ES 3.x 游戏开发

OpenGL ES 3.0 编程指南

在 Android 后续系统版本中,都开始使用 Vulkan 来替代 OpenGL 了。

等掌握了 OpenGL ES 之后,下一个就是 Vulkan 了~~~

另外关于书籍推荐,其实大家可以到京东或者当当上搜索一下关键字就知道了,目前市面上关于 OpenGL ES 的书籍也不多,搜来搜去也就是那几本书啦~~~对于其他领域的书籍情况类似…

深入理解

当你已经掌握了 OpenGL ES 的大部分内容,并且可以简单的运用他们了,这时候再想去深入理解它们,那就必须要说到 OpenGL ES 学习中的红宝书和蓝宝书了。

红宝书指的是 《OpenGL 编程指南》,目前已经出到了第九版了,蓝宝书指的是《OpenGL 超级宝典》目前已经出到了第五版了。

红宝书与蓝宝书

这两本书就没有前面那么多代码示例了,更多的是讲解一些原理相关的内容,而且也不是特别针对 Android 开发环境来讲的。这两本书更多是还是当做工具书来使用,当某些知识点不清晰时,看看书查漏补缺~~~(反正我是当工具书用了)

听说,下雨天,代码和书籍更配哦~

显然,光是看书是不够的,纸上得来终觉浅,绝知此事要躬行。

在 OpenGL ES 开发中,有一些项目是必看的:

这些项目中可以看到 OpenGL ES 在相机滤镜和视频录制方面的运用~

最后

俗话说:

独学而无友,则孤陋而寡闻

光是掌握了这些书上的内容还是不够的,更多的是需要交流和讨论,让这些知识在每一次的探讨中变得更加生动灵活,不再是枯燥的代码和理论。

那就赶紧扫码加入我们吧~~

要是二维码过期了,加微信 ezglumes 好友,备注 OpenGL ,拉你入群~

本文中提到的书籍资源,皆可在我的 Github 地址上下载得到:

https://github.com/glumes/AndroidOpenGLTutorial

一些 OpenGL ES 学习的代码也会在这里,求 Star 一波 。

原创文章,转载请注明来源:    OpenGL ES 学习资源分享