Qt-OpenGL中的多纹理贴图

使用OpenGL构建三维图像时,多纹理贴图是关键步骤。本文介绍如何在Qt环境中加载纹理图像,并处理可能出现的问题。通过QImage的load()函数加载序列化的纹理文件,例如Image1.bmp到Image32.bmp,创建32个二维纹理。虽然过程看似简单,但在实际操作中可能会遇到一些小困扰,作者分享了这些经验,以帮助开发者避免浪费时间。
摘要由CSDN通过智能技术生成

__利用OpenGL对切片图像进行叠加构建三维图像是一个不错的选择。但是在图片叠加过程中必然会遇到多纹理映射,或许一个小小的错误或者几句代码顺序问题就会挡住我们追逐梦想的脚步,哈哈哈,好恶心。
__首先多纹理贴图第一步必然是纹理图片的加载。QImage的load()函数你值得拥有。然而只有load()肯定是不够的,一般的,我们会将图像的格式命名如Image1.bmp,Image2.bmp等有明显序列标识的文件名。`编程平台Qt+Win7+VS2013
QImage buf,tex[32];

QString s,filename;
for (int i = 1; i <= 31; i++)
{
    s = QString::number(i, 10);
    filename = "D:/chengxu/chengxu/GLWenLi/octdata_jiaomo/" + s + ".bmp";
    if (!buf.load(filename))
    {
        qWarning("load image failed!");
        QImage dummy(128, 128, QImage::Format_RGB32);
        dummy.fill(Qt::green);
        buf = dummy;
    }
    tex[i-1] = QGLWidget::convertToGLFormat(buf);//转换成OpenGL的图片格式
接下来就是生成纹理了`

    glGenTextures(1, &textur[i - 1]);//返回一个未用的ID用来命名纹理图片
    glBindTexture(GL_TEXTURE_2D, textur[i-1]);
    glTexImage2D(GL_TEXTURE
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值