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 |
![]() |