Python Nehe

Cette page centralise une traduction des tutoriels du site de référence NeHe en Python. Dans le cadre de mon travail, j'ai été amené à me reformer à OpenGL, principalement sous Linux et en Python. J'en ai donc profité pour convertir les tutoriaux du site pour ma configuration de travail. Ce travail pouvant éventuellement servir à d'autres, j'en ai profité pour le mettre à disposition relativement sérieusement.

J'utilise l'api WxPython pour la création des fenètres et le canvas OpenGL fournit avec. Il vous faut donc Python (>= 2.4), PyOpenGL et WxPython (>=2.8). Il est possible que cela marche avec des versions inférieures...

Les exemples du site sont en c sous windows. J'ai essayé autant que possible de coller au code originel pour que les tutoriaux permettent quand même de ne pas être trop perdu par rapport au code. la conséquence malheureuse est que le code ne tire pas forcément partie de la puissance de python. Le but est cependant d'apprendre, pas d'être performant.

J'ai réalisé un lanceur pour lancer les différentes leçons, vous pouvez exécuter "python main.py" et ça devrait marcher. Ce package contient toutes les leçons que j'ai traduites jusqu'ici.

Télécharger les sources

 

Leçon 01 - Créer une fenêtre OpenGL

Le premier programme définit un squelette d'application en Python. Il décrit comment créer un canvas OpenGL dans une fenètre WxPython et comment initialiser OpenGL. Cette structure permet de réaliser d'intégrer des vues 3D dans une interface 2D performante.

Télécharger les sources

 

Leçon 02 - Créer des Polygones

En se basant sur la première leçon, ce tutoriel explique comment créer une scène simple, composée de deux polygones en 2D. Il présente également le positionnement des polygones devant la caméra avec des translations.

Télécharger les sources

 

Leçon 03 - Ajouter de la couleur

A partir des polygones créés dans la deuxième leçon, ce tutoriel ajoute de la couleur aux différents sommets du carré et du triangle. Les couleurs du triangle montrent un exemple de blending.

Télécharger les sources

 

Leçon 04 - Un peu de mouvement

En se basant sur la quatrième leçon, ce tutoriel ajoute des animations à la scène. Les deux polygones tournent autour des axes X et Y.

Télécharger les sources

 

Leçon 05 - Un peu de 3D

Ce tutoriel transforme les polygones précédents en forme 3D, un cube et une pyramide à quatre cotés.

Télécharger les sources

 

Leçon 06 - Ajout de textures

Ce tutoriel présente l'application d'une texture sur les différentes faces d'un cube pour créer des scènes plus réalistes.

Télécharger les sources

 

Leçon 07 - Lumières et filtres pour les textures

En se basant sur le cube de la leçon précédente, ce tutoriel améliore le rendu des scènes. Il présente le code nécessaire pour ajouter un éclairage à la scène. Il décrit également comment fonctionnent les filtres de textures pour réduire ou augmenter la qualité des textures en fonction de la distance. Les animations sont gérées par des évènements claviers.

Télécharger les sources

 

Leçon 08 - Blending

En utilisant les techniques de bending d'OpenGL, ce tutoriel présente comment réaliser de la transparence pour un cube en trois dimensions.

Télécharger les sources

 

Leçon 09 - Déplacement de bitmaps en 3D

Ce tutoriel présente un effet graphique intéressant basé sur des textures en 2 dimensions plaqués sur des rectangles et du blending.

Télécharger les sources

 

Leçon 10 - Se déplacer dans un monde 3D

Ce tutoriel met en place un début de moteur 3D. Il présente la création d'un monde en 3D, chargé à partir d'un fichier texte simple, dans lequel l'utilisateur peut se déplacer avec le clavier.

Télécharger les sources

 

Leçon 11 - Texture en vague

Ce tutoriel présente la simulation d'un drapeau flottant au vent. Pour cela, il utilise une structure de mesh qui est déformée en temps réel.

Télécharger les sources

 

Leçon 12 - Les listes d'affichage

Ce tutoriel présente les listes d'affichage. Elles permettent d'optimiser l'affichage pour les objets répétitifs.

Télécharger les sources

 

Leçon 13 - Fontes Bitmap

Ce tutoriel décrit comment utiliser les fontes bitmaps du serveur X. La gestion des fontes est souvent fortement liée à l'os utilisé.

Télécharger les sources

 

Leçon 16 - Brouillard

Ce tutoriel ajoute un brouillard à une scène simple. Le brouillard est facilement paramètrable, et le déplacement du cube permet de visualiser le rendu du brouillard sur des objets situés plus ou moins loin de la caméra.

Télécharger les sources

 

Leçon 17 - Fontes à partir d'une texture

Pour limiter la dépendance au système d'exploitation, ce tutoriel indique comment charger une fonte sauvegardée dans une texture 2D.

Télécharger les sources

 

Leçon 18 - Quadrics

Ce tutoriel présente la librairie standard GLU. Elle permet de créer rapidement des objets complexes comme des cylindres, des sphères, ...

Télécharger les sources

 

Leçon 19 - Moteur de particules

Ce tutoriel met en place un générateur de particules. Les particules sont des triangles sur lesquels sont plaquées une texture simple en noir et blanc. En modifiant la couleur des sommets, le code permet de réaliser un effet concluant.

Télécharger les sources

 

Leçon 20 - Transparence

Ce tutoriel initie aux techniques de masque pour créer des images transparentes. Le masque est une image en noir et blanc qui définit les zones transparentes qu'il va falloir occulter à l'affichage.

Télécharger les sources

 

Leçon 21 - Les lignes, la vue ortho

Ce tutoriel décrit un petit jeu en 2D. Il utilise une projection orthographique et un affichage à base de lignes et de caractères pou définir la grille de jeu et les joueurs et les ennemis.

Télécharger les sources