1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- #include "TexturLoader.h"
- TexturLoader::TexturLoader() : m_folder("")
- {
- // Constructeur par défaut
- }
- TexturLoader::TexturLoader(std::string folder) : m_folder(folder)
- {
- // Constructeur avec implémentation du dossier cible
- }
- TexturLoader::~TexturLoader()
- {
- for( m_it = m_paquet.begin(); m_it != m_paquet.end(); m_it++ )
- {
- delete m_it->second;
- m_it->second = 0x0;
- }
- }
- GLuint TexturLoader::take(std::string nom)
- {
- // Cherche la texture dans le tableau
- m_it = m_paquet.find(nom);
- // Si la texture est déjà chargée, on la donne
- if (m_it != m_paquet.end())
- return m_it->second->getID();
- // Sinon on la charge
- else
- {
- m_paquet[nom] = new Texture(m_folder + nom + ".bmp");
- return m_paquet[nom]->getID();
- }
- }
- void TexturLoader::addTextur(std::string nom, Texture* sampler)
- {
- m_it = m_paquet.find(nom);
- if (m_it == m_paquet.end())
- {
- m_paquet[nom] = sampler;
- return;
- }
- else
- {
- std::cout << "Attention ! La texture " <<nom<< " a déjà une surface associée. Destruction de la nouvelle surface." << std::endl;
- delete sampler;
- }
- }
- void TexturLoader::assignFolder(std::string folder)
- {
- m_folder = folder;
- }
|