1

Bonjour,
J'aimerais essayer de porter ma librairie pour PSP (qui fait de la 2D à partir de primitives 3D) en utilisant OpenGL sur PC.
Malheureusement, il semble que OpenGL (en tous cas la version que j'ai qui a l'air d'être une vieillerie style 1.1) ne supporte pas vraiment tout ce que j'ai sur PSP, donc il vaudrait peut-être mieux que j'implémente une "émulation" en soft... (et dans ce cas va falloir être vraiment motivé sad)
Par exemple avec cette lib, on peut créer une image et dessiner dessus, puis dessiner cette image en la déformant. Exemple:
monImage = oslCreateImage(320, 240, OSL_IN_VRAM, OSL_PF_5650);
oslSetDrawBuffer(monImage);
oslDrawString(0, 0, "Hello world!");
oslSetDrawBuffer(OSL_DEFAULT_BUFFER);
monImage->angle = 35;
oslDrawImageXY(240, 136, monImage);
Je le mets comme ça, c'est juste pour que vous voyiez le style. Maintenant pour implémenter ça avec OpenGL je ne vois pas de fonction qui permette de redéfinir le DrawBuffer sur une texture... quelqu'un aurait-il une idée, ou bien il vaut mieux que j'abandonne tout de suite la conversion OpenGL?
Merci d'avance pour vos précieux conseils smile
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

2

Edited_762

3

salut, je connais bien le rendu 2d en openGl
sur psp, je te conseille pspgl qui est un portage d'openGl sur psp
il fonctionne tres bien

http://www.goop.org/psp/gl/

l'auteur, Jeremy Fitzhardinge, travaille comme un fou sur sa lib et fait un travail remarquable
Il a même ecrit un exemple de 2d en opengl :

http://hg.goop.org/pspgl/libsprite?cmd=archive;node=tip;type=zip

si tu as besoin d'aide sur le dev psp, je te conseille : forums.pspdev.org
c'est en anglais, mais c'est le forum officiel du SDK homebrew
avatar
Développeur d'Alice Dreams Tournament, sur Dreamcast.

Soutenez nous en rejoignant notre page FB : http://www.facebook.com/alicedreamst
Suivez nous sur twitter : http://twitter.com/AliceDreamsT Merci !

4

Merci mais en fait c'est exactement l'inverse, sur PSP je n'ai pas envie d'utiliser OpenGL (que je ne connais pas) mais plutôt porter mon code PSP sur PC.
Orion> Oui c'est bien ça, un rendu sur texture, je ne vois pas dans ma doc si c'est possible, tu pourrais me renseigner stp? (d'ailleurs ça m'étonnerait pas que ça n'existe pas, vu qu'il faudrait que tous les GPU le supportent, et que les textures soient en VRAM) smile
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

5

Bien entendu que c'est possible wink
Je crois qu'un google sur opengl pbuffer devrait t'en apprendre plus (j'ai pas mes docs avec moi pour te répondre sans risque de dire une connerie là)

6

beeerrkkkkkk les pbuffer... sick

-> google framebuffer object ouitop
avatar
HURRRR !

7

Je me disais bien que je connaissais pas... effectivement c'est une extension qui date de moins d'un an ^^

Hmmm, tu connais le statut d'implémentation dans les cartes vidéo ?
Parce que déjà rien que les drivers nvidia par exemple, c'est pas supporté avant la version 1.0-7664. Hélas je n'ai pas trouvé quelles cartes sont gérées.

8

j'ai pas le detail en tete, mais au minimum a partir de la gf4ti... peut etre gf3...
mais compare aux pbuffer, c'est le nirvana cette extension ^^
avatar
HURRRR !

9

Wé enfin j'ai pas besoin d'une pire extension non plus hein ^^
Ce que j'aimerais faire c'est tout simple, sur PSP c'est juste:
sceGuDrawBuffer(pixelFormat, adresse, bufferWidth);
Et ça définit là où on dessine, pas plus compliqué que ça wink
Sinon merci bien, j'irai regarder à l'occas (par contre j'avoue que je suis assez découragé, je connais à peine un peu la PSP, et c'est déjà pas mal difficile alors je sais pas si ça vaut la peine de me mettre encore à OpenGL sad).
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

10

Ca n'existe pas et ça ne peut pas exister sous cette forme.

11

Est-ce que tu pourrais me dire pourquoi ça ne peut pas exister sous cette forme stp?
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

12

Hum...certaines choses sont possibles sur la psp parce ce que c'est une architecture assez simpliste.
Ta question montre un gros blanc concernant l'architecture des systèmes informatiques, je ne peux pas répondre en quelques lignes.

Recherche "Memory Management Unit", ainsi éventuellement que "pagination" sur google, ça devrait te donner un point de départ pour répondre à ta question.

Pour quand même essayer de faire un semblant de réponse : les adresses que tu utilises dans ton programme sont des adresses virtuelles qui n'ont rien à voir avec l'emplacement dans la mémoire.
Mais dit comme ça c'est extrèmement simplifié et il y a d'autres raisons.

13

Ah ok je vois, c'est logique en fait. Enfin bon je pensais que c'était possible car une fois l'adresse de la texture traduite et envoyée sous forme de commande au GPU, il pouvait la garder en interne pour dessiner dessus (comme une texture normale quoi), vu que le buffer est de toutes façons sur la mémoire interne du GPU (qui elle, doit être fixe, enfin pas depuis le CPU, mais vue depuis le GPU lui-même, non?).
Maintenant en cas de réorganisation de la mémoire, je sais pas comment ça se passe, ni pour les textures d'ailleurs... ça m'intéresse tout ça, si tu pouvais éclaircir ce serait sympa smile (enfin si t'en as envie)
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741