Excusez-moi d'oser poster dans cette rubrique, mais loin d'OpenGL ou de DirectX comme le propose le sous-titre de cette catégorie, je vais tout simplement parler de SDL2.
Pour référence, l'ensemble de la doc est disponible ici : https://wiki.libsdl.org/APIByCategory
Pour ceux qui connaitraient SDL première version, on n'utilise plus de Surfaces dans SDL2, mais directement des Textures, ce qui semble bien plus approprié aux hardwares modernes, et permet quelques trucs sympas comme le stretching ou la rotation quand on copie une Texture sur une autre.
Mon problème (on y vient !) : je ne comprends pas pourquoi il faut, dans certaines fonctions, passer un Renderer en argument, alors qu'on en est pas encore à écrire la Texture quelque part, et qu'on pourra l'écrire où l'on voudra, quelque soit le Renderer pass à l'origine.
Voici comment sont structurées les données SDL d'un programme :
SDL_Window -> une fenêtre dans le WM
SDL_Renderer -> le renderer de la fenêtre en question
On copie dans ce renderer tout ce qu'on veut de textures via RenderCopy
Mais alors, si on donne le renderer à utiliser lors de la copie, pourquoi par exemple, à la création de la texture, doit-on spécifier un renderer ?
Et il y a ainsi quelques fonctions comme ça, où il faut passer un resnderer, sans que je comprenne à quoi il serve. A l'époque de SDL1, tant qu'on copiait pas une Surface sur un renderer, on avait pas de pseudo-destination à spécifier,..
Merci d'avance pour vos éclaircissations.
