Qt中OpenGL模块下将图片转化为纹理,并传入shader中

Posted 茶飘香~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt中OpenGL模块下将图片转化为纹理,并传入shader中相关的知识,希望对你有一定的参考价值。

 

    QImage texture, buffer;
    buffer.load("C:/Users/wukesong/Pictures/flower.jpg");
    texture = QGLWidget::convertToGLFormat(buffer);//转换为OpenGL支持的格式  
    glGenTextures(1, &gColorSpec);//创建纹理数量 :一个 

    glBindTexture(GL_TEXTURE_2D, gColorSpec);//将纹理绑定到目标纹理上  
    glTexImage2D(GL_TEXTURE_2D, 0, 3, texture.width(), texture.height(), 0,
        GL_RGBA, GL_UNSIGNED_BYTE, texture.bits());
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);//滤波  
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    glBindTexture(GL_TEXTURE_2D, 0);

 

以上是关于Qt中OpenGL模块下将图片转化为纹理,并传入shader中的主要内容,如果未能解决你的问题,请参考以下文章

QT和OpenGL如何正确集成并显示纹理

Qt OpenGL纹理是黑色的

Qt OpenGL 纹理透明度问题

基于Qt的OpenGL可编程管线学习- 多重纹理

将纹理添加到 QT OpenGL 场景图

OpenGL将图像平铺到纹理中并耗尽内存