コード例 #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
ファイル: quiddiards.cpp プロジェクト: silencious/Quiddiards
void Quiddiards::loadResources(){
	for (unsigned i = 0; i < TEXNUM; i++){
		std::string file = texFiles[i];
		QImage image;
		/* add perlin noise to balls texture */
		if (file == "quaffle.jpg"){
			perlin(image, QColor(255, 0, 0, 0), 0.7);
		}
		else if (file == "bludger.jpg"){
			perlin(image, QColor(0, 0, 255, 0), 0.7);
		}
		else if (file == "snitch.jpg"){
			perlin(image, QColor(255, 214, 0, 0), 0.7);
		}
		else if (file == "cueball.jpg"){
			perlin(image, QColor(240, 240, 240, 0), 0.7);
		}
		else{
			image.load((":/images/" + file).c_str());
		}
		QOpenGLTexture* tex = new QOpenGLTexture(image);
		tex->setMinMagFilters(QOpenGLTexture::Linear, QOpenGLTexture::Linear);
		tex->setWrapMode(QOpenGLTexture::MirroredRepeat);
		textures[file] = tex;
	}
}
コード例 #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));
}