Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

DevIL Discussion :

petit probleme avec Devil


Sujet :

DevIL

  1. #1
    En attente de confirmation mail
    petit probleme avec Devil
    Bonjour, je réalise un petit projet en opengl et avec devil, qui a pour une partie le but d’afficher une carte (de France par exemple), et j’aimerais lorsque l’on click sur un point de la carte que le groupe de pixels, se trouvant au niveau du point, change de couleurs, afin de le visualiser.
    La carte est appliquée à l’aide d’une texture.

    Et c’est là que j’ai besoin de votre aide, pour modifier la texture.

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    /// pour dire sur quelle image on travaille
    	ilBindImage(ImgId2);
     
    	ILubyte *data;
    	data=(ILubyte *)malloc(640*472*3*sizeof(ILubyte));
     
    ///////Récupérer les données de image
    	ilCopyPixels(0, 0, 0, 640, 472, 1, IL_RGB, IL_UNSIGNED_BYTE,  data);
     
    	for (long i=0;i<6;i++) 
    		{//printf("%i\n",data[i]); controle du changement
    		data[i]=0;}
     
     
    	///Spécifier les données d'une image
    	ilSetPixels(0,0,0,640,472,1,IL_RGB,IL_UNSIGNED_BYTE,data); 
    //	ilTexImage(640, 472, 0, 3, IL_RGB,IL_UNSIGNED_BYTE,data);
    	//Génère et lie une texture à partir de l'image courante et  renvoie un nom de texture utilisable par OpenGL.
    	TexID2 = ilutGLBindTexImage();



    je lit les données de l'image que je met dans data
    je modifie data
    je specifie les nouvelles donnée
    je genere la texture

    et rien ne se passe, ou meme lorsque je fait parcourir la boucle for afin de modifier toute l'image, là elle devient partiellement noire.

    je n'arrive pas à voir si j'ai oublié quelque chose , ou tout simplement si le code ne va pas.

    je vous remercie d'avance de m'aider si vous avez une idée

  2. #2
    Rédacteur

    ta texture n'est pas en puissance de 2...
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  3. #3
    En attente de confirmation mail
    ok, merci pour la puissance, je ne le savais pas,
    maintenant, j'arrive a afficher mes points. mais j'ai un autre effet qui se produit, lorsque j'applique cette fonction, (à chaque click de souris), ma texture s'inverse comme un effet mirroir.

    j'ai changé pas mal de truc, et regarder sur google mais je n'ai rien trouvé.
    si l'un d'entre vous à une idée, je le remercie d'avance.

###raw>template_hook.ano_emploi###