Example #1
0
//接下来是读取纹理代码。这跟前面纹理影射教程中的一模一样。
//下面的代码同样对之前教程的代码改动很小。如果你不清楚下面每行的用途,回头复习一下。
//注意TextureImage[ ]将保存2个rgb图像记录。复查处理读取或存储纹理的纹理很重要。一个错误的数字可能导致内存溢出或崩溃!
void MyGLWidget::loadGLTexture()
{
    QImage fontImage(":/image/Font.bmp");
    fontImage = fontImage.convertToFormat(QImage::Format_RGB888);
    fontImage = fontImage.mirrored();
    glGenTextures(1, &m_texture[0]);
    glBindTexture(GL_TEXTURE_2D, m_texture[0]);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
    glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, fontImage.width(), fontImage.height(),
                 0, GL_RGB, GL_UNSIGNED_BYTE, fontImage.bits());
}
Example #2
0
void MainMenu::paintEvent(QPaintEvent *)
{
    QImage fontImage(":/new/prefix1/Images/swagdog.jpg");
    QPainter painter(this);
    painter.drawImage(0, 0, fontImage.scaled(this->size()));
}