![]() |
|
|||||||
Accueil |
S'inscrire |
FAQ |
Glossaire |
Membres |
Calendrier |
Ouvrir sur le forum | Recherche | Messages du jour | Marquer les forums comme lus |
| Aide au développement Aide sur l'utilisation d'OSLib |
| Publicité |
![]() |
|
|
Outils de la discussion | Modes d'affichage |
|
|
#1 |
|
Membre
Date d'inscription: 29/11/2009
Messages: 14
|
Bonsoir,
En voulant ajouter une fonctionnalité de "zoom" dans un programme, je me suis retrouvé face à deux solutions:
Pour info, la taille du buffer est de 480x360, et peut etre affiché tel quel (avec scroll vertical au besoin), en fullscreen (donc 480x272, un peu aplati), ou n'importe quel autre mode, c'est pas vraiment le problème ici. J'arrive au problème, quand je dessine dans mon buffer et l'affiche ensuite, il semblerait que tout ce que j'ai dessiné soit clippé à une hauteur de 272pixel, tout ce qui est plus bas n'apparait pas. Une image sera surement plus parlante:
Spoiler
Quand au code (simplifié) que j'utilise: Code PHP:
Le GPU n'aurait pas le temps de tout dessiner avant le changement de buffer ? J'ai essayé de forcer l'attente avec oslSyncDrawing(), mais aucun changement. Un bug dans la gestion automatique du clipping qui se fixerait à 480x272 sans raison ? oslSetDrawBuffer est censé ajuster automatiquement, et j'ai même ajouté un oslSetScreenClipping au cas ou, mais sans succès. Je sèche complétement, donc si quelqu'un a une idée, ça serait sympa. J'espère juste ne pas avoir loupé une info dans la doc ; Merci d'avance. |
|
|
|
| Publicité |
|
|
#2 |
|
Super Modérateur
Date d'inscription: 10/11/2005
Localisation: Un pays avec beaucoup de banques
Messages: 3 188
|
Ce n'est effectivement pas normal... j'allais te proposer le oslSetScreenClipping, mais tu as déjà testé...
Est-ce que c'est pile à 272 qu'il s'arrête en hauteur, ou à un emplacement plus "aléatoire"? Tu as essayé de faire ça en X aussi pour voir? (genre un buffer de 512 avec un petit scrolling ou scaling)
__________________
[21.01.2010] Emu Game Boy et GUI pour la coloration de jeux GB Mes projets: c'est ici. Partagez vos meilleures musiques de jeu vidéo!
|
|
|
|
|
|
#3 |
|
Membre
Date d'inscription: 29/11/2009
Messages: 14
|
Merci pour la réponse,
Oui, ça tombe toujours à 272 de hauteur, et je viens de faire le test sur la largeur, et il y a le même problème, ça clip à 480... ![]() (j'affiche en 1/2, mais j'ai testé à l'échelle 1 en décalant l'image, ça tombe bien toujours à 480x272) |
|
|
|
|
|
#4 |
|
Super Modérateur
Date d'inscription: 10/11/2005
Localisation: Un pays avec beaucoup de banques
Messages: 3 188
|
Wow la dose de rose entre ton avatar et le screen, je vois tout vert maintenant XD
Bon ben si le clipping reste c'est assez étrange... je serais prêt à parier qu'il n'existe pas avec un sceGuCopyImage mais je ne peux pas tester comme ça (je regarderai chez moi). Est-ce que tu peux juste essayer de faire: sceGuDisable(GU_SCISSOR_TEST); C'est l'équivalent d'un oslResetScreenClipping() qui étrangement n'existe pas. Est-ce que ça corrige le problème par hasard?
__________________
[21.01.2010] Emu Game Boy et GUI pour la coloration de jeux GB Mes projets: c'est ici. Partagez vos meilleures musiques de jeu vidéo!
|
|
|
|
|
|
#5 |
|
Membre
Date d'inscription: 29/11/2009
Messages: 14
|
C'est joli le rose pourtant :3
Je viens de tester sceGuDisable(GU_SCISSOR_TEST);, à plusieurs endroit au cas où (en début de programme, avant le changement de buffer, et après), aucun effet, je reste avec le même résultat, c'est à n'y rien comprendre. Je n'ai pas réussi à trouver quelqu'un ayant eu un problème similaire, c'est quand même pas la premier fois que quelqu'un essaye de dessiner sur une image plus grande que l'écran quand même xD |
|
|
|
|
|
#6 |
|
Super Modérateur
Date d'inscription: 10/11/2005
Localisation: Un pays avec beaucoup de banques
Messages: 3 188
|
Bon t'as gagné je crois que tu vas me faire ressortir ma PSP
![]() Par contre je suis plus du tout à jour, tu utilises quoi comme devkit?
__________________
[21.01.2010] Emu Game Boy et GUI pour la coloration de jeux GB Mes projets: c'est ici. Partagez vos meilleures musiques de jeu vidéo!
|
|
|
|
|
|
#7 |
|
Membre
Date d'inscription: 29/11/2009
Messages: 14
|
héhé =)
J'utilise le MINPSPW, c'est encore ce que j'ai trouvé de plus pratique. Mais sinon t'embêtes pas trop, j'ai vu que t'avais quand même pas mal de projets, au pire j'aurais toujours moyen de m'arranger autrement (bien que ça m'arrange pas =P) |
|
|
|
|
|
#8 |
|
Super Modérateur
Date d'inscription: 10/11/2005
Localisation: Un pays avec beaucoup de banques
Messages: 3 188
|
Bon ben j'ai testé avec MINPSPW (merci au passage
) mais là je n'arrive même pas à recompiler la lib Apparemment ce qui est audio a dû changer (sceAudiocodecInit, etc.), ça m'étonne pas parce que c'était super expérimental quand je l'ai fait.Tu as dû faire quelque chose de spécial au niveau des libs?
__________________
[21.01.2010] Emu Game Boy et GUI pour la coloration de jeux GB Mes projets: c'est ici. Partagez vos meilleures musiques de jeu vidéo!
|
|
|
|
|
|
#9 |
|
Super Modérateur
Date d'inscription: 10/11/2005
Localisation: Un pays avec beaucoup de banques
Messages: 3 188
|
Bon ben apparemment le souci serait lié à mon appel à sceGuDispBuffer(480,272,(void*)0,512);
C'est assez bizarre, je pensais que ce truc n'affectait que l'affichage, mais en fait il est plutôt mal nommé. Il affecte également la région de dessin (registres 21 et 22 http://wiki.ps2dev.org/psp:ge_register_list). Du coup c'est un truc que je dois fixer dans la lib... Alors il y a deux choses que tu peux faire, 1) utiliser la fonction drawRegion incluse au PSPSDK pour définir une région de dessin plus grande, comme dans le code C++ suivant: Code PHP:
Bonne continuation ![]()
__________________
[21.01.2010] Emu Game Boy et GUI pour la coloration de jeux GB Mes projets: c'est ici. Partagez vos meilleures musiques de jeu vidéo!
|
|
|
|
|
|
#10 |
|
Membre
Date d'inscription: 29/11/2009
Messages: 14
|
Ohhh, c'est nickel, parfait =D
Je vais utiliser drawRegion directement, ça sera plus pratique (quoiqu'une oslib3 orienté objet je dirais pas non... nan nan rien, je déconne xD) Sinon juste une petite question, dans ton exemple tu repasses à 480x272 une fois retourné sur le buffer principal, ça veut dire que la fonction opère indépendamment du buffer, et que si tu ne le faisais pas, on pourrais dessiner "en dehors" de l'écran ? En tout cas, merci, je pense pas que j'aurais pu trouver ça tout seul, merci encore =) |
|
|
|
|
|
#11 |
|
Super Modérateur
Date d'inscription: 10/11/2005
Localisation: Un pays avec beaucoup de banques
Messages: 3 188
|
Heu bah j'ai même pas testé de laisser la région plus grande que l'écran, mais j'imagine effectivement que tu vas avoir droit à de belles joyeusetés =)
De rien sinon ![]()
__________________
[21.01.2010] Emu Game Boy et GUI pour la coloration de jeux GB Mes projets: c'est ici. Partagez vos meilleures musiques de jeu vidéo!
|
|
|
|
![]() |
| Liens sociaux |
| Publicité |
| Utilisateurs regardant la discussion actuelle : 1 (0 membre(s) et 1 invité(s)) | |
| Outils de la discussion | |
| Modes d'affichage | |
|
|