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

Contribuez C++ Discussion :

une série de tutoriels sur OpenGL ?


Sujet :

Contribuez C++

  1. #1
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut une série de tutoriels sur OpenGL ?
    Salut,

    Je m'intéresse, depuis pas mal de temps déjà, à l'utilisation de OpenGL en C++.

    Seulement, vous savez comment je suis, avec mes lubies de conception sans tache et d'une approche moderne du C++!

    Or, la très grosses majorités des ressources que l'on trouve au sujet de OpenGL et qui prétendent nous initier à son utilisation avec C++ ont une approche que je n'hésite pas à qualifier de "préhistorique", se rapprochant généralement bien plus du C with classes que du beau C++ moderne.

    J'envisage donc de me lancer dans la rédaction d'une série d'articles sur l'utilisation de OpenGL avec C++ en utilisant une approche moderne. Elle serait composée (à peu près, le plan n'est pas définitif) des tutoriels suivants:
    1. initialisation : les notions de bases permettant d'initialiser correctement OpenGL (application, contexte, souris, clavier, fenêtre principale)
    2. Vers une gestion souple des événements : mise en place d'un système de signaux / slot utilisés (entre autres) par les callbacks (boost::signals2 inside)
    3. fenêtres secondaires et menus : tout ce qu'il faut pour avoir des fenêtres secondaires et des menus
    4. Points et couleurs : ajouterais les notions de points et de couleurs à l'ensemble
    5. Mathématiques et shaders : s'intéresserait aux vecteurs, aux matrices et aux shaders
    6. Polices, textures et objets : tout ce qu'il faut pour charger des textures, des polices de caractères et des objets, et bien sur, pour pouvoir les utiliser
    7. Vers un vrai MVC : ajouterais les notions de scène, de vue, de caméra et tout ce qui "tourne autour" du sujet
    8. Découper les vues : ajouterais les notions de quad-tree / oct-tree
    9. ... Peut être d'autres auxquels je n'ai pas pensé


    Cette série d'articles présenterait un projet de "bibliothèque permettant de créer des applications OpenGL" dont les premières lignes seront données avec le premier article et qui évoluerait au fur et à mesure des articles et qui -- qui sait -- pourrait peut être évoluer pour prendre la forme d'un projet indépendant intéressant (hein qui a parlé de relancer Farfelue )

    Qu'en pensez vous
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    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 860
    Points : 218 582
    Points
    218 582
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    L'idée est bonne. Je souhaiterai indiquer nos ressources actuelles :
    http://opengl.developpez.com
    et en cours de traduction :
    https://open.gl/

    J'avoue, le C++ n'est pas mis en avant.
    De plus, je souhaiterai vous présenter une bibliothèque que vous avez peut être loupée : http://oglplus.org/
    J'avais essayé de l'utiliser et je n'aime pas spécialement, mais bon, c'est un avis rapide
    Pour les vecteurs et matrices : GLM ? (pour éviter de tout refaire à la main ? quoi que c'est intéressant, juste long )

    En tout cas, je suis absolument pour
    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.

  3. #3
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Bonjour,

    L'idée est bonne. Je souhaiterai indiquer nos ressources actuelles :
    http://opengl.developpez.com
    et en cours de traduction :
    https://open.gl/
    Oui, c'est déjà plus ou moins dans mes favoris
    J'avoue, le C++ n'est pas mis en avant.
    A peu près nulle part, et quasiment jamais au travers d'une approche "un tant soit peu correcte" :S
    De plus, je souhaiterai vous présenter une bibliothèque que vous avez peut être loupée : http://oglplus.org/
    J'avais essayé de l'utiliser et je n'aime pas spécialement, mais bon, c'est un avis rapide
    Je vais voir ce que je peux en tirer
    Pour les vecteurs et matrices : GLM ? (pour éviter de tout refaire à la main ? quoi que c'est intéressant, juste long )
    Oui, j'y pensais plus ou moins... L'avantage, c'est que c'est header only, mais -- l'un dans l'autre -- je ne sais pas s'il est préférable de commencer à expliquer cette bibliothèque ou d'en fournir une implémentation perso...

    Va pas croire que je souffre du NIH, mais, obliger quelqu'un à télécharger autre chose que le code source du projet relatif à un tuto, je sais pas... C'est peut être "moyen moyen".

    D'ailleurs, le premier article est déjà presque terminé (au passage, j'ai "perdu" le plugin dvp pour openoffice, et j'arrive pas à le retrouver :S ), et j'ai décidé d'utiliser (comme c'est le cas pour de nombreuses ressources) GLUT comme toolkit. Je n'ai plus que quelques corrections à faire avant de le proposer à la relecture

    A termes, (entre le deuxième et le quatrième article), j'aimerais d'ailleurs vraiment arriver à me séparer de freeglut parce que ca me semble un peu "dépassé" (pas évident, entre autre, de gérer l'UTF et autres saloperies du genre).

    Mais, pour l'instant, j'en suis à essayer de comprendre comment les différentes bibliothèques s'y prennent
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    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 860
    Points : 218 582
    Points
    218 582
    Billets dans le blog
    120
    Par défaut
    Bon, heureusement que vous avez dit "FreeGLUT" par la suite, car GLUT ... bouh. L'API de GLUT/FreeGLUT est à mon gout, bien pourrie, mais bon, peut être vous l'utilisez mieux que moi.
    Je préfère nettement GLFW, mais question de gout.

    GLM n'a pas besoin d'être téléchargé à part, si vous l'intégrez au projet. Après, c'est aussi une question de licence, mais normalement, c'est OK.
    Comme je l'ai dit sur ce point, la question est : voulez vous faire un article purement (ou presque purement) mathématique sur une telle réimplémentation, ou faire un raccourci en disant : voilà, y a GLM.
    (Côté chargement d'images : SOIL ou DevIL.)

    Pour le kit : http://alexandre-laurent.developpez....le/#LIII-C-3-a

    Voilà pour mes pistes. D'ailleurs, j'ai besoin d'un relecteur de traductions pour les traductions open.gl, cela tente quelqu'un ?
    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.

  5. #5
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Bon, heureusement que vous avez dit "FreeGLUT" par la suite, car GLUT ... bouh. L'API de GLUT/FreeGLUT est à mon gout, bien pourrie, mais bon, peut être vous l'utilisez mieux que moi.
    Je préfère nettement GLFW, mais question de gout.
    Oui, en effet... Mais comme chez moi le GL/glut.h a été remplacé et inclut GL/freeglut_std.h (normal, quand on installe freeglut sous linux), je ne fais pas vraiment la différence

    Quant au coté "pourri" de (free)glut, je ne m'étenderai pas sur le sujet ... Mais c'est une des raisons pour lesquelles je voudrais pouvoir m'en libérer le plus rapidement possible (sans pour autant passer sur une autre bibliothèque)... Après tout, l'idée est de (peut-être) relancer un projet que j'ai repoussé dans mes cartons
    GLM n'a pas besoin d'être téléchargé à part, si vous l'intégrez au projet. Après, c'est aussi une question de licence, mais normalement, c'est OK.
    Comme je l'ai dit sur ce point, la question est : voulez vous faire un article purement (ou presque purement) mathématique sur une telle réimplémentation, ou faire un raccourci en disant : voilà, y a GLM.
    (Côté chargement d'images : SOIL ou DevIL.)
    Effectivement, mais je crois que le fait d'expliquer quelques notions mathématiques pourrait s'avérer utile... Enfin, je n'en suis pas encore à ce stade
    Merci
    Voilà pour mes pistes. D'ailleurs, j'ai besoin d'un relecteur de traductions pour les traductions open.gl, cela tente quelqu'un ?
    Si j'ai un peu de temps à perdre, je verrai ce que je peux faire

    PS: au fait, on se connait depuis assez longtemps, tu peux continuer à me tutoyer, tu sais
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par koala01 Voir le message
    PS: au fait, on se connait depuis assez longtemps, tu peux continuer à me tutoyer, tu sais
    Bonne chance pour ça !
    Sinon je plussoye GLFW, depuis que je l'ai découverte c'est ma lib de fenêtrage opengl sans hésiter !
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  7. #7
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Ben, je vais donc voir si je sais m'y mettre et s'il est "relativement" simple de remplacer freeglut par GLFW...

    Si oui, je ferai la transition avant de proposer le premier article à la relecture
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  8. #8
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Il est aussi possible de remplacer (free)glut par la SFML par exemple, qui est assez légère
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    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 860
    Points : 218 582
    Points
    218 582
    Billets dans le blog
    120
    Par défaut
    Citation Envoyé par leternel Voir le message
    Il est aussi possible de remplacer (free)glut par la SFML par exemple, qui est assez légère
    Oui, possible, mais SFML ne fait pas que la création du contexte OpenGL + fenêtrage et ne permet pas une liberté totale sur ces aspects. Alors que GLFW est exactement la même chose que GLFW, sauf que les mise à jour et le développement sont actifs et que l'API est bien plus belle et facile à aborder.
    SFML, c'est une bibliothèque de jeux, cela fait bien plus.
    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.

  10. #10
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    la sfml seul ne fait pas beaucoup plus, surtout si tu n'utilises que la partie "window"
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

Discussions similaires

  1. [XL-2007] Copier une série de ligne sur une autre feuille
    Par cirious14 dans le forum Excel
    Réponses: 1
    Dernier message: 03/02/2011, 16h59
  2. A propos de la série de tutoriels sur OpenGL 3.x
    Par Bakura dans le forum OpenGL
    Réponses: 12
    Dernier message: 06/07/2009, 11h14
  3. Masquer une série de données sur un graphique
    Par Lameth dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/07/2008, 01h26
  4. Réponses: 7
    Dernier message: 03/12/2004, 10h15

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