BitmapEffect.java 1.1 KB
Newer Older
1 2 3 4
package com.example.gsyvideoplayer.effect;

import android.opengl.GLSurfaceView;

G
guoshuyu 已提交
5
import com.shuyu.gsyvideoplayer.render.view.GSYVideoGLView.ShaderInterface;
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25


/**
 * 合成两个渲染图画面
 */
public class BitmapEffect implements ShaderInterface {
    public BitmapEffect() {
    }

    @Override
    public String getShader(GLSurfaceView mGlSurfaceView) {
        String shader =
                "#extension GL_OES_EGL_image_external : require\n"
                        + "precision mediump float;\n"
                        + "varying vec2 vTextureCoord;\n"
                        + "uniform samplerExternalOES sTexture;\n"
                        + "uniform sampler2D sTexture2;\n"
                        + "void main() {\n"
                        + "  vec4 c2 = texture2D(sTexture, vTextureCoord);\n"
                        + "  vec4 c1 = texture2D(sTexture2, vTextureCoord);\n"
G
guoshuyu 已提交
26 27
                        + "  vec4 whiteColor = vec4(1.0);\n"
                        + "  gl_FragColor = whiteColor - (whiteColor - c2) / c1;\n"
28 29 30 31 32
                        + "}\n";
        return shader;

    }
}