:: PlayerAdvance.org ::  

Précédent   :: PlayerAdvance.org :: > :: Forums Hébergés :: > OldSchool Library > Aide au développement

Aide au développement Aide sur l'utilisation d'OSLib

Publicité

Réponse
 
Outils de la discussion Modes d'affichage
Vieux 11/06/2008, 12h40   #1
pjeff
Membre
 
Date d'inscription: 18/01/2008
Messages: 37
Par défaut oslGetImagePixel

une petite question j'ai un probleme avec oslGetImagePixel sur la version de OSLIB WINDOWS

pour la version psp cela fonctionne correctement aucun probleme mais des que je veux l'utiliser sur windows ca me cause un probleme quand je fait un debug sur le probleme je m'appercoi que aucune palette et presente quand l'image et charger (mais tout s'affiche correctement)
c'est juste que avec oslGetImagePixel on essaye d'acceder a la palette et donc ca plente car elel existe pas


quelqu'un a t'il deja utiliser cette fonction sur OSLIB PC ????

je rappel ce meme code marche parfaitement sur psp avec les meme image...


oslib peut etre non compatible pour certainne chose ??


c'est pour faire un systeme de collision en Perfect Pixel pour l'implementer dans un jeux (sonic) car le sol et pas droit , il y a des pente ..
pjeff est déconnecté   Réponse avec citation

Publicité

Vieux 12/06/2008, 19h31   #2
Tristyl
Membre
 
Date d'inscription: 03/09/2007
Messages: 7
Par défaut

Salut Pjeff.

Ta question tombe bien car j'ai le même soucis, je dois faire de l'anti-aliasing sur des lignes, et pour adapter une fonction (wu-line), je dois récupérer la couleur de certain pixel sur le buffer principal. Donc, vu que je n'ai pas trouvé de fonction pour cela, j'ai tenté cela :

Code:
oslConvertColor(OSL_PF_8888, oslGetDrawBuffer()->pixelFormat, oslGetImagePixel(oslGetDrawBuffer(), x, y))
Et même soucis sur pc, sur psp cela marche mais pas tout à fait comme ça devrait (lague important, le fond clignote...bizarre), il faut que je regarde si cela viens de l'algorithme ou autre.

Autrement, je profite du topic pour aussi demander si il n'y a pas un autre moyen plus simple (ou plutôt plus performant, si les lagues sont provoqués par cela) pour récupérer la couleur d'un pixel venant de l'écran, autrement je regarderai comment est organisé osl_curBuf->data[ ].

Edit : "oslGetImagePixel(oslGetDrawBuffer(), x, y)" suffisait du coup, je n'avais pas testé sur la psp.. mais les lagues sont toujours aussi important, donc ma question va plutot pencher sur : y a t-il un moyen efficace de faire de l'anti aliasing sur des lignes ? (je continue mes recherches tout de même).

Dernière modification par Tristyl ; 12/06/2008 à 19h54.
Tristyl est déconnecté   Réponse avec citation
Vieux 12/06/2008, 20h07   #3
pjeff
Membre
 
Date d'inscription: 18/01/2008
Messages: 37
Par défaut

j'ai essayer de regarder ce qu'il ce passe sur le code san succes, je vais essayer de continuer a macharner ,je trouverai peut etre une solution, je l'espaire bien

quand tu debug et en fait tu a le meme probleme c'est simplement le fait que la palette de l'image et vide c'est etrange quoi que en fait su pc ca passe par l'opengl donc faudrai peut etre ce pencher sur ce point la essayer de completer la lib pour que ca ne cause pas de probleme en opengl , la facon de gerer certainne chose et un peut differente, c'est pour ca que parfois sur certainne chose il y a des probleme de compatibiliter

mais c'est chiant sant la possibiliter de recuperer la valeur d'un pixel en version PC le sonic et tres compromit (et je ne veux pas developper directement pour la psp ca ferait trop de test et des probleme pour le debug), il faut un systeme de collition assez precit .... et la je cale depuis 3 jours pour rien, alors que j'aurais deja bien bien avencer.

Dernière modification par pjeff ; 12/06/2008 à 20h15.
pjeff est déconnecté   Réponse avec citation
Vieux 12/06/2008, 21h02   #4
Nesgba
Membre confirmé
 
Date d'inscription: 10/11/2005
Messages: 830
Par défaut

Citation:
Envoyé par pjeff Voir le message
c'est pour faire un systeme de collision en Perfect Pixel pour l'implementer dans un jeux (sonic) car le sol et pas droit , il y a des pente ..

généralement pour l'algo de détection de collisions par pixel-perfect on adjoint un tableau de collision qui stocke les pixels en 1bpp sans s'appuyer sur le motif lui-même.
on peut faire autrement, mais du coup ça devient un algo tueur de cpu

