OpenGL学习背景
OpenGL在视频相关开发中可能使用的比较多. 比如现在比较火的各类直播软件, 小视频App,相机等APP中比较简单的滤镜会使用Apple官方自带的 CIFilter类. 实际CIFilter底层根据是否传入OpenGL Context, 底层决定使用CPU还是GPU进行图片的渲染.
除非比较简单的特效使用CPU去渲染, 一般我们都会使用GPU去加速渲染. CIFilter对图片的用GPU渲染过程, 实际是对OpenGL的封装.
有一个非常出名的第三方图片处理库GPUImage就是通过OpenGL封装了各种滤镜, 并且提供们自定义滤镜算法的接口.
OpenGL入门路线
LearnOpenGL中文网站
强烈推荐LearnOpenGL中文网站作为OpenGL的入门首选.
开发环境搭建比较简单, 使用 Glitter 库, 直接build, 就能运行.
整个项目的参考源码: https://github.com/JoeyDeVries/LearnOpenGL
或者使用Glitter库版本的源码: https://github.com/THISISAGOODNAME/learnopengl-glitter
OpenGL SuperBible(蓝宝书)
OpenGL超级宝典被称为OpenGL的蓝宝书, 内容全, 入门太慢, 建议有时间详细研读.
目前京东上卖的是第五版, 使用的OpenGL 330,但是很多案例用的API被. 具体环境搭建参考: https://www.cnblogs.com/cheergo/articles/4721393.html
我个人建议读第七版的, 网上能够找到的是英文版, 第七版中OpenGL使用的OpenGL core 450版本. 具体第七版的环境配置可以参考: https://www.jianshu.com/p/2e221d9ca995.
OpenGL ES入门
OpenGL ES是OpenGL的子集, 主要用在嵌入式系统中, 下面的教程主要是在iOS中的使用, 建议我们在有一定的OpenGL基础以后,进行学习(至少学习过LearnOpenGL网站的入门篇).
这是一个系列教程: iOS开发-OpenGL ES入门教程
这里包括一些更加高级的调用: https://github.com/loyinglin/LearnOpenGLES
GPUImage源码学习
GPUImage是一个非常好的学习资料, https://github.com/loyinglin/GPUImage 是对GPUImage源码级别的学习资料.
其他参考
暂无
网友评论