此例程接上一例子:
上个例子是画简单的三角形,这个例子显示RGB纹理贴图
为什么叫RGB纹理贴图呢,因为次例子是向gpu传递RGB格式的buffer,来显示,后续会有例子向GPU传递YUV数据,在GPU转成RGB来显示。
遇上个例子相比,修改的不多,
主要是paint函数的修改。
voidSquircleRenderer::paint()
{
initializeGLFunctions();
if(!m_program){
m_program=newQOpenGLShaderProgram();
m_program->addShaderFromSourceCode(QOpenGLShader::Vertex,
"attributehighpvec4vertices;"
"varyinghighpvec2tcoord;"
"voidmain(){"
" gl_Position=vertices;"
" tcoord=vertices.xy;"
"}");
m_program->addShaderFromSourceCode(QOpenGLShader::Fragment,
"varyinghighpvec2tcoord;"
"uniformsampler2Dtex;"
"voidmain(void){"
"gl_FragColor=