美文网首页
Android万能视频播放器10-OpenGL ESMediaC

Android万能视频播放器10-OpenGL ESMediaC

作者: 张俊峰0613 | 来源:发表于2019-02-11 14:23 被阅读0次

1、OpenGL生成纹理

2、纹理绑定到SurfaceTexture上

3、用SurfaceTexture做参数创建Surface

4、MediaCodec解码的视频就往Surface发送,就显示出画面了

SHADE编写
vertex_shader.glsl

attribute vec4 av_Position;
attribute vec2 af_Position;
varying vec2 v_texPo;
void main() {
    v_texPo = af_Position;
    gl_Position = av_Position;
}

注: attribute 只能在vertex中使用
varying 用于vertex和fragment之间传递值

fragment_mediacodec.glsl

#extension GL_OES_EGL_image_external : require
precision mediump float;
varying vec2 v_texPosition;
uniform samplerExternalOES sTexture;

void main() {
    gl_FragColor=texture2D(sTexture, v_texPosition);
}

注: uniform 用于在application中向vertex和fragment中传递值。

相关文章

网友评论

      本文标题:Android万能视频播放器10-OpenGL ESMediaC

      本文链接:https://www.haomeiwen.com/subject/huijdqtx.html