Citation:
Envoyé par Tristyl Voir le message
y a t-il un moyen efficace de faire de l'anti aliasing sur des lignes ? (je continue mes recherches tout de même).
bien souvent les GPU3D savent afficher les polygones en mode filaire (avec l'aliasing + une interpolation de la couleur entre les sommets et parfois même une interpolation de l'alphablend) ça irra certainement plus vite que la technique de wu qui est déja une technique de programmation graphique très optimisé (surtout grâce à l'utilisation des fixed).

ça t'évitera pour chaque pixel:
- lecture 2 pixel de la destination
- interpolation linéaire sur les 3 canaux rgb entre source et destination (6 mul)
- écriture 2 pixels sur la destination

sans parler du clipping, calcul des delta xy...

Nesgba est déconnecté   Réponse avec citation
Vieux 12/06/2008, 22h27   #5
Arcadia
Modérateur saisonnier
 
Date d'inscription: 17/02/2006
Localisation: Compiègne
Messages: 2 942
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut

NESGBA est un demi-acronyme récursif, dont la significations est : NESGBA Est Super Gavant en Balançant ses Algorithmes !

Rien de bien méchant ainsi Nes, c'est pour rire. Mais c'est vrai que tu parles un drôle de langage ...
__________________
.

Mes homebrews GBA : 1942 - Ghost'n Goblins




Mes autres passions, les flippers : Restauration d'un High Speed (Williams - 1985)

Dernière modification par Arcadia ; 12/06/2008 à 22h46.
Arcadia est déconnecté   Réponse avec citation
Vieux 12/06/2008, 23h23   #6
Cobain
Membre confirmé
 
Date d'inscription: 24/05/2007
Localisation: devant mon pc
Messages: 2 027
Par défaut

c'est du binnaire son language et quand il veux se faire comprendre c'est de l'exadecimal
Cobain est déconnecté   Réponse avec citation
Vieux 12/06/2008, 23h25   #7
Arcadia
Modérateur saisonnier
 
Date d'inscription: 17/02/2006
Localisation: Compiègne
Messages: 2 942
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut

Je l'ai connu à une époque où son langage avait plus d'HAM ...


Comprendront qui pourront ...
__________________
.

Mes homebrews GBA : 1942 - Ghost'n Goblins




Mes autres passions, les flippers : Restauration d'un High Speed (Williams - 1985)
Arcadia est déconnecté   Réponse avec citation
Vieux 13/06/2008, 00h14   #8
Cobain
Membre confirmé
 
Date d'inscription: 24/05/2007
Localisation: devant mon pc
Messages: 2 027
Par défaut

mdr bien trouvé celle là (en plus il a un rapport avec son pseudo)
Cobain est déconnecté   Réponse avec citation
Vieux 13/06/2008, 01h04   #9
Nesgba
Membre confirmé
 
Date d'inscription: 10/11/2005
Messages: 830
Par défaut

implémenter un algo pixel-perfect et wu-line n'est pas donné à tout le monde, c'est du bon algo bien software utilisant l'interpolation des canaux rgb, fixed point, beaucoup d'algèbre de boole, c'est d'un niveau très correct... (ça change un peu des habituels topics qui débâtent de la manière d'utiliser PA_litMoiCePixelMaisSurtoutRenvoieMoi0SiIlEstHorsE cran())

bref, j'ai extrapolé dans le sens ou s'ils ont pu implémenter ces algos, alors un argumentaire de cette sorte sera largement compris, mais sache que moi aussi a une époque (quand j'étais un utilisateur de lib incompétent) ce genre d'argumentaire me semblait opaque, mais chaque fois je me suis forcé de chercher et comprendre. et preuve que ça a marché puisque maintenant je suis libre d'adapter mon niveau comme bon me semble, donc sur ce topic j'ai adapté mon discours au niveau du débat, c'est ce qui est important

je me souviens d'une fois ou un certain archilolo m'avais fait le même reproche que toi, je m'étais demandé comment un gars qui n'y comprend absolument rien programmation de jeu (ce n'est pas qu'une pique pour l'ami archi, je le dis de manière un peu sèche pour que le sens de mon propos soit cette fois-ci bien mis en évidence par tous ) peut s'estimer être en mesure d'évaluer la compréhension d'une prose dans un domaine qu'il ne connais pas, il applique son propre filtre, mais ne tiens pas compte des gens plus compétant que lui sur ce domaine ? ça n'a pas de logique, c'est même prétentieux.

je reconnais volontiers que mes interventions ne sont pas forcement "tout public", c'est un topic créé par un codeur pour des codeurs qui possèdent un certain nombre de pré-requis dans certains domaines.

moi aussi parfois lorsque je lis des topics qui parlent de linker, downgrade... je n'y comprends rien de rien , mais si un jour ce sujet m'intéresse et si je ne comprends pas un post je ne pourrais m'en prendre qu'à mon manque de compétence dans le domaine.


ps: heben quesque je tape vite, je ne me suis même pas rendu compte que j'avais écrit tout ça

ps2: j'adore tes jeux de mots sur les différants topics ou tu est dernierement intervenu !!
Nesgba est déconnecté   Réponse avec citation
Vieux 13/06/2008, 06h34   #10
Yodajr
Administrateur
 
Date d'inscription: 09/11/2005
Messages: 3 750
Par défaut

Citation:
Envoyé par pjeff Voir le message
et je ne veux pas developper directement pour la psp ca ferait trop de test et des probleme pour le debug
Bah avec PSPlink tu peux tester directement sur ta PSP et même débugguer (la PSP servant d'émulateur "physique")
J'ai fait un tuto quelque part (plus trop à jour je suppose)
Yodajr est déconnecté   Réponse avec citation
Vieux 13/06/2008, 07h27   #11
pjeff
Membre
 
Date d'inscription: 18/01/2008
Messages: 37
Par défaut

merci Yodajr pour l'information je ne le savait meme pas

disont que je ne m'y suis jamais interesser

en fait la plupart d utemps ou je code je suis a mon bouleau sur mon PC a distance donc ca exclu l'utilisation de la PSP

mais c'est pas grave je vais pencer sois a une autre alternative ou je modifirer l'oslib version PC et mon probleme sera regler

quand j'aurai trouver la solution je la ferait partager

merci pour votre aide a tous, on ce sent moin seul
pjeff est déconnecté   Réponse avec citation
Réponse

Liens sociaux

Publicité



Utilisateurs regardant la discussion actuelle : 1 (0 membre(s) et 1 invité(s))
 
Outils de la discussion
Modes d'affichage

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 05h08.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Tous droits réservés.
Version française #16 par l'association vBulletin francophone
Design par Ass-Itch, DJP et Dr.Vince