Developpez.com - Rubrique 2D-3D-Jeux

Le Club des Développeurs et IT Pro

Tutoriels OpenGL pour débutants : Feedback de transformation

Le 2017-02-02 22:45:31, par LittleWhite, Responsable 2D/3D/Jeux
Bonjour,

L'équipe de la rubrique 2D/3D/Jeux est heureuse de vous apporter une nouvelle série de tutoriels sur OpenGL, complétant ainsi la collection des meilleures ressources, en français, disponibles sur Internet.
Ces tutoriels vous permettront d'apprendre l'OpenGL moderne (OpenGL > 3) sans aucun prérequis. Au cours des chapitres, vous apprendrez à créer un contexte OpenGL, dessiner des formes simples, faire un rendu dans un tampon, manipuler le tampon de profondeur et de pochoir et vous découvrirez les geometry shader ainsi qu'à manipuler le feedback de transformation.

Bonne lecture.

Les différents tutoriels de la série :

  1. OpenGL : Introduction
  2. OpenGL : Création du contexte
  3. OpenGL : Dessin des polygones
  4. OpenGL : Création des textures
  5. OpenGL : Techniques de transformations
  6. OpenGL : Tampons de profondeur et de pochoir
  7. OpenGL : Tampons de rendu
  8. OpenGL : Geometry shaders
  9. OpenGL : Feedback de transformation
  Discussion forum
6 commentaires
  • LittleWhite
    Responsable 2D/3D/Jeux
    Developpez.com propose plusieurs séries de tutoriels sur OpenGL afin que si une explication ne soit pas claire, vous avez la possibilité d'en lire une seconde.
    Pour les shaders, il est absolument possible de les lire à partir d'un fichier. Il suffit de faire la fonction qui lit le fichier texte. Mais j'avoue que le tutoriel n'est pas suffisant et qu'il faille toujours aller voir le code. Dans un autre sens, je me vois mal lire un tutoriel, sans avoir le code compilé pour jouer/manipuler tout en lisant.

    Pour le côté bas niveau : OpenGL est une bibliothèque C, bas niveau. Jamais son objectif (à la bibliothèque) n'a été d'être haut niveau, ou même de devenir orientée objet. Par contre, vous pouvez apprécier OGLplus.
  • bouye
    Rédacteur/Modérateur
    Hum, une remarque qui est probablement due à un défaut de l'article en anglais, "Création du contexte" se termine (VII. Une dernière chose) sur la compilation et l'ajout de GLEW au projet alors que cette lib n'est jamais mentionnée dans les prérequis dans "Introduction". Le lien pour télécharger GLEW est de plus donné après le didacticiel sur comment la compiler alors que tous les liens des libs prérequises sont tous donnés dès "Introduction".

    EDIT - De plus, dans "Création du contexte", il est écrit :

    Si vous avez besoin d'être avec GLEW, [...]
    Je pense qu'il fallait lire "Si vous avez besoin d'aide avec GLEW, [...]"

    EDIT 2 - Dans "Dessiner des polygones", "III-E. Faire le lien entre les données de sommets et les attributs"

    Ne vous inquiétez pas si vous ne comprenez pas cela parfaitement. Nous allons bientôt voir comment ajoutez plus d'attributs.
  • Meseira
    Membre averti
    Cette série a l'air bien écrite et agréable à suivre. Je n'ai lu que le chapitre sur les polygones pour le moment mais il donne clairement envie de continuer avec la suite ;-)

    J'ai remarqué une petite typo dans la section III-A : "Comment l'attribut position n'est constitué que ..." devient "Comme l'attribut position n'est constitué que ..."

    Merci pour le boulot de traduction
  • LittleWhite
    Responsable 2D/3D/Jeux
    Merci pour vos retours .
    J'ai corrigé
  • bouye
    Rédacteur/Modérateur
    Perso, j'ai plutôt comme soucis que ça manque de repère et surtout chaque chapitre ou même section devrait avoir son code complet se rapportant à ce qui vient d’être expliqué.

    Ainsi par exemple, il n'est pas indiqué ou placer l'initialisation de GLEW ce qui m'a mené à une erreur de type "Acces Violation" pendant quelques temps. J'ai du aller voir dans un code externe comment placer correctement ces lignes.

    De même, dans la partie polygone, on embraye directement et plutôt abruptement sur le code des shaders et ensuite leur compilation sans indiquer comment les déclarer dans le projet. Une fois de plus j'ai du aller voir un code externe pour me rendre compte qu'il faut déclarer ça dans une chaine et non pas un fichier externe. A la fin de ce chapitre, je me retrouve avec un code qui compile et se lance mais un écran noir au lieu de voir un triangle blanc, donc clairement, une fois de plus, j'ai raté un truc par rapport au cheminement que suit l'auteur.

    Bien sur, ce sont des défaut de l'article anglais d'origine pas de la traduction.

    Comme ma très courte initiation à OpenGL remontant déjà à il y a 20 ans et sur stations SGI à une époque où je faisais du C à plein temps. Mais là, je me dis qu'en fait ce n'est pas trop ce que j'attendais de la lib en abordant ce didacticiel. En fait, là où je m'attendais à manipuler des entité/structs/objet représentant des triangles, formes, images et textures (des abstractions de haut niveau donc - déformation professionnelle), ça semble être surtout des manips de bas niveau (cf les shaders justement), donc pas trop ce que je cherchais à apprendre.
  • Il y a toujours OpenGL 1.2 si c'est trop compliqué Super tuto !