OpenGL ES, 初学者的自我总结

前言:
学习 OpenGL ES 一段时间了,深知这个过程的不容易。
尤其是入门,OpenGL 到底好在哪里?什么是渲染管线?什么是状态机?纹理是不是就是图片?深度测试,模版测试又是什么鬼?...
OpenGL 有太多太多的东西需要学习。我最初接触 OpenGL,就是想借助它,实现美图秀秀里的一些功能。然而,不知道看了多少教程,实现了多少个旋转立方体,困惑了多少次,放弃了多少回...
慢慢地,似乎找到了一些门路...
- 可以导入照片处理并保存了
- 可以实现简单的滤镜了
- 可以实现画笔功能了
- 可以实现马赛克功能了
- ...
于是,这系列的文章应运而生。
目标
这系列文章主要是个人学习过程中的一些总结,因为本人也是初学者,所以会从初学者角度,介绍 OpenGL ES 图像处理最直接的一些知识。
利用 OpenGL ES,学习如何在 iOS 平台上进行图像处理,实现各种效果。
这,就是我想学到的,也是想分享给大家的。
PS:时间允许的话,希望能保证一个星期输出一篇文章,鞭策自己~
目录
基础扫盲:
- OpenGL ES 开篇 : 以 Q&A 的形式,列举出在学习 OpenGL ES 之前会存在的一些疑惑。权衡是否该继续学习 OpenGL ES。
- OpenGL ES 基础概念:扫盲篇,先介绍一些必须了解的知识,便于之后能直接进入实战阶段。
- OpenGL ES 环境搭建:详解 OpenGL ES 接入方式,以最基础效果(设置背景色)来阐述。
- OpenGL ES 渲染基本图元:详细介绍可编程图形渲染管线是如何工作的。
- GLSL 详解(基础篇):详细介绍 OpenGL ES 2.0 着色器语言 GLSL 基础语法。
- GLSL 详解(高级篇):详细介绍 OpenGL ES 2.0 着色器语言高级特性。
Demo 讲解:
- 显示图片
- 视图封装
- 滤镜:色温(简单全局应用)
- 滤镜:Vignette,晕映(根据距离,区分处理)
- 形变:马赛克(简单形变,几点汇聚成一点)
- 形变:素描效果(根据边缘点,动态计算取样点色值)
- 基于 Lookup Table(Lut)的滤镜实现(用查找表替代浮点计算,提高效率)
- 多重滤镜叠加(实现及优化)
实战训练:
敬请期待
学习资料
PS:这里将罗列个人学习过程中,认为好的一些书籍,教程,Demo等。
该系列的文章中,一些阐述,配图,可能是从其它文章或者书籍中摘录整理的。为保证阅读以及书写方便,这部分出处说明统一放到学习资料里。
本人也处于学习阶段,精力有限,难免引用前人优秀教程。如果对您造成不必要的麻烦,请及时告知。
书籍
教程
OpenGL ES Programming Guide for iOS
Demo
Idea
PS:本人也处于 OpenGL ES 学习阶段,所以文章中难免存在问题,或者待优化地方。如果有任何不对,欢迎指出交流~