texture android,Android OpenGL结合了SurfaceTexture(外部图像)和普...

作者遇到问题,想将SurfaceTexture与叠加纹理混合,使用着色器在Android Evo3D设备上遇到黑色显示,只在SGS3和HTCOneX上正常。怀疑是Evo3D缺少必要的GL_OES_EGL_image_external扩展。寻求解决可能的扩展兼容性问题。
摘要由CSDN通过智能技术生成

我想将相机预览SurfaceTexture与一些叠加纹理混合.我正在使用这些着色器进行处理:

private final String vss = "attribute vec2 vPosition;

"

+ "attribute vec2 vTexCoord;

"

+ "varying vec2 texCoord;

"

+ "void main() {

"

+ " texCoord = vTexCoord;

"

+ " gl_Position = vec4 ( vPosition.x, vPosition.y, 0.0, 1.0 );

"

+ "}";

private final String fss = "#extension GL_OES_EGL_image_external : require

"

+ "precision mediump float;

"

+ "uniform samplerExternalOES sTexture;

"

+ "uniform sampler2D filterTexture;

"

+ "varying vec2 texCoord;

"

+ "void main() {

"

+" vec4 t_camera = texture2D(sTexture,texCoord);

"

//+" vec4 t_overlayer = texture2D(filterTexture, texCoord);

"

//+ " gl_FragColor = t_overlayer;

" + "}";

+ " gl_FragColor = t_camera;

" + "}";

我的目标是混合t_camera和t_overlayer.当我单独显示t_camera或t_overlayer时,它可以工作(显示相机预览或纹理).但是当我取消注释t_overlayer时,t_camera变成黑色(不知何故被严重抽样).我的覆盖层纹理是512×512和CLAMPT_TO_EDGE.

此问题仅出现在以下示例:Android模拟器,HTC Evo 3D.

但是在SGS3,HTC One X上,它运行得很好.

怎么了?是Evo 3D缺少一些扩展还是什么?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值