QOpenGLTexture* Model::TextureFromFile(QString path, QString directory) { //Generate texture ID and load texture data QString filename = path; filename = directory + '/' + filename; //glGenTextures(1, &textureID); //int width, height; QOpenGLTexture *texture = new QOpenGLTexture(QImage(filename).mirrored()); texture->setMinificationFilter(QOpenGLTexture::LinearMipMapLinear); texture->setMagnificationFilter(QOpenGLTexture::Linear); texture->setWrapMode(QOpenGLTexture::Repeat); texture->setAutoMipMapGenerationEnabled(true); //unsigned char* image = SOIL_load_image(filename.c_str(), &width, &height, 0, SOIL_LOAD_RGB); // Assign texture to ID //glBindTexture(GL_TEXTURE_2D, textureID); //glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, image); //glGenerateMipmap(GL_TEXTURE_2D); // Parameters /*glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);*/ //glBindTexture(GL_TEXTURE_2D, 0); //SOIL_free_image_data(image); return texture; }
QOpenGLTexture* Map::createTexture(QImage& image) { QOpenGLTexture* texture = new QOpenGLTexture(image); texture->setMinificationFilter(QOpenGLTexture::Filter::Nearest); texture->setMagnificationFilter(QOpenGLTexture::Filter::Nearest); return texture; }
void QGLView::createTextTexture(TextParameters *textParameters) { int textureIndex = m_textTextList.indexOf(textParameters->staticText); QOpenGLTexture *texture = m_textTextureList.at(textureIndex); texture->create(); texture->setMinificationFilter(QOpenGLTexture::Nearest); texture->setMagnificationFilter(QOpenGLTexture::Nearest); texture->setWrapMode(QOpenGLTexture::ClampToEdge); texture->setData(m_textImageList.at(textureIndex)); }
GLuint AnimeGLWidget::bindTexture(QImage &image) { makeCurrent(); QOpenGLTexture *pTexture = new QOpenGLTexture(image.mirrored(), QOpenGLTexture::DontGenerateMipMaps); if (m_pSetting->getCheckLinearFilter()) { pTexture->setMinificationFilter(QOpenGLTexture::Nearest); pTexture->setMagnificationFilter(QOpenGLTexture::Linear); } doneCurrent(); return m_pTextureCacheManager->add(pTexture); }