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

Développement 2D, 3D et Jeux Discussion :

Tutoriel OpenGL Moderne : ouvrir une fenêtre


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut Tutoriel OpenGL Moderne : ouvrir une fenêtre
    Bonjour à tous,

    La rubrique 2D/3D/Jeux est heureuse de vous présenter une nouvelle série de tutoriels consacrée à OpenGL moderne (les versions à partir d'OpenGL 3.3).
    Ces tutoriels vous permettront d'intégrer facilement les nouveaux concepts d'OpenGL afin de profiter au maximum des dernières technologies de vos cartes graphiques.
    Ce premier tutoriel vous permettra d'installer de compiler le code source des tutoriels et de créer votre première fenêtre. Les tutoriels reposent sur les bibliothèque GLFW, GLM et GLEW, des bibliothèques modernes et efficaces.

    Bonne lecture.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  2. #2
    Membre averti Avatar de Dalini71
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 181
    Points : 343
    Points
    343
    Par défaut
    Très bonne initiative merci

    A quand la suite ?

  3. #3
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    La suite, très prochainement (je pense la semaine prochaine) Restez attentif aux annonces sur le portail 2D/3D/Jeux.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 105
    Points : 49
    Points
    49
    Par défaut
    Bonjour
    Il y a-t-il une alternative gratuite à QTCreator?
    J'ai voulu le télécharger sur le site mais c'est une version d'essai de 30 jours

  5. #5
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    Il est gratuit. Bon, là, pas de chance, le site est hors ligne (très rare), mais il est vraiment gratuit, regardez bien les liens
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 105
    Points : 49
    Points
    49
    Par défaut
    ah oui, je me suis trompé de site , j''étais allé le chercher sur le site officiel , apparemment c'est une autre version
    sur leur site
    http://qt.digia.com/Try-Buy/

  7. #7
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    Je pense que vous faites la confusion entre Qt (un framework C++, notamment, pour faire des interfaces graphiques) et Qt Creator, un IDE, reposant sur Qt, qui était dans le passé spécialisé dans Qt, mais qui s'est généralisé.
    Vous trouverez ici le lien pour Qt Creator : http://qt-project.org/downloads#qt-creator
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjours,

    Félicitation pour ces articles. C'est une très bonne initiative de reprendre OpenGL en version 3.3 et +.
    Je vais bientôt commencer le C++ (le VBA, c'est pas la joie) et donc surement commencer bientôt cette série d'article.
    Merci.

    A+

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    IRIS, ATS, 3IL Rodez
    Inscrit en
    Juin 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : IRIS, ATS, 3IL Rodez

    Informations forums :
    Inscription : Juin 2014
    Messages : 27
    Points : 26
    Points
    26
    Par défaut
    Bonjour,

    Je bute au premier chapitre, j'utilise mingw ! Lorsque j'utilise Cmake je sélectionne "Mingw Makefiles" dans le menu déroulant, et par défaut il coche "use default native compilers".
    Il propose Specify native compiler, Specify toolchain for cross-compiling, et Specify option for cross compiling...

    Si je reste sur "native compilers" j'ai droit a un "Error in configuration process, project files may be invalid"... Malheureusement il m'est impossible de continuer sans savoir quel option cocher/paramétrer...

    C'est frustrant d'être bloqué aussi vite, ce tutoriel est une excellente initiative !

  10. #10
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    En effet, votre soucis est que vous utilisez MinGW alors que le tutoriel indique d'utiliser le compilateur de Visual Studio, dans le cas du CMake.
    Pour que cela fonctionne, il faut bien penser à rajouter le chemin menant à MinGW, dans la variable d'environnement PATH (Panneau de configuration -> Système -> Variables d'environnement).
    Une fois cela de fait, vous pourrez relancer CMake et il ne sera plus perdu.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  11. #11
    Membre éclairé
    Avatar de s0h3ck
    Inscrit en
    Mars 2013
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 181
    Points : 871
    Points
    871
    Par défaut
    Il est temps de rattraper le bateau. Il va falloir nager vite vite vite...

    Bon, suis-je le seul à avoir eu des débogues énormes en terme de compatibilités?

    Première remarque, glfwOpenWindowHint devient glfwWindowHint.
    Deuxième remarque, GLFW_OPENGL_VERSION_MAJOR devient GLFW_CONTEXT_VERSION_MAJOR.
    Troisième remarque, GLFW_OPENGL_VERSION_MINOR devient GLFW_CONTEXT_VERSION_MINOR.
    Quatrième remarque, glfwSwapBuffers() prend maintenant un paramètre tel que la fenêtre (comme ceci glfwSwapBuffers(window);) accompagnée de glfwPollEvents();Cinquième remarque, il est bien de terminer l'application par glfwTerminate(); return 0;Toutes ces fameuses modifications, elles sont à cette page : Moving from GLFW 2 to 3 et Documentation.

    Enfin, le premier chapitre de résolu! J'espère que les autres chapitres seront plus compatibles avec la nouvelle version .

    Je ne sais pas pourquoi, mais après quelques heures de recherches, je me sens comme Zeus...

    N'hésitez pas à me suggérer une méthode plus efficace pour une prochaine fois et encore merci au traducteur.

    À l'assaut des prochains chapitres,
    s0h3ck.
    N'oubliez pas de marquer votre sujet comme et de mettre des aux messages apportant un plus à votre discussion.

    « Ce qui se conçoit bien s'énonce clairement et les mots pour le dire arrivent aisément » Boileau.
    « Le mystère fait découvrir une autre dimension » mon imagination.





  12. #12
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    En effet, cette série est conçue pour GLFW 2. Depuis, la version 3 est sortie et il y a quelques différences comme vous avez pu le remarquer et qui sont indiquer dans le guide de migration.
    Vous n'auriez eu aucun bogue en prenant GLFW 2
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  13. #13
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bonjour et merci d'avance pour votre réponse.

    J'apprends actuellement l'OpenGL "moderne" grâce à ce tutoriel (merci Alexandre Laurent pour votre traduction) et je rencontre un problème que je ne comprends pas et que je n'arrive pas à résoudre de mes propres moyens.

    Lorsque je lance le déboguage, Visual c++ 2010 affiche 3 erreurs, qui sont pourtant les mêmes :
    MSB6006: Arrêt de "cmd.exe" avec le code 3.

    Cela m'est arrivé 2 fois sans raison apparente. La première fois, j'ai supprimé la totalité des code-sources et j'ai suivi de nouveau le premier chapitre de ce tutoriel. Je viens à l'instant de finir la lecture du chapitre sur la création d'un triangle et de la création de shaders basiques et lors de la compilation, même erreur décrite plus haut. Pour remédier au problème:

    - J'ai comparé mon code-source avec le code-source "tutorial02.cpp", aucune erreur apparente.

    - J'ai essayé de copier-coller le code-source de "tutorial02.cpp" dans "playground.cpp" et essayé de corriger les problèmes évidents comme le nom des fichiers .frag et .vert, pour vérifier si je n'avais pas fait des erreurs de codage. Même problème.

    -J'ai essayé de définir la solution "tutorial02_red_triangle" comme projet de démarrage, même problème.

    -J'avais pensé à un problème de répertoire, mais utilisant la solution "playground" comme projet de démarrage j'imagine que les répertoires de "sortie - intermédiaire - travail" sont correctement configurés:

    sortie: C:\User\...\Code Projects\OpenGLTutorials\Build\Visual2010-32bits\Debug\
    intermédiaire: playground.dir\Debug\
    travail: C:/Users/.../Code Projects/OpenGLTutorials/OpenGL-tutorial_v0014_33/playground/


    Les questions traitant de cette erreur ne font références qu'à Qt, je ne comprends pas pourquoi ça fonctionne sans soucis au début puis plus aucune solutions ne fonctionnent.

    Merci d'avance pour vos réponse.


    EDIT:
    L'IDE m'indique cela en sortie:

    1>------ Début de la génération*: Projet*: ZERO_CHECK, Configuration*: Debug Win32 ------
    1> Checking Build System
    1> Le chemin d'accès spécifié est introuvable.
    1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5): error MSB6006: Arrêt de "cmd.exe" avec le code 3.
    2>------ Début de la génération*: Projet*: GLEW_190, Configuration*: Debug Win32 ------
    2> Building Custom Rule C:/Users/Gangret/Code Projects/OpenGLTutorials/OpenGL-tutorial_v0014_33/external/CMakeLists.txt
    2> Le chemin d'accès spécifié est introuvable.
    2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5): error MSB6006: Arrêt de "cmd.exe" avec le code 3.
    3>------ Début de la génération*: Projet*: playground, Configuration*: Debug Win32 ------
    3> Building Custom Rule C:/Users/Gangret/Code Projects/OpenGLTutorials/OpenGL-tutorial_v0014_33/CMakeLists.txt
    3> Le chemin d'accès spécifié est introuvable.
    3>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5): error MSB6006: Arrêt de "cmd.exe" avec le code 3.
    ========== Génération*: 0 a réussi, 3 a échoué, 1 mis à jour, 0 a été ignoré ==========


    L'IDE ne trouverait pas le chemin, pourtant les programmes se lançaient sans problème il y a quelques heures. Il faudrait modifier le CMakeLists.txt ?

  14. #14
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Pouvez-vous me préciser si c'est une erreur de compilation, ou une erreur après la compilation (d'exécution du .exe) ?
    Est-ce que ce chemin est vraiment valide :
    C:/Users/Gangret/Code Projects/OpenGLTutorials/OpenGL-tutorial_v0014_33/CMakeLists.txt
    À priori, cela ressemble à un soucis de chemin.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  15. #15
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Bonjour,

    Pouvez-vous me préciser si c'est une erreur de compilation, ou une erreur après la compilation (d'exécution du .exe) ?
    Est-ce que ce chemin est vraiment valide :
    À priori, cela ressemble à un soucis de chemin.
    Merci pour votre réponse,
    C'était une erreur de compilation et le chemin était bel et bien valide.

    Néanmoins, j'ai repris le tutoriel depuis le début et suivi à la lettre la configuration de la solution et l'erreur semble avoir disparue. J'ai pu suivre le tutoriel traitant de la création du triangle et des shaders depuis le projet "playground" sans erreur de compilation.
    J'ai probablement mal suivi le tutoriel.

    Merci encore pour votre réponse.

  16. #16
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  17. #17
    Membre expérimenté

    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 685
    Points : 1 418
    Points
    1 418
    Par défaut
    Bonjour,

    super tutoriel ! Enfin je trouve un tutoriel de confiance pour du OpenGL moderne sur Linux ! Et en français en plus ! Merci infiniment pour ton travail sur cette rubrique.

    Petit feedback : sous Ubuntu 14.10 LTS, un paquet nécessaire fut également libxi-dev pour que cmake se termine bien. Le message d'erreur était "XInput Libraries and Headers were not found".

    Je ne sais pas s'il y a une page prévue pour noter toutes les subtilités liées aux distributions, en tout cas je le mets ici pour aider les prochains, s'ils pensent à aller voir les commentaires.

    @+
    Nullius in verba

  18. #18
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    Merci d'avoir rapporter ce souci, cela sera certainement utile pour les prochains qui rencontreront le problème
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  19. #19
    Membre expérimenté

    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 685
    Points : 1 418
    Points
    1 418
    Par défaut
    L'utilisation des pilotes propriétaires a également posé problème pour ma part :

    Ubuntu 14.10 LTS (Unity)
    AMD Radeon HD 6370M

    Error Message (playground.cpp): "Failed to open GLFW window. If you have an Intel GPU, they are not 3.3 compatible. Try the 2.1 version of the tutorials."

    Raison potentielle : les pilotes propriétaires actuellement fournis pour ma cg AMD sous Ubuntu 14 ne sont pas compatibles OpenGL 3.3

    En installant xorg-dev* et en cochant le pilote non propriétaire...

    Utilisation de Serveur X.X.Org - adaptateur du pilote d'affichage AMD/ATI depuis xserver-xorg-video-ati

    ...dans l'application "pilotes additionnels" (nativement présente et trouvable via l'icone de recherche Unity), la démo playground s'est lancé pour ma part. J'ai cependant des doutes sur l'utilité d'installer xorg-dev, je ne suis pas sûr que cela ait été utile pour faire fonctionner l'exemple.


    *pas sur qu'il soit utile mais sinon : sudo apt-get install xorg-dev
    Nullius in verba

  20. #20
    Membre expérimenté

    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 685
    Points : 1 418
    Points
    1 418
    Par défaut
    Pour le problème précédent, ma carte ne supporte pas OpenGL 3 c'est pour cela que le message apparaissait et que je suis obligé de passer par les drivers "mesa" qui émulent le support de OpenGL (>=3).. d'après ce que j'ai entendu je vais vite avoir des problèmes de lenteur mais bon ça dépanne...

    Ma carte supporte jusqu'à OpenGL 4 l'application "pilotes additionnels" ne me proposait pas les derniers pilotes, étrangement... c'est en passant par ici que j'ai obtenu les derniers drivers

    Nouveau problème : dans le tutoriel 1 "ouvrir une fenêtre", on installe glfw3 et ensuite "notre premier programme" propose cette portion de code :

    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
    21
    22
     
    glfwOpenWindowHint(GLFW_FSAA_SAMPLES, 4); // antialiasing 4x 
    glfwOpenWindowHint(GLFW_OPENGL_VERSION_MAJOR, 3); // Nous voulons OpenGL 3.3 
    glfwOpenWindowHint(GLFW_OPENGL_VERSION_MINOR, 3); 
    glfwOpenWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); // Nous ne voulons pas de support de l'ancien OpenGL
     
    // Ouvre une fenêtre et crée son contexte OpenGL
    GLFWwindow* window; // (Dans le code joint, cette variable est globale) 
    window = glfwCreateWindow( 1024, 768, "Tutorial 01", NULL, NULL); 
    if( window == NULL ){ 
        fprintf( stderr, "Failed to open GLFW window. If you have an Intel GPU, they are not 3.3 compatible. Try the 2.1 version of the tutorials.\n" ); 
        glfwTerminate(); 
        return -1; 
    } 
    glfwMakeContextCurrent(window); 
     
    // Initialise GLEW 
    glewExperimental=true; // Nécessaire pour le profil core
    if (glewInit() != GLEW_OK) { 
        fprintf(stderr, "Failed to initialize GLEW\n"); 
        return -1; 
    }
    ... qui n'est pas du code glfw3 mais glfw2... voici la correspondance glfw3 :

    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
    21
    22
     
        glfwWindowHint(GLFW_SAMPLES, 4); // antialiasing 4x
        glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); // Nous voulons OpenGL 3.3
        glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
        glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); // Nous ne voulons pas de support de l'ancien OpenGL
     
        // Ouvre une fenêtre et crée son contexte OpenGL
        GLFWwindow* window; // (Dans le code joint, cette variable est globale)
        window = glfwCreateWindow( 1024, 768, "Tutorial 01", NULL, NULL);
        if( window == NULL ){
            fprintf( stderr, "Failed to open GLFW window. If you have an Intel GPU, they are not 3.3 compatible. Try the 2.1 version of the tutorials.\n" );
            glfwTerminate();
            return -1;
        }
        glfwMakeContextCurrent(window);
     
        // Initialise GLEW
        glewExperimental=true; // Nécessaire pour le profil core
        if (glewInit() != GLEW_OK) {
            fprintf(stderr, "Failed to initialize GLEW\n");
            return -1;
        }
    pour la portion de code gérant les évènements :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    // S'assure que l'on puisse capturer la touche échap utilisée plus bas
    glfwSetInputMode(window, GLFW_STICKY_KEYS, GL_TRUE);
     
    do{ 
        // N'affiche rien, à bientôt dans le deuxième tutoriel !
     
        // Échange les tampons
        glfwSwapBuffers(); 
     
    } // Vérifie si la touche échap a été appuyée ou si la fenêtre a été fermée
    while( glfwGetKey(window, GLFW_KEY_ESCAPE ) != GLFW_PRESS && 
    glfwWindowShouldClose(window) == 0 );
    A remmplacer par :

    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
     
            // Ensure we can capture the escape key being pressed below
    	glfwSetInputMode(window, GLFW_STICKY_KEYS, GL_TRUE);
     
    	// Black background
    	glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
     
    	do{
    		// Draw nothing, see you in tutorial 2 !
     
    		// Swap buffers
    		glfwSwapBuffers(window);
    		glfwPollEvents();
     
    	} // Check if the ESC key was pressed or the window was closed
    	while( glfwGetKey(window, GLFW_KEY_ESCAPE ) != GLFW_PRESS &&
    		   glfwWindowShouldClose(window) == 0 );
     
    	// Close OpenGL window and terminate GLFW
    	glfwTerminate();
    Nullius in verba

Discussions similaires

  1. Tutoriels OpenGL ogldev en français : ouvrir une fenêtre
    Par LittleWhite dans le forum Développement 2D, 3D et Jeux
    Réponses: 2
    Dernier message: 11/10/2019, 18h55
  2. Tutoriel OpenGL Moderne - cliquer sur un objet avec une fonction personnalisée
    Par LittleWhite dans le forum Développement 2D, 3D et Jeux
    Réponses: 0
    Dernier message: 23/11/2014, 14h13
  3. Tutoriel OpenGL Moderne - cliquer sur un objet avec une bibliothèque physique
    Par LittleWhite dans le forum Développement 2D, 3D et Jeux
    Réponses: 0
    Dernier message: 23/11/2014, 13h57
  4. Tutoriel OpenGL Moderne - rendu dans une texture
    Par LittleWhite dans le forum Développement 2D, 3D et Jeux
    Réponses: 0
    Dernier message: 15/06/2014, 13h20

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