Je rencontre quelques difficultés avec les libs comme SDL ou SFML. Oui, ce sont de libs simples, mais je comprends pas ce qu'il y a derrière, j'ai donc du mal à comprendre comment les utiliser correctement.
Pour situer un peu les choses :
- je me situe dans un contexte de jeu 2D, type plateforme, où on affiche un forêt des sprites carrés avec un perso et quelques sprites animés
- j'étais habitué à des libs comme Genlib (TI) ou SDL 1, où l'ouverture d'une fenêtre renvoie une surface, dans laquelle on colle d'autres surfaces isues des fichiers de sprites ouverts (pas d'histoire de contexte de je ne sais quoi) : c'était basique et ça me convenant très bien.
La SFML et SDL2 (j'ai lu leurs docs) proposent des sprites, des textures, et des fenêtres contenant un renderer, le tout géré (si j'ai bien compris) par un backend OpenGL.
SDL2 propose un guide de migration, tandis que SFML propose une série de tutos sur la manière d'utiliser tout ça.
SDL2 a une doc pour son API, SFML également.
Malheureusement, les docs sont peu explicites sur le fonctionnement interne des cartes graphiques (au moins au niveau d'OpenGL), et donc je ne sais pas trop comment "il faut" s'y prendre :
- créer plein de textures avec mes fichiers d'images, et les coller dans le renderer de la fenêtre principale ?
- créer plein de textures avec mes fichiers d'images, les coller dans une texture temporaire, et coller celle-ci dans le renderer avant l'affichage ?
- créer plein de "sprites" (surfaces ou whatever), et les attribuer directement à la texture finale ? (parce que d'après le tuto SFML, il faut utiliser un minimum de textures. Ah bon, ça sert à quoi alors, les "sprites" sont pas censés être en RAM ??)
De plus, les libs permettent d'attribuer des attributs aux textures, genre "statique" (limite ro), ou "streaming" (usage intensif). Mais dans quel contexte ?? Pour y coller des sprites, des textures, autre chose ?
Bref, je ne sais pas du tout ce qu'il convient de faire, alors qu'avant c'était si simple, merci pour vos avis.
