Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Utiliser les textures dans un contexte glut  (Lu 1681 fois)

0 Membres et 1 Invité sur ce sujet

Sarcarx

  • Invité
Utiliser les textures dans un contexte glut
« le: Août 22, 2014, 12:10:00 pm »
Bonjour,

Je viens juste pour demander si c'est possible d'utiliser l'objet sf::Texture si j'ai ouvert un contexte opengl avec glut. L'intérêt serait de profiter de tous les avantages de SFML... Sans changer le code suivant mes textures dans un contexte SFML marchent mais s'affichent noir dans un contexte glut :



bool VertexObject::SFMLloadTexture(const char * path) {
        sfml_texture = new sf::Texture();
        if(!sfml_texture->loadFromFile(path)) {
                std::cout << "Error loading texture !!" << std::endl;
                return false;
        }
        sfml_texture->setRepeated(true);
        glGenBuffers(1, &color_array_buffer);
        glBindBuffer(GL_ARRAY_BUFFER, color_array_buffer);
        glBufferData(GL_ARRAY_BUFFER, uvs.size() * sizeof(glm::vec3), &uvs[0], GL_STATIC_DRAW);
        return true;
}

//using the texture :
                GLuint TextureID  = glGetUniformLocation(shaderProgram, "myTextureSampler");
                if(!TextureID)
                        cout << "TextureID not found ..." << endl;
                // glEnableVertexAttribArray(TextureID);
                glActiveTexture(GL_TEXTURE0);
                if(SFML)
                        sf::Texture::bind(sfml_texture);
                else {
                        glBindTexture (GL_TEXTURE_2D, texture);
                }
                glUniform1i(TextureID, 0);

 

Merci !

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Utiliser les textures dans un contexte glut
« Réponse #1 le: Août 22, 2014, 12:21:27 pm »
Non tu ne peux pas. L'identifiant de texture chargée depuis un contexte OpenGL de SFML n'existe pas dans le contexte OpenGL de GLUT.

Tu ne devrais pas mélanger deux bibliothèques similaires telles que GLUT et SFML. Tiens-toi en à une seule pour faire tous les trucs OpenGL (contexte & ressources).
Laurent Gomila - SFML developer

Sarcarx

  • Invité
Re : Re : Utiliser les textures dans un contexte glut
« Réponse #2 le: Août 22, 2014, 12:23:31 pm »
Non tu ne peux pas. L'identifiant de texture chargée depuis un contexte OpenGL de SFML n'existe pas dans le contexte OpenGL de GLUT.

Tu ne devrais pas mélanger deux bibliothèques similaires telles que GLUT et SFML. Tiens-toi en à une seule pour faire tous les trucs OpenGL (contexte & ressources).

ok ;'( et du coup tu peux me conseiller une librairie annexe à glut pour importer les textures (fichiers les plus variés possibles) ? je suis parti sur SOIL mais j'ai de appréhension j'ai l'impression que c'est pas évident à utiliser.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Utiliser les textures dans un contexte glut
« Réponse #3 le: Août 22, 2014, 01:18:11 pm »
SFML utilise stb_image. Ca tient en un fichier, et tu charges avec un appel de fonction. Difficile de faire plus simple.
Laurent Gomila - SFML developer