在上章11.QT-ffmpeg+QAudioOutput实现音频播放器,我们学习了如何播放音频,接下来我们便来学习如何通过opengl来显示YUV画面
1.为什么使用QOpenGLWidget显示YUV...需要学习:
2.通过QOpenGLWidget绘制三角形
3.QOpenGLWidget-通过着色器来渲染渐变三角形
4.QOpenGLWidget-对三角形进行纹理贴图、纹理叠加
项目流程如下所示:...,存的是一个画面的颜色值,对应的还有sampler3D等
texture2D(texY, TexCoord): 其实等价于texture()函数,第一个参数为纹理采样器,第二个参数是对应的纹理坐标,该函数就会根据当前所在纹理坐标去获取对应的颜色...FragColor : 控制输出的颜色(rgba),(在3.3版本后需要通过out的方式来声明)
texture2D(texU, TexCoord).r-0.5: 由于opengl接受的颜色值为(0.0...以R为例:
由于R=yuv的第1行(y,u,v)和mat3()内的第1列(1.0,0.0,1.4075)的相乘和、
所以R=1.0Y+0*(U-128)+1.4075(V-128)
3.myglwidget