begin process at 2012 02 10 13:30:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

OpenGL

 > 

Listes OpenGL : Problème de texture


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Listes OpenGL : Problème de texture

mercredi 15 juin 2005 à 13:50:20 | Listes OpenGL : Problème de texture

smoove5198


Bonjour,

Je travaille actuellement sur un projet en opengl. Pour des raisons de performence je me suis ecrit une classe qui crée du texte
a partir d'une texture TGA listant tous les caractères ASCII, j'utilise pour cela des listes d'affichage opengl.

(je vous passe les details de la création d'une liste, je n'ai pas de problème a ce niveau la)
Voila simplement la fonction qui me permet d'affichée une chaine de caractere dont j'ai déja crée les listes:


// dessine le texte
void CGLFont::DrawFontTexte()
{
     glDisable(GL_LIGHTING);

    // selectionne la texture des caracteres
    glBindTexture(GL_TEXTURE_2D,GLFontID);

    // pour utiliser ls listes opengl
    glEnableClientState(GL_VERTEX_ARRAY);       
    glEnableClientState(GL_TEXTURE_COORD_ARRAY);

    // la liste des points
    glBindBufferARB(GL_ARRAY_BUFFER_ARB,IDVertices);
    glVertexPointer(2,GL_FLOAT,0,(char*)NULL);
    // la liste des coordonnées de texture
    glBindBufferARB(GL_ARRAY_BUFFER_ARB,TextureListeID);
    glTexCoordPointer(2,GL_FLOAT,0,(char*)NULL);

    // enfin on dessine
    glDrawArrays(GL_QUADS,0,strlen(Texte)*4);

    glDisableClientState(GL_VERTEX_ARRAY);
    glDisableClientState(GL_TEXTURE_COORD_ARRAY);

    glEnable(GL_LIGHTING);
}

Je ne maitrise pas encore tres bien ce concept de liste, mais je ne crois pas faire de boulette enorme dans cette fonction ^^ a vous de me le dire :)

Mon probleme est le suivant : A partir du moment ou la fonction ci dessus a été appelé une première fois, toutes les textures que je tente d'affichées ensuite ne passe plus.

Voila ... je ne sais pas quoi vous dire d'autre ^^ . Si je n'ai pas été assez precis n'hesitez pas pour me demander d'eclaircir mon problème !

Smoove
mercredi 15 juin 2005 à 19:41:50 | Re : Listes OpenGL : Problème de texture

KeniiyK

Membre Club

Salut, ca fait quoi glBindBufferARB ?
Quand tu parles de listes, tu parles de listes d'ID de textures ou de DisplayList ?

Au sinon, (si j'ai bien compris) tu paux declarer une seule texture contenant les 256 caracteres a l'horizontale.
Ensuite tu introduis un decalage sur la coordonnée horizontale (s ou u comme tu veux) suivant le caractere de la chaine.

Je sais pas si j'ai ete tres clair...

KeniiyK

mercredi 15 juin 2005 à 21:56:07 | Re : Listes OpenGL : Problème de texture

smoove5198

En fait, ma methode pour créer mes chaines de caractères a peu d'importance ^^, j'ai juste voulu essayer d'expliquer en gros le contexte dans lequel je me trouve lorsque je rencontre mon bug.

Malheureusement comme je l'ai dit je ne connais pas encore tres bien le principe de liste d'affichage opengl, je ne connais d'ailleurs pas le nom exact qu'on lui donne, mais voici le principe  :

- On donne à opengl deux tableaux ( un tableau qui contient des coordonnées de points et l'autre les coordonnées de textures associées), ca je le fait dans une autre fonction que je n'ai pas montré ici.

- Ensuite au moment de dessiner, on selectionne la liste voulue (comme pour une texture, opengl m'a retourné un unsigned int identifiant chaque liste que je crée : ici IDVertices pour la liste de points et TextureListeID pour les coord de textures associées.

- Une fois la liste selectionnée, glDrawArrays(GL_QUADS,0,strlen(Texte)*4); demande a opengl de dessiner les strlen(Texte)*4 Coordonnées*2  a partir des tableaux que je lui ai donné a la création de la liste

Voila pour le concept, c t peu etre pas necessaire d'entrer autant dans les details , mais comme j'ai dit je sais pas comment ca s'appelle donc autant etre sur qu'on parle de meme chose.

Toujours est il que mon probleme n'est a proprement parlé a ce sujet : c seulement apres avoir utiliser cette methode de dessin ( qui fonctionne tres bien au passage) que tout ce que je v dessiner ensuite n'est plus texturé (les textures appliquées plus classiquement avec glTexCoord2f( )  ). En gros si j'efface dans mon code, tout ce qui fait appel a la fonction de dessin que j'ai donné au dessus, subitement toutes autres textures que j'affichent reaparaissent.

On dirait qu'il y a un conflit entre les deux en somme, et je ne vois vraiment pas pourquoi :s

(oula un bon pavé ca dsl ^^ )


Smoove
jeudi 16 juin 2005 à 19:38:25 | Re : Listes OpenGL : Problème de texture

KeniiyK

Membre Club

Bah je sais pas... ou alors t'as un mauvais glDisable(GL_TEXURE_2D); mal placé :)

KeniiyK


Cette discussion est classée dans : opengl, array, gl, texture, listes


Répondre à ce message

Sujets en rapport avec ce message

Multitexturing OpenGl [ par goutbouyo ] Salut,Je charge une map BSP dans un jeu fait en OpenGl.Il y a donc du multitexturing.Le problème c'est quand j'affiche mes persos en MD2, j'active la Texture openGl [ par neodelphi ] Bonjour tout le monde, j'essaye désespérément d'ajouter des textures dans mon projet openGl, mais je devient fou... J'ai écrit une classe qui me perm Problème d'affichage de texture [ par Turok ] Bonjour,Alors voila le problème est simple, voici un code que j'utilise pour afficher une simple image 2d en utilisant OpenGl et SDL, mais celui ci ne transparence en OpenGl [ par F0ra ] Bonjour, J'ai un problème en OpenGl Je voudrais rendre uniquement la couleur rose< Texture avec OpenGl [ par Zakata ] Bonjour,Voila j'ai un petit soucis avec les textures et OpenGl. J'ai dans l'espoir de réussir à mettre une image de fond sur une fenetre OpenGl. J'ai OpenGL et textures [ par Jackyzgood ] Bonjour à tous ! Maintenant que je commence à être à l'aise en SDL, je me suis dis : ça pourrait être bien de passer à l'OpenGL. J'ai suivis un tuto OpenGL; transparence des png assombrie [ par choucroute987 ] Bonjour, Je me permet de poster dans la section C étant donné que l'OpenGl est peut utilisé avec d'autres langages... Je suis en train de développer QT sous Visual C++ 2008 : SOUS XP [ par controlleur ] Bonjour j'ai rencontré une erreur l'or de l'exécution de mon programme : l'erreur c'est qu'il me dise que les QComboBox et QSlider que j'ai déclar Offscreen texture rendering to bitmap [ par S3rialHoOK3rs ] Bonjour, J'essaie de créer un rendu hors écran au sein de mon application OpenGL. Pour ce faire, je stock mon rendu offscreen dans une texture que je


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,796 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales