Bonjour à tous.
Pour ceux d'entre vous qui ne le savent pas encore, j'essaye de faire un Mario Like pour le fun et me faire la main avec le C++ en SFML.
Pour décrire l'état de mon projet actuel :
J'utilise la méthode du tile mapping pour créer mon environnement : Niveaux, page de présentation du jeu lors du lancement de l'application etc.
Une personne me dessine les carte (à l'aide de tiled : http://www.mapeditor.org/),
Je les convertis à l'aide d'un convertisseur (créé par mes soins) en fichier txt.
Ensuite je n'ai plus qu'à lire le fichier pour savoir ce que représente la map et l'afficher bref vous connaissez le principe.
Mon programme ce lance donc et m'affiche ma 1ere image à l'écran : (fondu entrant, nom du jeu, valeur alfa max, pause 3 secondes, fondu sortant, nom du jeu qui ce décale vers le haut pour laisser apparaître en dessous le background qui n'est rien d'autre qu'un niveau de mon mario like qui ce met à défiler sur l'écran pendant que par dessus s'affiche mon menu en fondu entrant : Jouer Aide Quitter).
Je voudrais lorsque je clique sur jouer, arrêter le défilement en arrière plan (ça c'est bon), et créer un effet de transition à l'aide du GLSL.
Un effet du style spirale noire qui pars des extérieurs de l'écran et qui finira au centre par un écran tout noir, pour laisser quelques millisecondes plus tard apparaître ma seconde page du programme (nom du joueur etc...)
Mon problème est que je ne comprends pas trop bien encore le GLSL, je ne sais pas par ou commencer, ce qu'il me faut envoyer comme variables avec l'aide d'UNIFORM ou autre.
Je suppose qu'il me faut une variable de temps, mais je ne sais pas si je dois la placer dans un vertex shader ou un pixel shader, si je dois envoyer une image (texture) au pixel shader ou pas et si oui la quelle....
Enfin bref je ne sais pas par où commencer à programmer mes shaders : j'ai du mal a visualiser le fonctionnement malgrès la lecture de plusieurs tutos...
Désolé pour le pavé de lecture mais au moins j'ai donné je pense tous les éléments de mon problème .
Merci par avance.
Partager