呃..我在Android上使用OpenGL ES。
我想使用SurfaceTexture
和camera.setPreviewTexture
获取相机预览纹理,并使用它并在屏幕上渲染此纹理。
这是我的问题,我使用samplerExternalOES
类型在片段着色器源中声明一个采样器。我用Google搜索了一些文章,告诉我GL_TEXTURE_EXTERNAL_OES
通常用于YUV数据,我认为着色器没有将YUV转换为RGB。片段着色器处理所有片段,功能相同。它可以很好地运作,为什么?
如何使用着色器将YUV转换为RGB格式? 谢谢,请原谅我可怜的英语。
片段着色器代码:
#extension GL_OES_EGL_image_external : require
precision mediump float;
uniform samplerExternalOES uInputTex;
varying vec2 vTexCoord;
void main(){
gl_FragColor = vec4(texture2D(uInputTex,vTexCoord).rgb,1.0f);
}