美文网首页
Android基于Shader的图像处理(14)-仿抖音分屏预览

Android基于Shader的图像处理(14)-仿抖音分屏预览

作者: andev009 | 来源:发表于2019-01-02 11:06 被阅读23次

完整代码查看# AndroidShaderDemo下的SplitScreenTwoActivity
抖音上经常见到的分屏视频是这样:

douyin.jpg

之前的分屏预览用的两个View,不利于视频录制,这里用一个View实现分屏预览,就可以实现类似抖音的效果了。首先将相机采集画面渲染在一个帧缓存上,然后将帧缓存纹理传给一个分屏shader,这里是split_sreen_fragment_shader.glsl

这里实现的是分屏预览效果是上半部分是黑白色,下半部分是原色。shader的主要部分如下:

float cx = v_TextureCoordinates.x;
float cy = v_TextureCoordinates.y;

vec3 finalColor;
if(cy < 0.5){
      finalColor = texture2D(u_TextureUnit, vec2(cx, cy * 2.0)).rgb;
}else{
      finalColor = texture2D(u_TextureUnit, vec2(cx, (cy -0.5) * 2.0)).rgb;
      float luminance = dot(finalColor.rgb, W);
      finalColor = vec3(luminance);
}

最终效果是这样:


split_screen.gif

相关文章

网友评论

      本文标题:Android基于Shader的图像处理(14)-仿抖音分屏预览

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