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

C Discussion :

opengl et pointeur de fonction


Sujet :

C

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 6
    Points : 6
    Points
    6
    Par défaut [resolu]opengl et pointeur de fonction
    Salut tout le monde,

    je suis en train d'apprendre opengl, mais à moment donneé je fais appel a une fonction:
    glutDisplayFunc()
    cette fonction prend en parametre le nom d'une autre fonction que je peux creer moi meme. En fin de compte l'appel se resume ainsi:

    glutDisplayFunc(affichage)

    ma fonction affichage se déclare comme ca:

    void affichage(int d);

    donc mon probleme est de fournir la variable d dans l'appel de la premiere fonction

  2. #2
    Responsable technique

    Avatar de Anomaly
    Homme Profil pro
    Directeur
    Inscrit en
    Juin 2003
    Messages
    10 337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Directeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 337
    Points : 130 285
    Points
    130 285
    Billets dans le blog
    1
    Par défaut
    Il faudra passer ce paramètre à la fonction à laquelle tu passes ta fonction. Par exemple :

    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
    void affichage(int d)
    {
      printf("affichage de %d\n", d);
    }
     
    void appeler_fonction(void f(int p), int p)
    {
      printf("J'appelle la fonction %x avec le paramètre %d.\n", f, p);
      f(p);
    }
     
    int main()
    {
      appeler_fonction(affichage, 3);
      return 0;
    }
    Responsable technique forum & site

    Si ce message (ou un autre) vous a aidé et/ou vous semble pertinent, votez pour lui avec

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Ok je te remercie
    le seul probleme c'est que je ne peux pas modifier la premiere fonction
    "appeler_fonction" par exemple car c'est une fonction predefini

  4. #4
    Responsable technique

    Avatar de Anomaly
    Homme Profil pro
    Directeur
    Inscrit en
    Juin 2003
    Messages
    10 337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Directeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 337
    Points : 130 285
    Points
    130 285
    Billets dans le blog
    1
    Par défaut
    Dans ce cas cette fameuse fonction prédéfinie sait combien d'arguments a la fonction qu'on lui passe en argument et donc si elle ne te propose pas, c'est que elle le calcule elle-même. Comment ? Ça dépend de la fonction. Ne connaissant pas OpenGL je ne peux pas t'en dire plus désolé

    En tout cas je reconfirme : impossible de passer un argument directement avec un pointeur de fonction, malheureusement. Ça serait tant pratique
    Responsable technique forum & site

    Si ce message (ou un autre) vous a aidé et/ou vous semble pertinent, votez pour lui avec

  5. #5
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Je ne connais pas OpenGL (d'ailleurs là c'est glut, ce qui n'est pas tout à fait la même chose ), mais une rapide recherche m'a amené sur ça :

    Usage
    void glutDisplayFunc(void (*func)(void));
    Ce qui veux dire que ta fonction affichage ne doit pas avoir de paramètre. Et si elle en a un il ne servira pas

  6. #6
    Futur Membre du Club
    Inscrit en
    Juin 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    ok merci a tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/12/2009, 00h45
  2. [WD10] Utiliser une fonction OpenGL avec pointeur (int)
    Par Zoons dans le forum WinDev
    Réponses: 3
    Dernier message: 06/07/2006, 16h38
  3. Matrice de pointeurs de fonctions
    Par sebduth dans le forum C
    Réponses: 15
    Dernier message: 18/07/2003, 14h03
  4. [Kylix] Pointeur de fonctions
    Par _dack_ dans le forum EDI
    Réponses: 1
    Dernier message: 03/07/2003, 10h17
  5. pointeur de fonction
    Par kardath dans le forum C
    Réponses: 4
    Dernier message: 28/12/2002, 14h39

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