Comment tracer une ligne à l'aide de SDL sans utiliser des bibliothèques externes
Comment puis-je établir une ligne 2D entre deux points donnés à l'aide de SDL en c++ de la bibliothèque. Je ne veux pas utiliser d'autres bibliothèques externes comme SDL_draw ou SDL_gfx .
Bresenham ligne de l'algorithme, serait une solution. Cet article traite de courses.engr.illinois.edu/ece390/archive/archive-f2000/mp/mp4/... l'anti-aliasing trop. Une autre: en.wikipedia.org/wiki/Xiaolin_Wu%27s_line_algorithm
OriginalL'auteur rajat | 2012-07-31
Vous devez vous connecter pour publier un commentaire.
Rosetta Code a quelques exemples:
OriginalL'auteur genpfault
Up-to-date de réponse pour les codeurs qui sont aux prises avec le même problème.
En SDL2, il ya un couple de fonctions dans SDL_Render.h pour arriver à cela, sans la mise en œuvre de votre propre dessin de la ligne moteur ou à l'aide d'une bibliothèque externe.
Il est probable que vous souhaitez utiliser:
Où convertisseur est le convertisseur que vous avez créé auparavant, et x1 & y1 sont pour le début, et x2 & y2 pour la fin.
Il y a aussi une autre fonction où vous pouvez tracer une ligne avec de multiples points de suite, au lieu d'appeler les cités de fonction à plusieurs reprises:
Où convertisseur est le moteur de rendu que vous avez créé auparavant, points fixe le tableau des points connus, et compter la quantité de points fixes-tableau.
Toutes les fonctions mentionnées donner un -1 en arrière quand l'erreur, et 0 en cas de succès.
OriginalL'auteur RoestVrijStaal
Vous pouvez utiliser la ligne algorithmes de dessin.
OriginalL'auteur Rohit Vipin Mathews