top of page

La scène de test

test_0.png

Voici la scène qui montre les principales fonctions d'un jeu en 3d. Vous verrez comment articuler les différents éléments les uns avec les autres.

 

* On trouve les cartes avec masque : le sol est un mélange d'images de roches et d'herbes qui sont mélangées par le shader. Pas besoin de créer d'immenses textures !

* Des effets d'eau assez simples sont montrés : lac de base avec effet d'ondulation ; plus complexe, avec réflexion ; une mer simple qui ondule. La fontaine montre un effet simple d'onde sous le jet : le bassin montre un effet de pluie sur l'eau.

* Sur l’île végétale, vous trouverez un palmier dupliqué (il n'y en a qu'un seul de chargé ! ) et la façon de le sélectionner. Un tapis d'herbe apparaîtra en s'approchant, mélange de trois images d'herbe.

* Les personnages sont animés, on montre comment leur apporter de l'équipement.

* Vous verrez aussi comment faire des effets simples de pluie, de neige et de brouilard.

* Dans l'île des mécanismes, vous verre une manière simple d'activer des portes et des coffres, le moulin, et des effets de lumière.

07/2025 bis

* Les shader spécifiques pour l'eau sont remplacés par des fbobuffer plus efficaces. La scène est écrite normalement (inversée) dans le fbo, puis affichée en miroir.

* Les effets d'eau sont encapsulés dans des classes spécifiques pour être plus facilement portables.

* Sea low à été très amélioré, pour un rendu plus proche de la réalité, sans consommation de ressource excessive.

* OGrass1 et OGrass2 remplacent Tgrass_map. OGrass1 est un shader d'affichage d'herbe, en mode geometry shader (pour l'exemple). OGrass2 est une méthode par instanciation, beaucoup plus performante.

* OFire1 montre comment faire une flamme réaliste.

* OTree1 et OWood1 montrent comment faire un bosquet ou une forêt.

OTree1 créé une instanciation en passant la matrice Model, ce qui est simple mais limite le nombre d'arbres à une centaine. Par contre, cette méthode limite le nombre de calcul puisque la matrice est créée une fois pour toute.

OWood1 passe les valeurs pos, rot et scale, réalise la matrice en interne, ce qui permet d'afficher plusieurs centaines d'arbres. Attention ! Voyez le vao spécifique !

* Un effet simple à mettre en place, d’émissive, est montré (ajouter un buffer avec blur)

04/2025

 

Le code a été simplifié : tous les objets statiques sont en obj-mtl ; gltf impose d'appliquer les transformations afin de déterminer précisément l'origine du mesh, sans quoi il peut se retrouver décalé, voire pas à l'échelle (origine = point orangé sous blender + appliquer les transformations). Avec obj-mtl, il vous faut simplement déterminer votre verticale (OMesh_obj ::P_set_z_verticale(false)) si votre verticale est y.

 

Le fichier Tgrass a été simplifié, il ne demande plus que le décalage (la position finale de la carte) pour être créé, et bien entendu l'objet obj-mesh ainsi que l'image source de la carte de l'herbe. L'échelle de base peut être déterminée ici.

test_2.png
bottom of page