我只知道怎么解码视频的每一帧渲染,不知道怎么把解码出的图片中的空白区域透明度设置为0
我觉得要用着色器吧,从纹理中采样颜色并与顶点颜色相乘
// 如果纹理坐标超过右侧,则丢弃该片段
// 默认输出颜色为白色
vec4 o = vec4(1.0, 1.0, 1.0, 1.0);
// 从纹理中采样颜色并与顶点颜色相乘
o *= texture2D(mainTexture, v_uv0);
o *= v_color;
float start = texSize.z / (texSize.z + texSize.w);
float scale = texSize.w / texSize.z;
if (v_uv0.x > start) {
discard;
} else {
// 计算水平alpha值
o.a = getHAlpha(v_uv0, scale, start);
}
float getHAlpha(vec2 uv, float scale, float offset) {
vec2 auv = vec2(uv.x * scale + offset, uv.y * scale);
return texture2D(mainTexture, auv).r;
}
没搞懂哦,你不是会写shader么,看上面描述应该是两张图片融合吧。没明白你是求助还是分享解决方案 
求助,我只是思想会了,但是写的不对
太好了谢谢大佬
可以可以 大佬这个是2.4x的版本吗?能不能给我个demo
你这公式不都写出来了:
gl_FragColor = vec4( texture2D(texture, vec2(vUv.x/2, vUv.y)).rgb, texture2D(texture, vec2(0.5 + vUv.x/2, vUv.y)).r );
才疏学浅,一知半解,总会卡东西,一直没有成功,救就胡乱的认为可能成功不了
大佬大佬就是这玩意
大佬给个demo,我把你的跟下面大佬的融合一下
太牛了。大佬就是这玩意,大赞
你自己慢慢研究吧,我还要上班
这不就是透明视频吗,前端和客户端用的挺频繁的
好的谢谢大佬
是,但是确实好难实现啊,大佬有时间帮忙看看下
js、ts版本都行


