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 :

Quel livre pour apprendre openGL?


Sujet :

OpenGL

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Juin 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Juin 2006
    Messages : 122
    Par défaut Quel livre pour apprendre openGL?
    Salut!

    J'aimerais me lancer dans la programmation OpenGL pour un projet perso, et je cherche donc un livre qui couvre OpenGL de A a Z en partant de la base gauche de la lettre A.

    J'ai vu ce livre dans la liste de developpez.com, mais je n'ai pas connaissance de sa date de redaction. Existe-t-il des livres plus récent, couvrant openGL 3.0 voir 4.0, en francais ou anglais?

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

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

    Informations forums :
    Inscription : Février 2008
    Messages : 181
    Par défaut
    Des livres en français ça va être dur à mon avis...

    Sinon je te conseil OpenGL SuperBible. The red book est très bien aussi, mais est plus un livre de référence.

  3. #3
    Membre Expert Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Par défaut
    J'avais fait mes armes avec le livre officiel (version 1.2 à l'époque) et j'en avais été très satisfait personnellement. J'ai le souvenir d'un livre exhaustif au style clair et concis (malgré quelques soucis de traduction si je ne m'abuse) et à la progression fluide, ne requérant que les connaissances mathématiques de base (matrices, etc). Qui plus est, il est mis à jour régulièrement, au fil des versions d'OpenGL, j'imagine donc qu'il n'y a pas de souci de ce côté.

    EDIT : Erf, la dernière version en français s'arrête malheureusement à OpenGL 2.0. Bon, il y a tout de même l'essentiel puisque c'est la version qui a introduit la pipeline programmable et de toute façon le support par les chipsets grand public se cantonne encore à OGL 2.0 (voire 2.1). Du moins quand il y a un chipset graphique avec un driver à jour (50% du parc installé, 98% des nouvelles machines).

    Cela dit on risque d'y trouver des choses aujourd'hui obsolètes (pipeline fixe) voire en voie de disparition (display lists) et quelques conseils peu judicieux (recourir au pipeline fixe aussi souvent que possible alors qu'aujourd'hui celui-ci est typiquement émulé par des shaders, etc). Il manquera aussi des innovations sympathiques (pixel buffer objects - PBO -, frame buffer objects, geometry shaders, instanciation, quelques enrichissements des shaders - nouvelles fonctions et variables standard) mais, à l'exception peut-être des PBO (2.1), tout ça est assez rarement supporté sur les machines grand public (mais beaucoup plus chez les joueurs).

    * Pipeline fixe (obsolète) = je passe mes sommets avec couleurs, normales, coordonnées de texture, matrices de transformation et le GPU calcule la couleur du pixel final.
    * Pipeline prorammable (moderne) = je passe mes sommets avec tous les attributs dont aura besoin le shader (couleurs, normales, coordonnées de textures, données persos, etc) et une poignée d'uniformes (matrices de transformation, données persos, etc) et le GPU se contente d'exécuter mon shader qui, lui, décidera seul de comment utiliser ces données.
    * Pipeline bâtard (première cartes supportant le programmable) = pipeline fixe + shader pour raffiner le tout (comme un traitement post-processing au terme du pipeline fixe).

    Avec le pipeline fixe le GPU était une boîte noire : éclairage standard, texturage standard, etc. On se contentait de dire quels couleurs, lumières et textures associer à tels et tels sommets. Le GPU est hyperspécialisé pour ces quelques opérations.
    Avec le pipeline programmable, le GPU devient une grappe de nombreux petits CPU ayant tout juste un support matériel pour quelques opérations de base (culling, interpolation de normales et de coordonnées de texture, interpolation des pixels d'une texture, etc)

  4. #4
    Membre émérite Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Par défaut
    J'ai aussi commencé avec le redbook (qui couvrait Opengl1.2) en français.

    Aujourd'hui je me suis racheté le pack red+orange book pour me mettre à jour. Et si cela m'a beaucoup aidé, je ne le conseillerai pas à un débutant.

    Je trouve qu'il contiennent encore trop de vieux truc qui ne devraient plus être appris et que c'est très dur de trouver "la nouvelle façon de faire". En plus les exemples qui sont dans le livre orange ne sont pas disponibles au téléchargement. Aucun moyen de tester les exemples du livre.

    Pour les livres papier donc je ne saurai quoi te conseiller.

    Mais voici ce que je conseillerai à un débutant : http://openglbook.com/the-book/

    de toute façon le support par les chipsets grand public se cantonne encore à OGL 2.0
    Justement, je me suis acheté une carte graphique à 40 euros qui supporte OGL4.1 juste pour mon apprentissage.

  5. #5
    Membre Expert Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Par défaut
    Citation Envoyé par valefor Voir le message
    Justement, je me suis acheté une carte graphique à 40 euros qui supporte OGL4.1 juste pour mon apprentissage.
    Pour développer, la norme 2.0 date de 2004, les chipsets Intel compatibles datent de 2006 mais, en pratique, les drivers OGL2.0 pour ces chipsets ne sortirent qu'en septembre 2009 ! Et comme beaucoup d'utilisateurs ne mettent jamais leurs drivers à jour, les machines grand public antérieures ne supportent grosso modo que OGL 1.1.

    En comparaison le support Dx9 (équivalent de OGL2.1) était là depuis le début et même sur des chipsets plus anciens. Et c'est seulement depuis les SandyBridge (2011) qu'Intel supporte OGL3.0/3.1. Autant dire qu'Intel se fout royalement d'OpenGL.

  6. #6
    Membre émérite Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Par défaut
    Oui et que je regrette amèrement d'avoir acheté un portable avec un chipset intégré intel croyant que ce serait celui avec lequel j'aurai le moins d'enui sous linux.

    Ca dérape un peu du sujet initial mais je ne sais pas si il y a moyen d'avoir des portables qui puissent être upgradable au niveau des cartes graphiques ?

  7. #7
    Expert confirmé
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 226
    Par défaut
    En général je trouve que intel en tant que carte graphique c'est pas le must que ça soit sur windows ou linux.

    Je ne pense pas que ça soit upgradable ,enfin ça dépend,démonte ton ordi et regarde si il est soudé ou non a la carte mère ,si non , pour le changé ben faudra regardé les carte graphique qui ont le même socket.

  8. #8
    Membre émérite Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Par défaut
    En ce qui concerne mon portable c'est sûr que non. Mais je me demandais si, en pratique, des gens faisaient ce genre de manip sur des portables ... Ou si de toutes façons la techno du portable devenait obsolète à même temps que celle de la carte graphique.

  9. #9
    Expert confirmé
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 226
    Par défaut
    Je pense pas que ça soit possible de faire ce genre de manipulation (désoudé/resoudé)sinon je prendrais ma carte graphique de ma ps2 xD
    Il est possible de désoudé/resoudé certaine partie d'un ordi portable mais pas ce composant la.

    Je te suis pas , les techno du portable peut être toujours de bonne qualité et non obsolete mais la carte graphique peut être mauvaise.
    D'ailleurs tu peux toujours gardé ton processeur/ram/disque dur/carte wifi et les transféré sur un autre ordi (si les composant sont compatible).

  10. #10
    Membre Expert Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Par défaut
    Changer ou ajouter une CG, ça peut se faire dans certains cas mais, effectivement, ça implique généralement de jouer du fer à souder. En plus les cartes sont loin d'être faciles à trouver.

    Par contre, plus simplement, on peut peut-être utiliser une docking station puisque certaines offrent des capacités graphiques améliorées. Certains utilisent des ports propriétaires, d'autres se branchent en USB, même si j'ignore quel genre de performances on peut avoir via un port USB.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 9
    Par défaut
    Comme livre pour apprendre une version récente d'OpenGL, on m'a parlé de http://arcsynthesis.org/gltut/ ; je l'ai juste parcouru rapidement en diagonale, ça a l'air sérieux. Et le code source des examples est là https://bitbucket.org/alfonse/gltut/downloads dispo principalement sous licence MIT.

  12. #12
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Quand vous aurez fini de savourer vos derniers chocolats, pourrez-vous me dire si le dernier livre de la dernière version d'OpenGL sorti dernièrement en dernier parle de comment utiliser les dernières techniques (c.à.d. les plus récentes : VBO, VA et DL) de stockage d'éléments lus à partir d'un fichier *.obj ?

    En vous remerciant en dernier et vous souhaitant une bonne journée.
    Dernièrement, Gizmo.

  13. #13
    Membre émérite Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Par défaut
    Heuu y'avait beaucoup de chocolat dans ton alcool ?! hips !? Je voulais dire d'alcool dans tes chocolats !? hips ?!

    Tu parles de quel livres ?

  14. #14
    Expert confirmé

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 032
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 032
    Billets dans le blog
    12
    Par défaut
    Il faut savoir que OpenGL ne gère pas de formats de fichiers et donc tu dois soit écrire soit récupérer un parser pour le format obj et stocker les informations qu'il contient dans des buffers que tu gères toi-même, ce qui n'est pas spécialement compliqué.

    EDIT:
    Quand tu dis VBO, VA et DL, tu entends Vertex Buffer Object, Vertex Array et Display Lists ? Parce qu'à ce moment là tu te méprends fortement sur le mot 'récentes' : les VBO sont disponibles depuis OpenGL 1.4 en ARB et 2.0 en core, les VA et DL étant eux obsolètes depuis la version 2.0
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  15. #15
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Hic ! Ze parle de c... c... rha ! De ... De ... c... c... ccccccce liv' là !

    aaaaaah ! G... G... Garçon ! U-U-Une autre siouplé !

    Olala ! Yakaka ! Yakaka ! Yakaka... s'lever pour prend' l'air nan ?!

    S... S... Sinon neuneu... neuneu... Neu yaurait-il pas uhu... uhu... un nono... un nono... un notre liv' kiki... kiki... ki donne la tété... la tété... La technique pour programmer un jeu vidéo en partant d'un fichier *.obj ?

    Qqch avec du code pour mieux concon... comprendre la mémé... la méthode ?

    Et comme dirait Johnny : "Merci boku !".

    A bientôt.

  16. #16
    Expert confirmé

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 032
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 032
    Billets dans le blog
    12
    Par défaut
    En googlant un peu (pas beaucoup hein !)

    j'ai trouvé ceci et une description du format OBJ
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  17. #17
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Merci pour tes liens : le 1er me semble plus simple que l'autre... Mais ça n'est qu'une 1ère impression.

    Sinon c'est marrant quand j'ai lu ton post j'ai failli lire "En glooglootant un peu (pas beaucoup hein !)".

  18. #18
    Membre chevronné
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Par défaut
    Bonjour!

    La technique pour programmer un jeu vidéo en partant d'un fichier *.obj
    Eh bien si vous la trouvez, je suis preneur !!! J'ai bien des classes qui lisent les .OBJ et les convertissent en VA / VBO...mais en jeu vidéo complet ca je n'ai pas....

    Trève de plaisanterie, OpenGL ca vous permet de coder un moteur 2D ou 3D pour l'affichage de votre jeu, et juste ca.

    Un jeu entier demande beaucoup plus, vous pouvez ajouter:
    - un moteur Physique (collisions, etc...)
    - un moteur du jeu (que se passe-t-il à chaque "tour", comment fonctionnent les sauvergardes, etc...)
    - la gestion des sons, musiques, etc
    - l'intelligence artificielle
    - du code réseau si nécessaire

    etc etc...

    Bref, faites gaffe à ne pas partir trop vite dans tous les sens...c'est quoi votre projet?

  19. #19
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Non, en fait je ne cherche pas de technique pour programmer un jeu vidéo à partir d'un *.obj c'est impossible...
    Je cherche simplement un ouvrage qui dirait comme faire un jeu vidéo c++ en partant de zéro : un peu du style "L'OpenGL pour les nuls" qui explique toutes les étapes pour quelqu'un qui n'a jamais fait de jeu vidéo... Bref qqn comme moi

    Ouvrage qui détaillerait comment récupérer les données d'un fichier *.obj dans un programme c++ : un peu comme vous disiez en faisant des classes, mais en détaillant et en expliquant simplement étape par étape.
    (Je connais déjà l'existence du livre OpenGL 2.0).

    Je donne peut-être l'impression d'un tourniquet qui part dans tous les sens mais je sais ce que je veux (enfin je crois ).

    Merci d'avance. Bonne soirée.
    Cordialement, Gizmo.

  20. #20
    Membre chevronné
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Par défaut
    Re,

    question bête mais...avez-vous regardé le tutorial de ce site?
    http://loulou.developpez.com/tutoriels/jeux_video/

Discussions similaires

  1. Quel livre pour apprendre Flex ?
    Par Invité dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 27/09/2010, 16h21
  2. [Livre] Quel livre pour apprendre et approfondir ?
    Par Hikage dans le forum Android
    Réponses: 2
    Dernier message: 02/05/2010, 15h08
  3. Quel livre pour apprendre le langage Assembleur ?
    Par argon dans le forum Assembleur
    Réponses: 1
    Dernier message: 11/06/2008, 17h46
  4. Quel Livre pour apprendre C++ ?
    Par yoann21 dans le forum Contribuez
    Réponses: 11
    Dernier message: 04/09/2007, 17h46
  5. Quel Livre pour apprendre C++ ?
    Par yoann21 dans le forum C++
    Réponses: 11
    Dernier message: 04/09/2007, 17h46

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