调正opengles渲染坐标将图像旋转问题

这个代码段展示了如何在Android中使用OpenGLES2.0编写的NV21Display类,该类处理NV21格式的视频帧数据,并将其转换为RGB色彩空间进行显示。类内包含了顶点和片段着色器的代码,用于纹理映射和YUV到RGB的转换。同时,类还包含了一些OpenGL错误检查的方法。
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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值