Tutorial d'initiation sdl

Soyez le premier à donner votre avis sur cette source.

Vue 21 293 fois - Téléchargée 3 481 fois

Description

Ce tuto permet de débuter avec SDL, à travers l'installation d'SDL, la création d'une fenêtre, le chargement d'images (bmp, jpg, gif...), le dessin de forme géométrique simple et la gestion de la boucle évènementielle.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Clemkill
Messages postés
2
Date d'inscription
mardi 11 septembre 2012
Statut
Membre
Dernière intervention
11 septembre 2012
-
Je viens de voir le tuto que tu as fait et après l'avoir testé sous Devcpp, je remarque que les points, lignes et autres rectangles ne sont pas affichés. Pourriez vous m'expliquer pourquoi ?
cs_psycho
Messages postés
232
Date d'inscription
samedi 11 mai 2002
Statut
Membre
Dernière intervention
27 octobre 2007
-
Bon courage pour la suite.

Tu peux toujours me poser tes questions.

@+
Psycho
azrael88370
Messages postés
1
Date d'inscription
mardi 4 janvier 2005
Statut
Membre
Dernière intervention
19 mai 2006
-
Bon alors voila, désolé de ne pas avoir répondu avant mais j'étais très pris.
Premièrement, je te remerci psycho de tes conseils, j'en tiendrais compte et j'améliorerais ce tutorial en conséquence.
Il devait en principe juste faire découvrir l'utilisation de SDL, en bref, une toute petite utilisation.
Les fonctions de traçage de lignes verticales et horizontales m'ont été nécessaire pour tracer un quadrillage, alors je les ai remis la dedans;
mais tu as raison, c'est pas la meilleure solution pour le faire.
M'enfin bon, 6/10, c'est déjà pas mal pour un premier tutorial !
cs_psycho
Messages postés
232
Date d'inscription
samedi 11 mai 2002
Statut
Membre
Dernière intervention
27 octobre 2007
-
pour satellite34 : oui, c'est possible. Tu peut récuperer ta surface de rendu avec SDL_GetVideoSurface() et faire ton dessin dessus ensuite, que tu sois dans un thread ou non. Question ressources prises, je ne sais pas du tout ce que ca donne, mais ca doit pas être énorme...Par contre, pense à tester si tu peut écrire sur ta surface, ou si tu as besoin de la vérouiller avant d'écrire dessus...

++
cs_psycho
Messages postés
232
Date d'inscription
samedi 11 mai 2002
Statut
Membre
Dernière intervention
27 octobre 2007
-
Alors, deux trois choses à dire :

Ta méthode pour tracer des points n'est pas très bonne car ce n'est pas la plus rapide. SDL_FillRect est prévue pour des zones, donc si tu veux faire un affichage point par point, je te suggère la fonction putpixel que tu pourras trouver sur le site, ou encore celle de la librairie sge (librairie pour sdl).

Ensuite, ta méthode pour les lignes, elle est bien jolie, mais complètement inutile...on ne peut tracer que des lignes qui sont soit horizontales, soit verticales : pas très pratique. Pour le dessin de lignes, rien ne vaut l'algorithme de Bresenham (pour des lignes non anti-aliasées). Là encore, je renvoie à la librairie sge...

Ensuite, deux trois erreurs à signaler : on ne libere pas la ressource de la fenêtre, SDL s'en charge pour nous (je renvoie à la doc pour la preuve : SDL_SetVideoMode). En parlant de SDL_SetVideoMode, il est dommage que pour un tutoriel tu ne détailles pas les différents mode vidéo possible...

Tu parles ensuite de comment affiché une image. C'est très bien, mais aucune explication n'est faites sur SDL_BlitSurface!! Comment quelqu'un qui découvre cette librairie va faire pour afficher une partie de l'image?? En parlant d'affichage d'image, tu ne la convertit pas au format écran. Bon, ok, c'est un tutoriel, on va éviter d'embrouiller les gens, mais bon le signaler aurait été bien...

Enfin, à aucun moment tu ne testes tes surfaces avant de les libérer. J'estime que quand on donne un code d'example dans un tutoriel, il se doit d'être très propre, et surtout examplaire. Un test de la surface aurait donc été le bienvenue. Pour finir, dernier reproche : tu ne parles pas d'une fonction importante : SDL_GetError qui devrait être expliqué dans ce tutoriel puisque tu expliques comment on crée la surface de rendu, comment chargé une image, etc...

je met 6/10 car on peut trouver mieux comme tutoriel...mais ca ne doit pas t empecher de continuer à en faire...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.