OpenGLES目前可用的有3个大版本:
- OpenGLES 1.x
- OpenGLES 2.x
- OpenGLES 3.x
按照编写方式分为2类版本:
- 固定管线
- 可编程管线
其中OpenGLES 1.x是固定管线版本的,也就是你只需要编写CPU端逻辑即可绘制出画面。OpenGLES 2.x及其以后都是可编程管线的版本,除了编写CPU端的逻辑外,还需要编写GPU端的算法才能绘制出画面。
因为固定管线和可编程管线版本的编写方式差异巨大,我们先抛弃老版本,从可编程管线的版本开始本教程。我们教程对OpenGLES内容的介绍顺序和其他大部分教程不同,我们面向对OpenGL有概念了解的开发者来展开,尽量让介绍的内容从有趣的实际案例出发来了解OpenGL的使用方法,摒弃常规教程按照概念一步一步教学的枯燥方式。
大纲
- 固定管线与可编程管线的差别
- 介绍OpenGLES 1.x的编程模式
- Shader编程的了解
- OpenGLES 2.0的基本流程
- 最小GLES 2.0程序
- 最简Shader
- Android OpenGLES 2.0
- 基本框架
- GLSurfaceView
- TextureView
- NDK OpenGLES编程
- 图片的绘制
- 基本Mesh的组成
- 面片的构建
- 纹理贴图
- 空间中的移动
- 在Shader中变换物体
- Shader的传参
- MVP矩阵
- 三维的物体
- 三维物体的创建
- 基本3D建模工具的介绍与模型导出
- OBJ模型的加载
- FBX模型的简介
- 光照
- 物体的变形
- 模型视图矩阵的概念
- 相机在矩阵的实现
- 投影矩阵
- 矩阵的最终去向
- 图片特效
- 基本色彩处理
- 进阶特效的实现(马赛克、模糊)
- “半透明”的实现与多重纹理
后续的教程将按照以上大纲展开,小霸王,其乐无穷~