旧工程升级到OpenGL ES3.0都有哪些变更

2023-12-04 19:06:12 浏览数 (2)

背景

在之前的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

0 人点赞