コード例 #1
0
ファイル: Model.cpp プロジェクト: zhsuiy/SceneEnhancement
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;
}
コード例 #2
0
QOpenGLTexture* Map::createTexture(QImage& image) {
    QOpenGLTexture* texture = new QOpenGLTexture(image);
    texture->setMinificationFilter(QOpenGLTexture::Filter::Nearest);
    texture->setMagnificationFilter(QOpenGLTexture::Filter::Nearest);

    return texture;
}
コード例 #3
0
ファイル: qglview.cpp プロジェクト: hekav/QtQuickVcp
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));
}
コード例 #4
0
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);
}