C++ - Ressource graphique - C++ - Programmation
Marsh Posté le 01-03-2007 à 10:35:32
Marsh Posté le 01-03-2007 à 12:28:50
il y a une fonction fullscreen sur la SDL, mais ca ne redimentionne pas ta fenetre mais ca change la résolution de l'écrean.... lol
il faut faire une fonction de redimentionnement avec une récupération des paramètre de taille de ta feneitre, ca existe mais perso j'en ai jamais eut besoin...
Marsh Posté le 01-03-2007 à 13:45:39
bah j'arrive a recuperer la taille de la fenetre mais le probleme est le redimensionnement de l'image.
Marsh Posté le 05-03-2007 à 18:38:30
Marsh Posté le 07-03-2007 à 15:18:24
Bon je vais préciser un petit peu ma question alors, je ne pense pas que ce soit judicieu mais pensez vous qu'il ne soit pas mauvais de selectionner un sprites, une images en fonction de la resolution de l'utilisateur. ( travaillant en fullscreen, je pensais recuperer la resolution de l'utilisateur et aller chercher dans une bibliotheque d'image celle correspondante a la resolution ). Par exemple si l'utilisateur à une resolution 1280*1024 on va load l'image en 1024. Cela va allourdir l'exe, mais economisé les ressources ( pas de calculs de redimension d'image a faire [ qui tire bcp ] ).
Voila je vous remercie beaucoup et espere avoir des reponse .
Marsh Posté le 09-03-2007 à 22:36:43
Si j'ai bien compris tu veux creer un meme sprite en plusieurs resolutions? et la question est?
Marsh Posté le 10-03-2007 à 11:35:14
la question est est-ce que je dois cree un sprite ( et faire une redimmension de chaques element ) pour toutes les resolutions ou bien un sprite par resolution.
En sachant qu'une redimension use beaucoup de process.
Marsh Posté le 10-03-2007 à 13:03:08
J'ai pas la reponse a la question mais je dirais que c'est a toi de faire des tests pour le trouver.
Ce que tu peux aussi faire c'est que tu crees un sprite dans une grosse resolution "dans l'exe" et qu'au demarrage de l'application tu creer des plus petits sprites adaptés a la resolution par redimensionnement du premier: tu combines ainsi les deux methodes.
Marsh Posté le 11-03-2007 à 14:20:22
non ca ne combine pas les deux methodes ... tu preconise d'avoir un sprite et de faire les redimensions en consequences ...
Marsh Posté le 13-03-2007 à 13:40:44
Personne ne peut me dire la solution qui est utilisé en général pour ce genre de gestion ?
Marsh Posté le 17-03-2007 à 23:00:20
pour te donner une idée:
en 3D temps réel (ou pas), les textures sont mipmappées: on maintiens pour chaque texture des sous-versions divisées par 2 sur chaque axe (donc /4 en pixels) jusqu'a avoir du 1x1 ou 2x2... (ça converge à donner +1/3 de conso mémoire en plus)
ensuite le filtrage utilise ces mipmaps afin de réguler le niveau de détail pour réduire le moiré (aliasing), et accessoirement réguler la pression sur le cache texture et donc maintenir le fillrate.
quand on tourne sur du matos qui n'a pas la gouache (bande-passante mémoire vidéo), on décale le niveau de détail pour utiliser des mipmaps de résolution plus faible, et pour vraiment économiser de la ram on fait sauter le premier niveau qui est la texture a sa pleine résolution.
----
pour ton truc, je chargerais les sprites à pleine résolution, et puis temps pis, ou au pire tu fais une réduction direct avec un algo pas trop crade.
le problème de la réduction au chargement est qu'il va falloir utiliser un filtre d'assez bonne qualité pour pas exploser les sprites (surtout si c'est des polices par exemple).
mais bon c'est quoi ton contexte/besoins/plateforme ? parceque peut-être que pour un truc "classique" tu te prends trop la tête ?
Marsh Posté le 23-03-2007 à 14:48:42
Oui je pense me prendre la tête un peux dans mon projet du moment c'est une sorte de tetris donc, ce serais juste pour les wallpapers de derriere et aussi pour les lettres ( les bloc seront des lettres donc --> polices ).
Pour l'instant je m'en tiens à cela avant de me lancer dans un projet plus complexe.
Donc je ne savais pas si à chaque fois que le fond change il fallais que je fasse une redimension etc... pour l'adapter au fullscreen ou bien si il fallais que je prevois des wallpapers pour chaques resolution.
Sinon faire un programme non fullscreen( taille fixe 1280*1024 ) est-il vraiment une mauvaise solution ?
Marsh Posté le 23-03-2007 à 15:02:14
je ne suis pas partisant de la taille fixe, parceque du coup les joueurs qui ont un petit écran ne peuvent pas jouer, et ceux qui ont un grand écran sont condamné à jouer dans un timbre poste.
Marsh Posté le 23-03-2007 à 15:03:52
sinon, quel est le problème à devoir rééchantillonner une image en 2048x2048 et l'adapter à la taille de l'écran ?
très franchement, ton fond d'écran change 100 fois par secondes ?
si ça prends 10ms pour rééchantillonner un bitmap mémoire, avec des fonctions de rééchantillonage bicubique, c'est bien le bout du monde.
même sur un pocketpc ça se sent pour ainsi dire pas...
Marsh Posté le 27-03-2007 à 15:06:49
d'accord. J'opte donc pour la redimmension, aurais-tu s'il te plait une bibliotèques à me proposé pour cela ?? ( j'utilise la SDL ). Un redimmensionnement vectoriel est possible ?
Marsh Posté le 27-03-2007 à 15:08:53
ça je sais pas, j'utilise C# et donc avec les libs graphiques il y a tout ce qu'il faut (avec échantillonage bicubique, conservation du ratio ou non, etc.). à priori, c'est l'équivalent le GDI+.
et vu qu'en C# c'est plus lent d'aller travailler avec la mémoire que d'appeler les libs toutes faites ben... me suis jamais posé la question
Marsh Posté le 27-03-2007 à 17:05:35
Merci bien je vais essayer cette lib si je trouve un bon tuto pour le travail sur image. Sinon je compte me mettre au c# aussi pour mon prochain projet.
Marsh Posté le 30-03-2007 à 16:15:38
en fait ce n'est pas ce que je recherche, je veux juste une bibliotheque de retouche d'image, voir pour mettre des animation en fond...
Marsh Posté le 27-02-2007 à 09:44:21
Bon je vais préciser un petit peu ma question alors, je ne pense pas que ce soit judicieu mais pensez vous qu'il ne soit pas mauvais de selectionner un sprites, une images en fonction de la resolution de l'utilisateur. ( travaillant en fullscreen, je pensais recuperer la resolution de l'utilisateur et aller chercher dans une bibliotheque d'image celle correspondante a la resolution ). Par exemple si l'utilisateur à une resolution 1280*1024 on va load l'image en 1024. Cela va allourdir l'exe, mais economisé les ressources ( pas de calculs de redimension d'image a faire [ qui tire bcp ] ).
Voila je vous remercie beaucoup et espere avoir des reponse .
Message édité par kirua_sama le 08-03-2007 à 19:57:48
---------------
“L'éducation est l'arme la plus puissante que l'on puisse utiliser pour changer le monde”