OpenGL ES学习第一篇:入门目录

698 阅读2分钟

OpenGL ES学习第一篇:入门目录

基础概要

仍在在摸索中,尽量简化各位大佬的骚操作,使用比较容易理解的代码来描述问题。

本蠢是Android打杂工程师,所以目前只能分析在Android上的OpenGL ES使用。不过也不用担心,使用OpenGL ES的API都是跨平台统一的,一个平台的api了解了,其他平台也是通用的。

  1. OpenGL ES学习第二篇:OpenGL ES概述
  2. OpenGL ES学习第三篇:定义一个最简单的纹理
  3. OpenGL ES学习第四篇:先来试一个简单的渲染方式
  4. 定义简单纹理,2D纹理Bitmap渲染
  5. 定义稍微复杂点的2D纹理,用于渲染视频画面的CameraTexture

简单渲染

前面是一些基础内容,比较通用。接下来看下怎么将纹理加载到屏幕上

  1. 使用GLSurfaceView自带的EGL环境,定义一个渲染器
  2. 使用GLSurfaceView自带的EGL环境,渲染简单纹理三角形
  3. 使用GLSurfaceView自带的EGL环境,渲染简单纹理2D纹理

讲道理了解GLSurfaceView并没什么用,真正需要使用OpenGL ES来做一些工作的需求也不会用到GLSurfaceView。基本上都会使用自定义EGL环境,更多的是使用jni在native层来构建EGL环境并调用OpenGL的接口来开发,不过对于Android工程师入门还是很有借鉴意义的,可以更快的了解EGL环境的创建以及GLThread的运行。直接上手底层代码比较容易晕,一步一步来吧。

接下来分析下在Java环境下是如何将显卡和屏幕连接起来的。

分析源码,探讨GLSurfaceView工作流程

  1. 分析GLSurfaceView源码
  2. 自定义EGL环境
  3. 使用自定义EGL环境,定义EGL渲染器
  4. 使用自定义EGL环境,渲染三角形和2D纹理以及视频纹理

该目录将不定期修改