public class NV21Display {
private final static String TAG = "NV21Display";
public final String vertexShaderCode =
"attribute vec4 vPosition;" +
"attribute vec2 aTexCoord;" +
"varying vec2 vTexCoord;" +
"uniform mat4 mMat;" +
"void main() {" +
" gl_Position = vPosition;" +
" vTexCoord = aTexCoord;" +
"}";
private final String fragmentShaderCode =
"precision mediump float;" +
"varying vec2 vTexCoord;" +
"uniform sampler2D YTexture;" +
"uniform sampler2D UVTexture;" +
"void main() {" +
" float y = texture2D(YTexture,vTexCoord).r;" + // 使用 GL_LUMINANCE 类型, r == g == b = Y, a = 1.0 ,任取r g b 中一个
// NV21 V在U前 使用 GL_LUMINANCE 类型, r == g == b = v, a = u ,任取r g b
调正opengles渲染坐标将图像旋转问题
最新推荐文章于 2024-03-13 22:34:07 发布
这个代码段展示了如何在Android中使用OpenGLES2.0编写的NV21Display类,该类处理NV21格式的视频帧数据,并将其转换为RGB色彩空间进行显示。类内包含了顶点和片段着色器的代码,用于纹理映射和YUV到RGB的转换。同时,类还包含了一些OpenGL错误检查的方法。

最低0.47元/天 解锁文章
3444

被折叠的 条评论
为什么被折叠?



