1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
   | bool Texture::charger(std::string fichier)
{
	sf::Image image;
	if (!image.loadFromFile("Textures/Terre.png"))
	{
		std::cout << "[ERREUR] Initialisation texture\n";
		return false;
	}
 
	sf::Image image2;
	if (!image2.loadFromFile("Textures/Herbe.png"))
	{
		std::cout << "[ERREUR] Initialisation texture\n";
		return false;
	}
 
	if (glIsTexture(m_identifiant) == GL_TRUE)
		glDeleteTextures(1, &m_identifiant);
	glGenTextures(1, &m_identifiant);
 
	glBindTexture(GL_TEXTURE_2D_ARRAY, m_identifiant);
	glTexImage3D(GL_TEXTURE_2D_ARRAY, 0, GL_RGBA, image.getSize().x, image.getSize().y, 2, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
	glTexSubImage3D(GL_TEXTURE_2D_ARRAY, 0, 0, 0, 0, image.getSize().x, image.getSize().y, 1, GL_RGBA, GL_UNSIGNED_BYTE, image.getPixelsPtr());
	glTexSubImage3D(GL_TEXTURE_2D_ARRAY, 0, 0, 0, 1, image2.getSize().x, image2.getSize().y, 1, GL_RGBA, GL_UNSIGNED_BYTE, image2.getPixelsPtr());
 
	glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
	glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
	glBindTexture(GL_TEXTURE_2D_ARRAY, 0);
 
	return true;
} | 
Partager