Page 2 sur 2
Publié : sam. 27/août/2005 19:52
par bombseb
mouais enfin chui en train de tester tout ca...
*Ptr\l=couleur
pourquoi tu passe par un pointeur ici ?
on pourrais utiliser un poke non ? ca serais plus lent avec un poke ?
Publié : sam. 27/août/2005 20:00
par Dr. Dri
poke c'est une fonction, donc utilisation de la pile donc code plus lent
Dri

Publié : sam. 27/août/2005 20:16
par bombseb
hum ok
j'ai encore une question :
La fonction Drawingbuffer () me renvoie 3584 ! comme ce fesse ?
ben oui je ne comprend pas, on est en 800*600*32bits
ca veut dire qu'une ligne fait 800 pixels * 4 (puisque 32bits) = 3200...
il y a un truc qui m'échappe là...
Publié : sam. 27/août/2005 20:40
par Dr. Dri
drawingbuffer renvoi une adresse, pas une taille
le temre buffer signifie tampon (memory buffer -> tampon mémoire =)
Dri

Publié : sam. 27/août/2005 21:22
par bombseb
heu non pardon je voulais parler de la fonction drawingbufferpitch ()
dans l'aide il ya marqué ca :
Retourne la longueur réelle d'une ligne du buffer courant, en octets
et je ne comprend pas pourquoi elle ne me renvoie pas 3200... (800 * 4)
Publié : dim. 28/août/2005 2:42
par Dr. Dri
une igne c'est "largeur" * 4 si le pixel est en 32bits
(voir le format des pixels)
Dri
Publié : dim. 28/août/2005 13:04
par bombseb
ben oui je m'en doute bien mais alors pourquoi la fonction DrawingbufferPitch () me renvoie 3584 et pas 3200 ???
Publié : dim. 28/août/2005 13:21
par comtois
En fait ça dépend du mode d'affichage , parfois le pitch correspond bien aux nombres de pixels * nombres octets par pixel.
Avec une résolution de 1024 pixels sur la largeur , le pitch correspond à ton calcul 1024 * 4 .
La différence que tu peux constater est , parait-il , pour garantir un alignement plus facile dans la mémoire.
Publié : dim. 28/août/2005 13:24
par bombseb
ah bon ?
c'est bizarre ca...
alors a quoi correspondent les octets de chaques pixels ?
R,V,B, Alpha ?
Publié : dim. 28/août/2005 13:32
par comtois
oui R,V,B et alpha .
Je ne suis pas sûr , mais je crois que les octets supplémentaires ne servent à rien .
Si tu as 3584 octets , en fait tu n'as besoin que des 3200 premiers , les autres ne servent qu'à garantir l'alignement en mémoire .
ne me demande pas pourquoi , je n'en sais rien, c'est l'explication que j'avais obtenu , j'en suis resté là

Publié : dim. 28/août/2005 13:44
par bombseb
ah bon... merci
bizarre quand même
Publié : dim. 28/août/2005 17:20
par Dr. Dri
Je savais pas ca ^^
Dri