Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : tasm, couleurs 32bits ou 24bits? [ Archives / Autres asm ] (qbced)

lundi 22 mars 2004 à 20:09:52 | tasm, couleurs 32bits ou 24bits?

qbced


Lu all! J'me suis mit à la prog asm, la j'arrive à afficher une image en 800*600*32bits, mais mon prob c'est que la plage memoire pour un pixel est de 4octets et non trois comme un bmp 24bits(en resumé: pour afficher un pixel, faut donner le rgba et non rgb comme un gros bmp), ce qui fait que mon prog affiche pixel par pixel au lieu d'envoyer des gros bouts de memoires directement et sa fait beaucoup ramer au chargement(en back buffer comme en direct).(mon mode graphique je le passe grace à la fonction 115h) . Certains sites disent que le mode 800*600*32bits est composé de couleur rgb et non rgba mais bon meme si c'est le cas sa veut dire qu'il faut mettre un octet qui sert à rien pour afficher un pixel. J'aimerais donc savoir si y a un mode 800*600*24bits (ou 32 bits mais avec une plage de 3octets par pixels: ce qui est pas logique mais bon), enfin en tout cas un mode qui me permet d'afficher des pixels en 800*600 rgb, soit 3 octets par pixels et non rgba de 4 octets par pixel.merci d'avance(j'ai du mal à me faire comprendre)lol. si vous avez une fonction sinon pour passer en 24bits sans changer la resolution (en gardant 800*600*32bits) j'accepte aussi. merci

mardi 6 novembre 2007 à 08:23:14 | Re : tasm, couleurs 32bits ou 24bits?

epineurien

Salut qbced ,

Bon primo , petite correction : tu n'utilise pas la fonction 115h mais la fonction 4f02h , en lui passant 115h comme argument (au passage , c'est 118h pour le 1024*768 et 11bh pour le 1280*1024) .

Tu travail en mode VESA , donc peut importe que ce soit du 32 ou du 24 bits , c'est du RBG (jamais de RGBA) . Le quatrième octect est donc vide (note :la place de l'octet vide , et la position de chaque couleur dans le paquet de 3 ou 4 octets peut varier , pense à faire un test de vérification avec 4f01h pour obtenir les données exactes du mode) .

Pour ce qui est de passer en 24bits , c'est pas possible, car en générale , les cartes VESA supporte soit le 32bits , soit le 24bits , mais pas les deux . Donc si , quand tu lance le mode 115h , et que tu obtient un mode 32bits au lieu de 24 , ben va falloir faire avec (ou allors acheter une autre carte graphique mais bon...) .

Je ne suis d'ailleur pas sur de comprendre pourquoi tu as envie d'etre en 24bits , le 32bits permet d'accélérer les calculs , puisque 4(octet) étant un nombre pair , on a pas besoin de tester si chaque octect déborde ou pas du chunk (ce qu'on est obligé de faire si on écrit par paquet de 3octets ).
Si ton programme rame , ca doit être du à autre choses (je parie que tu change de chunk à chaque pixel).
Si ça rame vraiment , met le code de ta fonction , on vera ce qu'on peut faire .
Si t'as d'autre question sur le vesa , vas-y , c'est un sujet que je connais pas mal .

A+





Cette discussion est classé dans : afficher, pixel, mode, 32bits, 24bits


Répondre à ce message

Sujets en rapport avec ce message

Afficher sur la sortie TV [ par vesta ] Comment faire pour passer au mode TV en visual Basic???Est-ce que quelqu'un le sait? Parce que je souhaiterai faire un soft aui permettrais de changer Maitriser chaque petit pixel de l'écran [ par tntprog ] Bonjour, J'aimerais pouvoir afficher ou éteindre le moindre petit pixel de mon écran avec la couleur que je désir. Est-ce que quelqu'un sait comment Afficher un pixel [ par S2R ] Bonjour, je voudrait savoir comment afficher un pixel à l'écran sans passer par les interruptions, en mode vidéo 12h.j'ai trouvé une fonction, mais el Projet X-OS (un mini système d'exploitation 16/32bits) [ par aladdin ] je suis entrain de développer un mini OS en 16/32 bits (surtout 32bits)et j'aimerais avoir des idées des propositions, et de participation au developp Affichage texte (Debutant) [ par ffomnislash ] BonjourJe debute en assembleur et je voudrais pouvoir afficher du texte en boucle, ceci j'y arrive sans pb mais le texte se rajouteAutrement dit j'ai coprocesseur math flottant [ par psion2 ] voilà je dois afficher le resultat obtenu dans le coprocesseur math, j'ai lu plusieurs solutions dans le forum mais je ne les comprends pas totalement Afficher l'heure avec la memoire video [ par RootASM ] Bonjour,Je voudrais afficher l'heure grace à la mémoire vidéo car elle permet d'économiser une interuption.Quand je le lance sous afd, j'ai bien dans Theorie assembleur: mod réel, mode protégé, mode virtuel [ par tezca_system ] Une chose que je n'arrive pas a comprendre, et peut etre que vous pourrez m'eclairer c'est comment fonctionne le mode virtuel. A partir de windows NT4 Afficher une variable [ par Mick7 ] Salut, Si vous avez un bon tutorial asm je suis prenneur car ça fait un petit moment que je cherche et j'ai rien trouvé de vraiment complet. Bon voila PIC:Debug&programmation probleme [ par flagyg ] Bonjour,J'ai fait un programme sur un PIC 16F873Je l'ai développé en mode debugger avec mplab et l'interface ronde de microship.Il marche a merveille


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,218 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.