IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

OpenGL Discussion :

Dessiner dans un buffer


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 8
    Par défaut Dessiner dans un buffer
    Salut à tous !
    Je fais un petit moteur isométrique en OpenGL, et j'ai besoin de calculer des textures. Pour cela, je compte dessiner dans un buffer, et capturer les infos du buffer pour faire ma textre. Sauf que techniquement, je vois pas du tout comment faire (c'est la première foi que je suis confronté au problème).
    Si quelqu'un pouvais éclarer ma lenterne, ce serait avec le plus grand plaisir.
    Merci d'avance !

  2. #2
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Par défaut
    c'est tout simple, il te suffit de fair un tableau de unsigned char (c'est ce qui est generalement utilisée mais tu peut aussi le faire en int )
    il faut que la taille du tableau soit relative au type de donnée que tu stock (pour du RGB un pixel fait 3 char, pour du RGBA 4...)
    et apres il ne te reste plus qu'a bidouiller dans ton tableau et une fois les bidouille terminée, l'envoyer a openGL.
    Attention a bien faire des matrices en puissance de 2 aussi...
    en gros (tres gros) ca donne un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    // texture de taille width*height en RGB
    unsigned char * buffer = new unsigned char[width*height*3]
    // on modifie le premier texel pour le mettre a blanc
    buffer[0] = 255; // coordonnée rouge du texel
    buffer[1] = 255; // coordonnée verte du texel
    buffer[2] = 255; // coordonnée bleu du texel
    // plein d'autre modification de texels...
    // envoi a openGL (en supposant qu'on est bindé sur la bonne texture)
    gluBuild2Dmipmap(...)
    * 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
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 8
    Par défaut
    Merci, mais c'est pas ca que je veux faire. Je veux pas "bidouiller" un tableau de unsigned char, ce qui je le reconnais est simple, mais réellement dessiner, ceci en employant les fonctions openGL dans un buffer, puis récupérer ce que j'ai déssiné sous forme justement d'un unsigned char*. Et c'est ceci que je ne sais pas faire

  4. #4
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Par défaut
    ha OK, tu veut recuperer le back buffer tout simplement... il suffit d'utiliser glReadPixels() avec toute la doc necessaire ici
    http://fly.cc.fer.hr/~unreal/theredbook/chapter08.html
    * 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

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 8
    Par défaut
    Ah, merci beaucoup
    En effet, c'est une solution très simple sui me conviens parfaitement !
    La prochaine foi je regarderai avant de poser une question

Discussions similaires

  1. Réponses: 6
    Dernier message: 27/07/2007, 15h42
  2. Dessiner dans un buffer
    Par goperto dans le forum OpenGL
    Réponses: 1
    Dernier message: 02/04/2007, 02h26
  3. DBGrid, comment dessiner dans les titres des colonnes
    Par dleu dans le forum Bases de données
    Réponses: 9
    Dernier message: 04/11/2004, 17h49
  4. Dessin dans les panels d'un TStatusBar
    Par Amenofis dans le forum Composants VCL
    Réponses: 4
    Dernier message: 31/08/2004, 18h45
  5. Dessiner dans un JPanel
    Par Oliveuh dans le forum Composants
    Réponses: 5
    Dernier message: 19/07/2004, 12h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo