OpenGL ES学习第一篇:入门目录
基础概要
仍在在摸索中,尽量简化各位大佬的骚操作,使用比较容易理解的代码来描述问题。
本蠢是Android打杂工程师,所以目前只能分析在Android上的OpenGL ES使用。不过也不用担心,使用OpenGL ES的API都是跨平台统一的,一个平台的api了解了,其他平台也是通用的。
- OpenGL ES学习第二篇:OpenGL ES概述
- OpenGL ES学习第三篇:定义一个最简单的纹理
- OpenGL ES学习第四篇:先来试一个简单的渲染方式
- 定义简单纹理,2D纹理Bitmap渲染
- 定义稍微复杂点的2D纹理,用于渲染视频画面的CameraTexture
简单渲染
前面是一些基础内容,比较通用。接下来看下怎么将纹理加载到屏幕上
- 使用GLSurfaceView自带的EGL环境,定义一个渲染器
- 使用GLSurfaceView自带的EGL环境,渲染简单纹理三角形
- 使用GLSurfaceView自带的EGL环境,渲染简单纹理2D纹理
讲道理了解GLSurfaceView并没什么用,真正需要使用OpenGL ES来做一些工作的需求也不会用到GLSurfaceView。基本上都会使用自定义EGL环境,更多的是使用jni在native层来构建EGL环境并调用OpenGL的接口来开发,不过对于Android工程师入门还是很有借鉴意义的,可以更快的了解EGL环境的创建以及GLThread的运行。直接上手底层代码比较容易晕,一步一步来吧。
接下来分析下在Java环境下是如何将显卡和屏幕连接起来的。
分析源码,探讨GLSurfaceView工作流程
- 分析GLSurfaceView源码
- 自定义EGL环境
- 使用自定义EGL环境,定义EGL渲染器
- 使用自定义EGL环境,渲染三角形和2D纹理以及视频纹理
该目录将不定期修改