背景
在之前的FFmpeg系列文章提供的开源工程中,我们采用的是OpenGL ES2.0来实现渲染模块,本篇文章主要记录升级到ES3.0的一些变更
变更
一、声明OpenGL版本要求
二、指定EGL版本为3.0
三、使用GLES30 API
四、顶点着色器的变更
#1: shader中需要使用#version 300 es进行声明
#2: attribute替换为in
#3: 从顶点到片源的变量使用out修饰,而不是varying
关于#3 varying的变更理由,stack overflow有一个问答帖做出了解释
五、片源着色器的变更
#1: 使用texture替换texture2D
#2: 使用自定义的输出fragColor替换gl_FragColor
PS:Demo工程只是用于演示变更,实际生产环境下基本都是使用2.0,然后运行时检测是否支持3.0